Допустимы ли одинарные кавычки в HTML/XHTML?
Допустимы ли одинарные кавычки в HTML? А конкретнее: строгий XHTML.
<table width="100%">
<table width='100%'>
3 ответа
Решение
Да, одинарные кавычки действительны.
Из спецификации XML:
[10] AttValue ::= '"' ([^<&"] | Reference)* '"'
| "'" ([^<&'] | Reference)* "'"
Источник путаницы в этом вопросе, похоже, исходит из этой статьи,
http://www.javascriptkit.com/howto/xhtml_intro.shtml
который, кажется, утверждает, что одинарные кавычки недопустимы в xhtml. Однако, поскольку ни одна спецификация не цитируется, и поскольку в статье также утверждается, что строчные имена для атрибутов и элементов запрещены, автор может просто выразить редакционный запрет на использование одинарных кавычек.
Согласно спецификации, оба действительны:-)
[9] EntityValue ::= '"' ([^%&"] | PEReference | Reference)* '"'
| "'" ([^%&'] | PEReference | Reference)* "'"
[10] AttValue ::= '"' ([^<&"] | Reference)* '"'
| "'" ([^<&'] | Reference)* "'"
[11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")
[12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"
И W3C-Validator также принимает это.