1

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

此过程的输出应包含控制字符“0B”。据我所知,XML 不嵌入控制字符,那么我该如何实现呢?

4

3 回答 3

2

结果是否意味着是一个 XML 文件?正如您所说,XML 不允许字符 U+000B。因此,根据定义,任何包含该字符的文件都不是有效的 XML 文件。这里的大局是什么?为什么需要这个角色?您可以使用哪些替代方案?

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

于 2009-09-11T09:08:07.813 回答
0

在添加到 XML 文档之前,您还可以将包含 0x0B 的有效负载编码为Base64 。

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

于 2009-09-11T09:11:09.380 回答
0

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

你能把你的角色放在 CDATA 部分吗?XSLT 具有用于创建 CDATA 节 (<xsl:cdata>) 的构造。在内部,您可以使用 XML 实体引用 <xsl:entity-ref/> 对字符进行编码。

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

于 2009-09-11T09:55:14.047 回答