Подтвердить что ты не робот

В чем польза типов NMTOKEN и NMTOKENS?

  • Значение NMTOKEN следует тем же правилам, что и имя XML, за исключением NMTOKEN любой из допустимых символов может быть первым символом. В отличие от типа XML string значения NMTOKEN can not содержат пробелы. Тем не менее я не вижу его полезности.

    Итак, когда и почему мы будем использовать тип NMTOKEN вместо типа string?

  • NMTOKENS позволяет указать несколько значений NMTOKEN (разделенных пробелами) в одной строке. Этот тип имеет еще меньшее значение, поскольку он также позволяет содержать символы пробелов, что по существу означает, что тип NMTOKENS type и string может содержать точно такие же значения.

    Итак, когда этот тип полезен?

4b9b3361

Ответ 1

NMTOKEN и NMTOKENS существуют в XML-схеме только для совместимости с DTD, предшественником XML-схемы, которая имеет эти типы атрибутов. DTD имеет несколько других типов, поэтому они не выделяются как избыточные.

Так что используйте NMTOKEN и NMTOKENS, когда вы конвертируете DTD в XML-схему.

Приложение: те и другие все типы кепок попадают в одну категорию. Они помечены в XML Schema Rec с текстом: "Для совместимости NMTOKEN следует использовать только по атрибутам".

Если они точно соответствуют вашим потребностям, проще всего использовать их, но способ XML Schema состоит в том, чтобы вывести из xs:string или xs:token и ограничить по мере необходимости фасет pattern. Или, чаще всего, по моему опыту, используйте xs:string или xs:token as-is и назовите его достаточно близко.

Ответ 2

Я думаю, NMTOKEN полезны для определения значений, которые соответствуют значениям идентификатора совместимого с HTML5 или именам классов HTML. Вопреки предыдущим версиям HTML, HTML5 разрешает идентификаторы, начинающиеся с цифры.

NMTOKENS полезны для (разделенных запятыми) списков идентификаторов HTML5 или классов HTML.

Ответ 3

NMTOKENS является очень полезным типом данных, они позволяют алфавитов, цифры и, „:“ и „-“ специальные символы "" См.

По моему опыту, они очень удобны для определения многозначных атрибутов, которые могут иметь вышеуказанные символы. В XML другой метод определения многозначных атрибутов будет включать ограничение типа строки с помощью регулярного выражения, что более привлекательно (однако, гибко), чем использование типа NMTOKENS.

Конечно, можно использовать другой подход к моделированию данных с элементами, но NMTOKENS - самый короткий механизм для объявления атрибута с несколькими значениями.

Ответ 4

NMTOKEN позволяет XML обрабатывать или обрабатывать пробелы как символы. Поскольку атрибуты не принимают больше одного слова в качестве значений, NMTOKEN позволяет нам писать слова Нью-Йорк, Новая Зеландия или президент Обама, у которых есть разделители пробелов.