JPe*_*ita 3 xml encode entities
如果我使用数字实体而不是通常推荐的alpha实体用于XML中的保留字符,会有什么"破坏"吗?
这是一个相当复杂的应用程序的一部分,允许用户通过XML,CSV或基于Web的表单输入书目元数据.然后可以使用用户选择的编码以XML(使用ONIX标准)提取此数据:utf-8,win-1252等.
原来的程序员(现在已经很久......)决定对所有不能用所选编码表示的字符使用数字实体.XML保留的字符在任何编码下都被视为不可表示.它们被给予相同的处理并使用数字实体进行编码.
一些用户抱怨&,<,>等被编码为&等,而不是使用通常的alpha代码,我想知道这些投诉是否有任何实质内容.
如果我可以避免挖掘遗留代码来改变这种行为,那么它将为我节省大量资源.
是的,可以使用数字字符引用进行转义.
从规范(强调我的):
&符号(&)和左尖括号(<)不得以其文字形式出现,除非用作标记分隔符,或用于注释,处理指令或CDATA部分.如果在其他地方需要它们,则必须分别使用数字字符引用或字符串"
&"和"<" 来转义它们.右尖括号(>)可以使用字符串">" 来表示,并且为了兼容性,>当它出现]]>在内容中的字符串" "中时,必须使用" "或字符引用进行转义,当该字符串未标记时CDATA部分的结尾.
您还可以使用十六进制实体引用...
&= &=&
<= <=<
>= >=>
| 归档时间: |
|
| 查看次数: |
4505 次 |
| 最近记录: |