我开始lxml
在 Python 中使用来处理 XML/XSL 文档,而且总的来说它看起来非常简单。但是,在进行翻译时,我找不到将 XML 片段作为样式表参数传递的方法。
例如,在 PHP 中,可以将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
?