私はlxml
XML/XSL ドキュメントを処理するために Python で使用し始めていますが、一般的には非常に簡単です。ただし、翻訳時に 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
ますか?