我有一个源XML文件,其中包含回车符和其他特殊字符编码到文件中的文本块;例如:
<?xml version='1.0' encoding='utf-8' ?>
<library>
<book>
<phrase>"This isn't a big deal."</phrase>
</book>
</library>
通过Saxon对该文件运行一个简单的身份转换会导致XML中有效的字符被放回到他们的&#34;真实&#34;形式:
<?xml version='1.0' encoding='utf-8' ?>
<library>
<book>
<phrase>"This isn't
a
big deal."</phrase>
</book>
</library>
这是有效的XML,但下游工具希望
位于发送给他们的文本中。有没有办法标记/配置Saxon(或XSL转换本身)以保留单独的安全/有效转义序列?
答案 0 :(得分:1)
Saxon使用XML解析器将输入XML解析为节点树,其中字符数据是包含Unicode字符的文本节点的一部分,因此它不知道也无法区分输入是否具有'
或'
或数字字符引用,XML解析器只是将其解析为字符。
LexEv by Andrew Welch可能有助于预处理XML,以便将实体或字符引用转换为标记,然后可以将其转换回所需的词法格式。