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