xml - 在 XML 元素名称中使用 -

标签 xml

可以在 XML 元素名称中使用 连字符 - 吗?

例如

<rank-type>Rank</rank-type>

最佳答案

正如 Vinko 和 hacker 所言,答案是

是的,名称中允许使用破折号,无论是元素名称还是属性名称。但是,破折号不能成为名称中的第一个字符

W3C standard定义名称如下(第 2.3 节)

NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]
NameChar  ::=   NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
Name  ::= NameStartChar (NameChar)*

忽略各种扩展的 ASCII 字符和双字节字符(在语法定义中以 # 符号开头),名称需要以大写或小写字母 (A-Z)、冒号 (:) 或下划线开头.此起始字符之后的字符(如果有),即如果名称不是单个字符,则可以是任何有效的起始字符和/或任何数字 (0-9)、著名的破折号 (-) 和点(.)

正如其他回复中所指出的,在可能的情况下,建议避免使用某些字符,即使它们可能是合法的,以免我们冒着在各种解析器和互操作层中遇到一些特定于实现的困难的风险。

W3C 本身已经隐含地证明了破折号的使用,因为破折号在 XSL 中被广泛使用。

关于xml - 在 XML 元素名称中使用 -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1478486/

相关文章:

python - Xpath for ElementTree 引用 XML 和命名空间用于英国法规元数据

XML + 模式 + 命名空间。没有可用于验证根的匹配全局声明

android - 我的 Xml 设计不适用于所有 Android 设备?

java - 如何以方形对齐单选组项目

xml - Oracle Xml 生成节点 null

python - 我的 pos_tag 遍历每个字母,我需要它应用于整个单词

xml - 带外部文件的 dart xml

java - hibernate 5.2.10 : Unable to perform unmarshalling

java - 如何缓存 Apache CXF 为特定 Java 对象生成的编码 SOAP XML 以提高性能?

sql - SQl server 2005 中的 XML 列比较