在XML Capitalization中遇到一些问题。我需要使用XSLT文件生成以下xml命名空间:
<?xml version="1.0" encoding="ISO-8859-1" ?>
但是,在我的XSLT引擎处理之后,声明会将ISO的大小写更改为iso。
<?xml version="1.0" encoding="iso-8859-1" ?>
我的问题是:
1). Is/Are there any significant difference between these two declarations?
2). Is is possible to retain the capitalization of ISO?
提前致谢:)
答案 0 :(得分:2)
作为1)的一部分,你的问题已经被Tangelo评论中提到的问题所回答,我将只讨论第2部分。
您应该能够使用该元素通过'encoding'属性控制编码。属性的值应完全按照您在样式表中指定的情况发出。
示例:
<xsl:output method="xml" version="1.0" encoding="ISO-8859-1" />
但是,尽管如此,请注意XSLT 1.0规范的摘录......
- encoding:指定XSLT的首选字符编码 处理器应该用来编码字符序列作为序列 字节;应该处理属性的值 不区分大小写;该值必须仅包含字符中的字符 范围#x21到#x7E(即可打印的ASCII字符);价值应该 要么是在Internet Assigned Numbers上注册的字符集 授权[IANA],[RFC2278]或以X开头 -
这意味着没有绝对保证的方法来控制所有XSLT处理器中的情况,所以现在问题归结为什么是您的XSLT处理器?答案将取决于供应商。