我可以通过XSLT在XML中输入控制字符吗?

我可以通过XSLT在XML中输入控制字符吗?,xml,xslt,control-characters,Xml,Xslt,Control Characters,我有以下问题:我有一个XML和一个XSLT文件来处理它并生成输出 此进程的输出应包含控制字符“0B”。据我所知,XML不嵌入控制字符,那么我如何才能做到这一点呢?结果是XML文件吗?正如您所说,XML不允许字符U+000B。因此,根据定义,任何包含该字符的文件都不是有效的XML文件。这里的大局是什么?你为什么需要那个角色?您可能有哪些选择 如果您试图创建一个文本文件作为XSLT转换的结果,那是另一回事。在添加到XML文档之前,您还可以对包含0x0B的有效负载进行编码 这将依赖于输出转换的使用者能

我有以下问题:我有一个XML和一个XSLT文件来处理它并生成输出


此进程的输出应包含控制字符“0B”。据我所知,XML不嵌入控制字符,那么我如何才能做到这一点呢?

结果是XML文件吗?正如您所说,XML不允许字符U+000B。因此,根据定义,任何包含该字符的文件都不是有效的XML文件。这里的大局是什么?你为什么需要那个角色?您可能有哪些选择


如果您试图创建一个文本文件作为XSLT转换的结果,那是另一回事。

在添加到XML文档之前,您还可以对包含0x0B的有效负载进行编码


这将依赖于输出转换的使用者能够将Base64转换回原始编码。

如果相关XML格式支持此类字符,我希望它们驻留在支持CDATA的某个元素中

您可以将您的字符放在CDATA区域中吗?XSLT有一个用于创建CDATA节()的构造。在内部,您可以使用XML实体引用对字符进行编码


读取XML文件的解析器应该能够将这些EntityRef转换为适当的字符。

我需要将其转换为XML文档,然后将此文档转换为Java对象(通过网络发送的jPOS IsomeMessage对象)。XML文件的一个值应为U+000B,有可能吗?没有某种转义是不行的。你可以选择另一个“特殊”(但受支持)字符,在其他地方不使用,然后在这两个字符之间进行适当的切换。非常可怕,但它会起作用。你的意思是,在XSLT中,我将生成的XML的值设置为特定支持的字符,而不是U+000B,然后当转到使用此XML文件的代码时,我将此字符的值更改回U+0000B?生成的XML文档将其值作为XSL文件中的硬编码