html - 有效的 HTML 标签名称字符

标签 html tags html4

<分区>

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

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

After another look at the XML Specification:

A tag consists of:

'<' Name (S Attribute)* S? '>' A Name consists of:

NameStartChar (NameChar)* A NameStartChar consists of:

":" | [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-#xEFFFF] A NameChar consists of:

NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] The @ sign is U+0040

So the @ sign is not valid in a NameChar or a NameStartChar, and thus not valid in a Name.

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

Tag names are used within element start tags and end tags to give the element’s name. HTML elements all have names that only use characters in the range 0–9, a–z, and A–Z.

HTML 标签名称中的有效字符是什么? HTML4、XHTML 和 HTML5 之间有区别吗?

最佳答案

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

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

关于html - 有效的 HTML 标签名称字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15185290/

相关文章:

video - 最便携的网络视频编解码器?

php - 上传前检查文件大小

html - 如何模糊元素及其背后的所有内容,而不模糊元素内的文本? CSS

html - 如何修剪从桌面站点版本到平板电脑/手机的内容?

javascript - 如何使用 hover() 来设置多个特定元素的样式?

javascript - 使用 jQuery 将标签插入框中?

html - 可用于创建以下页面布局的最少 div 数量是多少?

javascript - 根据索引显示/隐藏列

css - 我应该为图标使用 span 标签还是 i 标签?

html - 正在显示的 CSS 子菜单谷歌地图脚本