也许这个问题已经得到解答,但我花了很多时间试图找到它...... 在我的应用程序中,我存储了一系列XML文本值,每个值都需要由多个“特殊字符”(例如NULL)终止,因此具有此序列我可以检索所有文本。 因此,我正在寻找不能在XML文档文本值中使用的字符集。 http://www.w3.org/TR/xml/#NT-Char似乎令人困惑:“鼓励文档作者避免使用[Unicode]第2.3节中定义的”兼容性字符“。也不鼓励在以下范围内定义的字符......” 有什么建议吗?
答案 0 :(得分:0)
正如它所说:可容忍兼容性字符,但XML强烈建议您避免使用它们。 XML 1.0中明确禁止使用其他字符,特别是包括null。
有关原因的解释,我 高度 建议查看The Annotated XML 1.0 Recommendation,其中提供了有关XML建议书的主要内容和意图的详细说明作者。
XML 1.1更改了规则并明确允许1.0中明确禁止的某些字符。遗憾的是,没有人投入资金来创建XML 1.1 REC的Annotated版本...而且并非所有软件都支持XML 1.1,所以除非你有其他理由,否则我建议坚持使用XML 1.0以获得最大的兼容性。 (我相信,在XML 1.1中仍然禁止使用NULL,因此在您的情况下无效。)
查找应用程序在读取XML后可以翻译的另一种NULL表示,或者(更好)另一种分隔值的方法,这种方式更符合XML的设计。