Допустимые символы в значении параметра - PullRequest
5 голосов
/ 19 мая 2011

Мне просто интересно, какие допустимые символы могут быть включены в качестве значения для <option>

т.е. это действительно?

<select>
    <option value='0dbl,2sgl'>0 Double and 2 Singles</option>
    <option value='1dbl,0sgl'>1 Double and 0 Singles</option>
</select>

Ответы [ 2 ]

11 голосов
/ 20 мая 2011

Да, это совершенно верно. См. Спецификацию : там написано, что содержание value должно быть CDATA, в котором почти все верно, со следующими предостережениями:

  • Заменить символьные объекты на символы,
  • Игнорировать перевод строки,
  • Заменить каждый возврат каретки или табуляцию одним пробелом.
3 голосов
/ 20 мая 2011

Для HTML4:

OPTION Attribute definitions

selected [CI]
  When set, this boolean attribute specifies that this option is pre-selected.
value = cdata [CS]
  This attribute specifies the initial value of the control. If this attribute is not set, the initial value is set to the contents of the OPTION element.
label = text [CS]
  This attribute allows authors to specify a shorter label for an option than the content of the OPTION element. When specified, user agents should use the value of this attribute rather than the content of the OPTION element as the option label.

Источник: http://www.w3.org/TR/html401/interact/forms.html#h-17.6

Итак, перейдем к определению CDATA:

CDATA - это последовательность символовиз набора символов документа и может включать в себя объекты символов.Пользовательские агенты должны интерпретировать значения атрибутов следующим образом:

  • Заменить символьные объекты символами,
  • Игнорировать переводы строки,
  • Заменить каждый возврат каретки или табуляцию наединое пространство.Пользовательские агенты могут игнорировать начальные и конечные пробелы в значениях атрибутов CDATA (например, «myval» может интерпретироваться как «myval»).Авторы не должны объявлять значения атрибута с пробелом в начале или в конце.

Для некоторых атрибутов HTML 4 со значениями атрибута CDATA спецификация накладывает дополнительные ограничения на набор допустимых значений для атрибута, которыйне может быть выражено DTD.

Источник: http://www.w3.org/TR/html401/types.html#type-cdata

Поскольку не отмечено никаких ограничений, допустимое содержимое value должно иметь правильно экранированные объекты, правильно определенныесущности, и находятся в рамках кодировки документа.

...