XML属性是否有效?

时间:2016-02-16 05:33:00

标签: xml

我有这样的标签。在属性中,它在开头包含空格。在属性中给空间是否正确?请提出建议。

<p id=" 10">space found at the starting point of attribute.</p>
<p id="10 ">space found at the end point of attribute.</p>

2 个答案:

答案 0 :(得分:1)

一般情况下有效,但可能不具体。

对于允许作为值的内容,没有太多规则。如果没有基于文档类型的任何特定限制,则属性值必须与xml规范的Character Data and Markup部分中的有效字符数据的描述相匹配。基本上这表示不允许使用字符&amp; &lt; (但可以使用&amp;&lt;进行转义。某些处理器也可能会忽略&gt; 字符,但这是允许的(除非它出现在]]>中,在这种情况下必须使用&gt;进行转义)。允许任何其他数据(在某些引用混合的情况下需要一些转义)。

现在,根据应用程序的不同,可能会对属性值进行进一步限制。例如,ID type必须与Name制作的规范相匹配。这些必须以字母(或少量标点字符之一)开头,并继续使用数字,字母或标点字符。在这种情况下,空格将 NOT 被允许。

规范中还有其他可能的限制(根据应用程序可能适用),各种模式可能会施加进一步的限制。

Kai Wu Toh的评论提供了another question的链接,其中涵盖了HTML提供的其他限制。

答案中提供了与规范的链接,但是如果链接停止工作,可以更容易地找到相关部分,这里将对它们进行总结。

  1. 字符数据和标记在XML 1.0规范的第2.4节中介绍
  2. ID有效性约束在规范的第3.3.1节中介绍。
  3. 名称制作包含在规范的第2.3节中。
  4. 该规范可在https://www.w3.org/TR/REC-xml找到。

    可以在http://www.xml.com/axml/testaxml.htm找到带注释的规范版本。

答案 1 :(得分:0)

XMLSpy说你的XML格式正确。所以显然属性值中的前导空白没有问题!