Какие символы позволяются на имя HTML-атрибута?

Смотрите ответ здесь, почему. Короче говоря, ребенок спрашивает родителя, а строка представления списка использует AbsListView.LayoutParams, который не включает поля.

Почему поле LinearLayout игнорируется, если используется как представление строки ListView

65
задан Deduplicator 1 February 2015 в 16:26
поделиться

4 ответа

Это зависит от того, что вы имеете в виду под словом «разрешено». Каждый тег имеет фиксированный список допустимых имен атрибутов, и в HTML они нечувствительны к регистру. В одном важном смысле «разрешены» только эти символы в правильной последовательности.

Другой способ взглянуть на это - это то, какие символы браузеры будут рассматривать как допустимое имя атрибута. Лучший совет здесь исходит из спецификации парсера HTML 5, которую можно найти здесь: https: //html.spec.whatwg.org/multipage/syntax.html#attributes-2

Указывает, что все символы, кроме табуляции, перевода строки, перевода страницы, пробела, солидуса, знака «больше», кавычки, апострофа и знака равенства знак будет рассматриваться как часть имени атрибута. Лично я бы не стал выдвигать крайние случаи из этого.

51
ответ дан 24 November 2019 в 15:30
поделиться

Если вы говорите о XHTML, применяются правила XML.

См. http://www.w3.org/TR/2008/REC-xml-20081126/#NT-Name

Имена и токены

[4]     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-#xEFFFF]
[4a]    NameChar       ::=      NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
[5]     Name       ::=      NameStartChar (NameChar)*
[6]     Names      ::=      Name (#x20 Name)*
[7]     Nmtoken    ::=      (NameChar)+
[8]     Nmtokens       ::=      Nmtoken (#x20 Nmtoken)*
25
ответ дан 24 November 2019 в 15:30
поделиться

Возможно, я что-то упускаю, но я считаю, что вопрос основан на ложном предположении. В HTML атрибуты строго определены в соответствии с фиксированной спецификацией. Если вы «придумываете» свои собственные имена атрибутов, вы больше не пишете действительный HTML.

9
ответ дан 24 November 2019 в 15:30
поделиться

Допустимые значения перечислены на w3.org . Если вы добавите настраиваемый атрибут, вы больше не будете писать HTML.

2
ответ дан 24 November 2019 в 15:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: