使用 – 在XML元素名称

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

例如

<rank-type>Rank</rank-type>
正如Vinko和黑客所说,答案是

是的,名称中允许使用破折号,无论是元素名称还是属性名称.然而,破折号不能是名字中的第一个字符.

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中被广泛使用.

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念