我可以在没有明确提供 XSL 文件的情况下进行 XSL 转换吗?
我正在使用 Transformer 执行从 XML 到 XHTML 的 XSL 转换:
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
// ...
Transformer transformer = TransformerFactory.newInstance()
.newTransformer(/* xsl */);
transformer.transform(new StreamSource(xml), new StreamResult(xhtml));
在此代码中,我应该显式提供 XSL 文件。在我的情况下,我不知道应该使用哪个文件。相反,我希望转换器从原始 XML 中的 处理指令中获取此信息。可以用JDK6和Saxon来做吗?
I am using Transformer to perform XSL transformation from XML to XHTML:
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
// ...
Transformer transformer = TransformerFactory.newInstance()
.newTransformer(/* xsl */);
transformer.transform(new StreamSource(xml), new StreamResult(xhtml));
In this code I should explicitly provide XSL file. In my situation I don't know which file should be used. Instead, I want the transformer to get this information from <?xsl-stylesheet?>
processing instruction in the original XML. Is it possible to do with JDK6 and Saxon?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Xalan 可以做到这一点,请检查此。
可能是 Saxon 以及它是
javax.xml.transform.TransformerFactory
的方法:getAssociatedStylesheet
Xalan can do that, check this.
Probably Saxon as well as it is method of
javax.xml.transform.TransformerFactory
:getAssociatedStylesheet
感谢 @JustYo 建议,我发现它在 Saxon 下运行良好。
Thanks to
@JustYo
suggestion I found it's working well under Saxon.