我需要在某些XML属性而不是文本中保存包含换行符的内容。应该选择该方法,以便我能够在XSLT 1.0 / ESXLT / XSLT 2.0中对其进行解码最好的编码方法是什么?请提出/提出一些想法。
3 回答
潇湘沐
TA贡献1816条经验 获得超6个赞
在兼容的DOM API中,您无需执行任何操作。只需将实际的换行符保存到属性中,API就会自行对其进行正确编码(请参见Canonical XML规范,第5.2节)。
如果您进行自己的编码(即在保存属性值之前替换\n为 ),则API将再次对您的输入进行编码,从而生成
XML文件。
底线是,字符串值按原样保存。您可以摆脱自己的投入,无需干预。
但是 ……某些实现不符合要求。例如,它们将&在属性值中编码字符,而忽略换行符或制表符。这使您处于失败的位置,因为您不能简单地 预先用换行符替换。
这些实现将保存未编码的换行符,如下所示:
<xml attribute="line 1
line 2" />
解析此类文档后,属性中的文字换行符将被规范化为一个空格(同样,按照规范),因此它们将丢失。
在这些实现中,无法在属性中保存(并保留!)换行符。
呼如林
TA贡献1798条经验 获得超3个赞
您可以使用该实体 在XML属性中表示换行符。 可用于表示回车。Windows样式的CRLF可以表示为 。
这是合法的XML语法。有关更多详细信息,请参见XML规范。
- 3 回答
- 0 关注
- 1419 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消