HTML タグの有効な文字を見つけるのに問題があります。
この ( Is the at-sign (@) a valid HTML/XML tag character? ) 回答には次のように書かれています:
XML仕様をもう一度見てください:
タグは次のもので構成されます。
'<' 名前 (S 属性)* S? '>' Name は次のもので構成されます。
NameStartChar (NameChar)* NameStartChar は以下で構成されます。
":" | [AZ] | "_" | [az] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] NameChar は以下で構成されます。
NameStartChar | "-" | 「。」| | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] @ 記号は U+0040 です
したがって、@ 記号は NameChar または NameStartChar では有効ではないため、Name では有効ではありません。
しかし、HTML 構文ページ ( http://www.w3.org/TR/html-markup/syntax.html#tag-name ) では、次のようにしか書かれていません。
タグ名は、要素の開始タグと終了タグ内で要素の名前を付けるために使用されます。すべての HTML 要素には、0 ~ 9、a ~ z、および A ~ Z の範囲の文字のみを使用する名前が付いています。
HTML タグ名の有効文字は何ですか? また、HTML4、XHTML、および HTML5 には違いがありますか?