可以在 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/