gpt4 book ai didi

java - 从 XSLT 中排除处理指令

转载 作者:行者123 更新时间:2023-12-02 04:56:34 27 4
gpt4 key购买 nike

我有一个简单的纯文本生成 XSLT,我像这样应用它(使用引用实现):

    StreamSource schemasource = new StreamSource(getClass().getResourceAsStream("source.xml"));
StreamSource stylesource = new StreamSource(getClass().getResourceAsStream("transform.xslt"));
Transformer transformer = TransformerFactory.newInstance().newTransformer(stylesource);

StringWriter writer = new StringWriter();
transformer.transform(schemasource, new StreamResult(domWriter));
System.out.println("XML after transform:");
System.out.println(writer.toString());

“转换”调用始终在输出中插入处理指令。有什么办法可以配置它不这样做吗?

(例如,对于一个非常简单的节点身份转换

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:template match="*">
<xsl:copy/>
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>

应用于时

<hello/>

我明白了

<?xml version="1.0" encoding="UTF-8"?>
<hello/>

)

非常感谢,安迪

最佳答案

严格来说<?xml声明不是处理指令。但是,您应该能够使用 xsl:output此处的命令指定不应输出 xml 声明:

<xsl:output method="xml" omit-xml-declaration="yes"  indent="yes" />

这应该被放置为 xsl:stylesheet 的直接子级元素。

关于java - 从 XSLT 中排除处理指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28714597/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com