Есть ли какие-либо формальные рекомендации по корпусу элементов в XML?
Я знаю, что XHTML использует имена элементов в нижнем регистре (в отличие от HTML, который канонически использует верхний регистр, но нечувствителен к регистру).
Но я говорю о XML для общего контента.
в нижнем регистре:
<customer>
<accountnumber>619</accountnumber>
<name>Shelby Lake</name>
</customer>
верблюжий:
<customer>
<accountNumber>619</accountNumber>
<name>Shelby Lake</name>
</customer>
PascalCase:
<Customer>
<AccountNumber>619</AccountNumber>
<Name>Shelby Lake</Name>
</Customer>
ВЕРХНИЙ РЕГИСТР:
<CUSTOMER>
<ACCOUNTNUMBER>619</ACCOUNTNUMBER>
<NAME>Shelby Lake</NAME>
</CUSTOMER>
Примечание: мне нужны цитируемые рекомендации, а не мнения. Но мнение, набравшее наибольшее количество голосов, можно считать ориентиром.
xml
case-sensitive
Ян Бойд
источник
источник
Ответы:
Большинство стандартов XML, разработанных W3C, обычно используют нижний регистр с дефисами.
Существует философское различие между представлением XML как формата для нейтральных к платформе документов, который стандарты W3C пытаются поощрять, и такими языками, как XAML, которые рассматривают XML как сериализацию графа объектов, зависящих от платформы.
Если вы используете XML не в качестве нейтрального для платформы формата документа, а в качестве сериализации для конкретного приложения, тогда вы можете избавить себя от лишних хлопот и иметь соответствие 1: 1 между именами XML и именами, специфичными для платформы. Но почти любой другой формат графа объектов для этой цели лучше, чем XML.
Если да, то вы, возможно, захотите вписаться в XHTML, XSLT, SVG, XProc, RelaxNG и другие.
источник
Не то чтобы это важно, но я всегда был неравнодушен к PascalCase для элементов и camelCase для атрибутов:
источник
Официальной рекомендации нет.
Поскольку XML был разработан с двойной целью хранения документов и обмена информацией между разнородными системами , он был разработан таким образом, чтобы иметь возможность сопоставлять приложения, использующие его.
Таким образом .Net XML имеет тенденцию использовать ProperCasing (свидетель XAML), тогда как другой XML будет использовать camelCasing, python_conventions, dot.naming и даже COBOL-CONVENTIONS. W3C, кажется, любит строчные буквы с черточками (например, XSLT) или просто низкие слова с объединением (например, MathML).
Мне нравятся строчные буквы и отсутствие подчеркивания, поскольку это означает, что клавиша [Shift] меньше используется, а пальцы немного ленивы. :)
источник
Чтобы добавить к ответу Metro Smurf.
Национальная модель обмена информацией (NIEM: http://en.wikipedia.org/wiki/National_Information_Exchange_Model ) предписывает использовать:
NIEM - хороший вариант, когда вы хотите соответствовать какому-либо стандарту.
источник
Чтобы расширить мой комментарий выше : использование «строчных букв с дефисами» имеет некоторые проблемы в XSLT. В частности, легко спутать узел, называемый, скажем, «год от возраста» с формулой «год - возраст» (например, вычесть возраст из года).
Как отмечает @KarlKieninger, это проблема только на человеческом уровне, а не для парсера XSLT. Однако, поскольку это часто не приводит к ошибке , использование «строчных букв с дефисами» в качестве стандарта вызывает проблемы, ИМХО.
Некоторые подходящие примеры:
В приведенном выше коде вы должны поставить по крайней мере один пробел перед оператором вычитания, но для оператора сложения такого требования нет.
Но обратите внимание, насколько запутанно читать вышесказанное!
Наличие одного пробела изменяет вывод, приведенный выше, но ни один из вариантов не является ошибкой.
источник
См. Техническую спецификацию правил именования и разработки XML UN / CEFACT, версия 3.0, стр. 23, где приведены примеры правил, используемых в нескольких стандартах.
Особенности (со страницы 23 версии 3.0 от 17 декабря 2009 г.):
( другая ссылка, шведский сайт )
источник
Руководство по стилю Google рекомендует (возможно, даже предписывает) camelCase для всех имен элементов, а также имен атрибутов.
источник
Изначально регистр XML использовался в нижнем регистре с дефисами. Он чувствителен к регистру и не требует соблюдения этого соглашения, поэтому вы можете делать все, что захотите. У меня нет цитат, извините.
источник
Я бы не сказал, что HTML «канонически» использует прописные буквы. Я думаю, что изначально прописные буквы использовались для более простого визуального отделения HTML от содержимого. В настоящее время с подсветкой синтаксиса в этом нет необходимости.
Я склоняюсь к строчным буквам, если необходимо, с тире (тоже быстрее). Мне просто кажется неправильным смешивать регистр в XML.
источник
Дело верблюда получает мой голос.
Что касается приведенных примеров, возможно, этот вопрос можно найти по ссылке, которую цитируют.
источник