有效的HTML标记名称字符

时间:2013-03-03 11:43:04

标签: html html5 tags html4

我在查找HTML标记的有效字符时遇到问题。

在这个(Is the at-sign (@) a valid HTML/XML tag character?)答案中,它说:

  

再看一下XML规范:

     

标签包含:

     

'<'名称(S属性)* S? '>'名称包括:

     

NameStartChar(NameChar)* 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-#xFFFF] NameChar包含:

     

NameStartChar | “ - ”| “” | [0-9] | #xB7 | [#x0300-#x036F] |   [#x203F-#x2040] @符号为U + 0040

     

所以@符号在NameChar或NameStartChar中无效,因此   在名称中无效。

但是在HTML语法页面(http://www.w3.org/TR/html-markup/syntax.html#tag-name)上,它只说:

  

标签名称在元素开始标记和结束标记中使用以给出   元素的名称。 HTML元素都具有仅使用字符的名称   在0-9,a-z和A-Z范围内。

HTML标记名称中的valids字符是什么? HTML4,XHTML和HTML5之间是否存在差异?

1 个答案:

答案 0 :(得分:0)

HTML文档必须符合HTML规范。 XML文档必须符合XML规范。 XHTML文档必须符合XML和HTML规范。

因此,对于XHTML文档,您必须从两个规范中获取有效字符的交集。由于XHTML基于XML规范,因此不允许在XML中禁止使用的字符。因此,XHTML中允许的字符始终是XML中的字符的子集。所以允许的字符来自XHTML规范。