<?xml version="1.0" ?>
<accounts>
<1167/>
<1328/>
<1505/>
<1536 default="true" />
<1966/>
</accounts>
当我在http://www.w3schools.com/XML/xml_validator.asp传递上述XML时,我收到一条错误,指出&lt; 1167 /&gt;行了是无效的。我查看了元素的w3描述,并没有看到为什么它应该是错误的任何原因。我确定这是一个简单的错误,所以会感激任何帮助。
由于
答案 0 :(得分:9)
元素的名称必须为not start with a digit¹。
此外,元素的名称应描述所表示实体的“类”或“类型”,并且是静态的。我可以建议:
<accounts>
<account number="1167"/>
<account number="1328"/>
<account number="1505"/>
<account number="1536" default="true" />
<account number="1966"/>
</accounts>
¹出于某种原因,这里的许多答案都链接到w3schools(不隶属于W3C)。相反,您应该只信任XML standard。
答案 1 :(得分:6)
取自http://www.w3schools.com/xml/xml_elements.asp
XML命名规则
XML元素必须遵循以下命名规则:
名称不能以数字或标点符号开头
或(更具权威性)http://www.w3.org/TR/xml/
名称起始字符必须具有类别Ll,Lu,Lo,Lt,Nl之一。
以L
开头的类别是Unicode中的各种“字母”类别,Nl
是看起来像字母的数字,例如罗马数字(Ⅰ,Ⅱ,Ⅲ,Ⅳ, ⅴ...)。
答案 2 :(得分:2)
因为它以数字开头而且不允许。请参阅here。
XML命名规则
XML元素必须遵循以下命名规则:
- 名称可以包含字母,数字和其他字符
- 名称不能以数字或标点符号开头
- 名称不能以字母xml(或XML,或Xml等)
开头- 名称不能包含空格
- 可以使用任何名称,不保留任何字词。
答案 3 :(得分:1)
XML元素名称不能以数字开头。例如,请参阅here。