我是jaxp的新手,并不知道使用上面的静态字段及其含义是什么?
需要解释和示例。
提前致谢
答案 0 :(得分:1)
(免责声明 - 我维护JDOM XML库) - 这些PI(ProcessingInstructions)旨在向XML 输出程序表明它们应该打破与XML标准的兼容性,并生成无效的XML。
在某些条件下,这可能很有用。
以下是JDOM test harness中的测试用例。它基本上有输入(我已经添加了一些whitepsace以使其更容易看到):
<root>
&
<?javax.xml.transform.disable-output-escaping ?>
&&
<?javax.xml.transform.enable-output-escaping ?>
&
</root>
在上面的示例中,我们有有效的 XML。如果您要通过识别处理指令的系统处理此数据,则应输出(类似)
<root>
&
&&
&
</root>
请注意,这不再是有效的XML .....&amp; PI之间的字符未正确转义。
从JDOM的角度来看,这是记录在案here in the javadoc
这些指令通常用于XML转换,以产生“非常漂亮”的输出,而不是由机器消耗,而是由人们消耗。请谨慎使用。
希望能给你一些洞察力......一切顺利。
答案 1 :(得分:0)
XSLT有一个名为“禁用输出转义”的功能,它告诉序列化器将<a>
输出为<a>
,而通常会输出<a>
。这是一个最好避免的黑客,出于多种原因,其中之一是它需要一个特殊的旁通道,以便转换引擎与串行器通信(因此变压器可以告诉串行器打开和关闭doe)。
在JAXP中,为了允许一个供应商的转换引擎与另一个供应商的串行器进行通信,传递这些doe-on和doe-off请求的协议就是这对处理指令。
您不需要此功能,您可以放心地忽略它的存在。永远不要试图想象只是因为某个功能存在,如果你从未使用它,你必须丢失一些东西。