Quelle est l'utilité des types NMTOKEN et NMTOKENS?
La valeur
NMTOKEN
suit les mêmes règles que le nom XML, sauf avecNMTOKEN
aucun des caractères autorisés pouvez être le premier caractère. Contrairement à XMLstring
type,NMTOKEN
les valeurs ne peuvent contenir aucun espace. Je ne vois pas encore son utilité.alors quand et pourquoi utiliserions-nous
NMTOKEN
Tapez au lieu d'unstring
type?NMTOKENS
permet de spécifier plusieursNMTOKEN
(valeurs séparées par des espaces) dans un seul chaîne. Ce type a encore moins de sens, puisqu'il permet aussi à une valeur de contenir des caractères blancs, ce qui signifie essentiellement que les deuxNMTOKENS
typestring
type peut contenir exactement les mêmes valeurs.alors quand ce type est-il utile?
3 réponses
NMTOKEN
et NMTOKENS
n'existent dans le schéma XML que pour la compatibilité avec les DTDs, le prédécesseur du schéma XML, qui avaient ces types d'attributs. DTD a peu d'autres types de sorte que ceux ne se démarquent pas comme redondant là.
alors utilisez NMTOKEN
et NMTOKENS
quand vous convertissez un DTD en Schéma XML.
Addenda: ces types et tous les autres types de bouchons appartiennent à la même catégorie. Ils sont marqués dans le schéma XML Rec avec le texte, "pour la compatibilité NMTOKEN doit être utilisé uniquement sur les attributs."
si elles correspondent exactement à vos besoins, il pourrait être plus facile de les utiliser uniquement, mais la façon de schéma XML est de dériver de xs:string
ou xs:token
et contraindre au besoin avec un pattern
facette. Ou, plus souvent selon mon expérience, utilisez xs:string
ou xs:token
en l'état et appelez-le assez près.
je pense que, NMTOKEN sont utiles pour la définition des valeurs, qui représentatifs HTML5 compatible avec les valeurs d'id ou HTML noms de classe. Contrairement aux versions HTML précédentes, HTML5 permet des identifiants qui commencent par un chiffre.
NMTOKENS sont utiles pour les listes (séparées par des virgules) d'ids HTML5 ou de classes HTML.
nmtoken permet au XML de traiter ou de traiter les espaces blancs comme des caractères. Puisque les attributs ne prennent pas plus d'un mot comme valeurs, NMTOKEN nous permet d'écrire des mots New York, Nouvelle-Zélande, ou le président Obama qui ont des séparateurs d'espace.