【发布时间】:2017-03-19 15:34:16
【问题描述】:
根据W3C XML Recommendation,start tag-names 有如下定义:
STag ::= '<' Name (S Attribute)* S? '>'
..Name 是:
Name ::= NameStartChar (NameChar)*
NameStartChar ::= ":" | [A-Z] | ...
..(n.b.,表示冒号可以作为第一个字符出现)表明以下是有效的 XML 文档:
<?xml version="1.0" ?><:doc></:doc>
..但是我尝试使用的任何解析器都将冒号显示为格式错误。
此外,在附录 B 下(尽管现在是文件中已贬值的部分),它明确指出:
Characters ':' and '_' are allowed as name-start characters.
..和:
<?xml version="1.0" ?><_doc></_doc>
..被我尝试过的 XML 解析器所接受。
那么,冒号是标签名中有效的第一个字符吗,我使用的解析器是错误的,还是我阅读的规范有误?
【问题讨论】:
标签: xml specifications colon well-formed