Могут ли атрибуты XML иметь пробелы? - PullRequest
9 голосов
/ 17 февраля 2010

Я создаю DTD для XML-документа. У меня есть Перечислимый атрибут для элемента xml. У меня вопрос: может ли атрибут Тип иметь пробелы?

например:

  <!ELEMENT Link (#PCDATA)>
  <!ATTLIST Link Type (Amendment|Reference|Superseded|Modified|
  Corrigendum|Corresponds|Endorsement|Equivalent|Identical|Modified|
  Not Equivalent|Note taken of|Related|Similar) "Reference">

Итак, что бы я хотел:

  <Link Type="Not Equivalent" \>

Но это, похоже, недовольно.

Есть ли какое-нибудь волшебное вуду, которое мне нужно сделать для пробелов? Или это просто неудача?

Я посмотрел в нескольких точках , но не смог найти ни одной ссылки

Спасибо!

Обновление

Извините - когда я говорю barf, я имею в виду, что при попытке проверить документ (например, открыть его в веб-браузере) я получаю сообщение об ошибке: В перечислении ATTLIST обнаружен недопустимый символ. Ошибка при обработке ресурса 'file: /// C: /myxmldocument.xml'. ...

1 Ответ

11 голосов
/ 17 февраля 2010

Короткий ответ - нет. Атрибуты XML являются токенами имен, а токены имен не могут содержать пробелов. Соответствующие спецификации связаны:

Атрибуты

Типы атрибутов (см. NotationType)

Имена (см. 4a - NameChar)

Недопустимый символ - пробел. Ты можешь использовать '.' или «-» в качестве разделителя, если хотите.

...