XML/XSL 문서를 처리하기 위해 Python에서 lxml
을 사용하기 시작했습니다. 일반적으로 매우 직설적 인 것처럼 보입니다. 그러나 번역을 할 때 XML 조각을 스타일 시트 매개 변수로 전달하는 방법을 찾을 수 없습니다.lxml을 사용하여 XML 조각을 스타일 시트 매개 변수로 전달 하시겠습니까?
예를 들어, PHP에서 하나는 스타일 시트에서 사용할 수있는 복합 PARAMS을 가질 수 있도록, 스타일 파라미터로서 DOMDocument
XML 단편을 전달하는 것이 가능하다 :
$xml = new DOMDocument();
$xml->loadXML('<root><node/></root>');
$xsl = new DOMDocument();
$xsl->loadXML('<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" omit-xml-declaration="yes"
indent="yes" media-type="text/html" />
<xsl:param name="a" />
<xsl:template match="/">
<html>
<body>
<xsl:value-of select="$a/foo/bar/text()" />
</body>
</html>
</xsl:template>
</xsl:stylesheet>');
$fragment = new DOMDocument();
$fragment->loadXML('<foo><bar>baz</bar></foo>');
$proc = new XSLTProcessor;
$proc->registerPHPFunctions();
$proc->importStyleSheet($xsl);
$param_ns = '';
$param_name = 'a';
$proc->setParameter($param_ns, $param_name, $fragment->documentElement);
될 것이다 어느 :
<html>
<body>
baz
</body>
</html>
lxml
을 사용하면 어떻게합니까?
고마워. 게시물을 편집하고 사용자 정의 해결 프로그램을 사용하여 페이지 링크를 변경할 수 있습니까? 게시 후에 커스텀 xpath 함수를 알아 차리고 같은 결론을 얻었지만'document()'메소드가 더 유용 할 수 있습니다. –
@Steven의 포인트가 너무 많아서 여러 링크를 게시 할 수 없었기 때문에이 답변은 특별합니다. 그는 지금 약 12k 점이 있습니다. 긴 길. – mlissner
@mlissner : 나에게 상기시켜 줘서 고마워 ;-), 나는 링크를 고쳤다. – Steven