按照W3C XML Recommendation,啓動標籤名稱的定義:冒號是XML標記名稱中的合法第一個字符嗎?
STag ::= '<' Name (S Attribute)* S? '>'
..where Name
是:
Name ::= NameStartChar (NameChar)*
NameStartChar ::= ":" | [A-Z] | ...
..(NB,指出一個冒號可以出現的第一個字符)暗示以下是一個有效的XML文檔:
<?xml version="1.0" ?><:doc></:doc>
..但任何解析器我嘗試這在顯示冒號作爲格式錯誤河
而且,按照附錄B(儘管文件現在折舊部分),它明確規定:
Characters ':' and '_' are allowed as name-start characters.
..和:
<?xml version="1.0" ?><_doc></_doc>
..是由XML解析器接受我已經嘗試過了。
因此,冒號是標籤名中的有效第一個字符,而且我使用的解析器是錯誤的,或者我讀的規範是錯誤的?