Почему я не могу начать имена объектов XML с «xml»? - PullRequest
1 голос
/ 12 мая 2010
<XmlInfo />

Я столкнулся с проблемой, используя популярный модуль Perl SOAP :: Lite, где он не принимает имена объектов XML, начинающиеся с "xml" (относится к регистру букв). Автор модуля ответил на электронное письмо, сказав, что имена сущностей, начинающиеся с «xml», не допускаются в спецификации XML, но я не смог найти их в документах W3C для спецификаций 1.0 и 1.1, я также не смог найти их ни в одном статьи или руководства по именованию объектов XML. Фактически, в некоторых руководящих документах в качестве примера использовались имена, начинающиеся с xml, и многие используют его, как я вижу с помощью Google Code Search.

Так есть ли какие-либо ограничения (кроме того, какие символы использовать, как определено в документах W3C) в именовании сущностей в XML? Есть ли ограничение, согласно которому вы не можете называть сущности, начинающиеся с "xml"?

Ответы [ 2 ]

4 голосов
/ 12 мая 2010

Ссылка: http://www.exforsys.com/tutorials/xml/xml-elements-attributes-entities.html дает ответ:

  1. Имена XML должны начинаться с одного из следующих символов: буква, подчеркивание, двоеточие, действительное имя символы, включая предшествующие плюс цифры, дефисы или точки остановки.
  2. Символ двоеточия не должен использоваться, кроме как в качестве разделителя пространства имен
  3. Соглашения об именах XML не ограничиваются символами ASCII и идеографические символы могут быть использованы.
  4. Он может не начинаться со строки «xml», «XML» или любого другого совпадения символы

Номер 4 - это то, что вы ищете.

1 голос
/ 12 мая 2010

Я нашел одно упоминание об этом в HTML & XML, The Definitive Guide , в разделе «15.3.3. Объявления сущностей»:

Единственное ограничение - имена могут не начинаться с последовательности "xml" (в верхнем или нижнем регистре).

...