使用一个 XsltTransformer 对象生成一个文档和 return 一个标量?
Produce a document and return a scalar with one XsltTransformer object?
我有一种方法可以将 XML 文档转换为 HTML 文档。
Processor saxProc = ...
XsltTransformer trans = ...
XdmNode source = saxProc.newDocumentBuilder().build(new StreamSource(xmlFile));
trans.setInitialContextNode(source);
Serializer out = saxProc.newSerializer(htmlFile);
out.setOutputProperty(Serializer.Property.METHOD, "html");
trans.setDestination(out);
trans.transform();
我现在需要此方法来提供一个新的 class 成员,其标量值是在同一源 XML 文件上执行的 XPATH 表达式的结果。
也许最好的办法是创建一个额外的 XsltTransformer 到 return 标量值?
但是在阅读了 setDestination
和 Destination 的文档后,我想知道,我是否应该研究定义一个可以在现有转换期间接收标量值的附加目的地的可能性?
如果您想对输入文档使用 XPath,请在您的处理器上使用 http://saxonica.com/html/documentation/javadoc/net/sf/saxon/s9api/XPathSelector.html by calling http://saxonica.com/html/documentation/javadoc/net/sf/saxon/s9api/Processor.html#newXPathCompiler--, http://saxonica.com/html/documentation/javadoc/net/sf/saxon/s9api/XPathCompiler.html#compile-java.lang.String-, http://saxonica.com/html/documentation/javadoc/net/sf/saxon/s9api/XPathExecutable.html#load--。
我有一种方法可以将 XML 文档转换为 HTML 文档。
Processor saxProc = ...
XsltTransformer trans = ...
XdmNode source = saxProc.newDocumentBuilder().build(new StreamSource(xmlFile));
trans.setInitialContextNode(source);
Serializer out = saxProc.newSerializer(htmlFile);
out.setOutputProperty(Serializer.Property.METHOD, "html");
trans.setDestination(out);
trans.transform();
我现在需要此方法来提供一个新的 class 成员,其标量值是在同一源 XML 文件上执行的 XPATH 表达式的结果。
也许最好的办法是创建一个额外的 XsltTransformer 到 return 标量值?
但是在阅读了 setDestination
和 Destination 的文档后,我想知道,我是否应该研究定义一个可以在现有转换期间接收标量值的附加目的地的可能性?
如果您想对输入文档使用 XPath,请在您的处理器上使用 http://saxonica.com/html/documentation/javadoc/net/sf/saxon/s9api/XPathSelector.html by calling http://saxonica.com/html/documentation/javadoc/net/sf/saxon/s9api/Processor.html#newXPathCompiler--, http://saxonica.com/html/documentation/javadoc/net/sf/saxon/s9api/XPathCompiler.html#compile-java.lang.String-, http://saxonica.com/html/documentation/javadoc/net/sf/saxon/s9api/XPathExecutable.html#load--。