web-dev-qa-db-fra.com

Un attribut xml sans valeur est-il valide?

Je veux avoir un attribut XML sans aucune valeur, qui a simplement une signification lorsqu'il existe ou qu'il n'existe pas.

Est-ce que c'est valide?

41
Andreas

Un attribut doit être spécifié avec la syntaxe suivante:

Nom Eq AttValue 

où Nom est un nom XML legal , Eq est = éventuellement précédé ou suivi d'un espace et AttValue est une valeur d'attribut legal .

Cette définition est vraie pour XML 1.0 et XML 1.1

Si vous essayez de spécifier un attribut comme ci-dessous:

<car owned/>

alors non, ce n'est pas valide. Si vous essayez de le spécifier de cette façon:

<car owned=""/>

alors oui, c'est valide.

49
Dave DuPlantis

Non.

Les attributs booléens en XML sont de la forme foo="foo".

Même en SGML, vous devez fournir la valeur (c'est le nom, = et les guillemets que vous pouvez omettre, c'est pourquoi vous avez des éléments comme <select multiple> en HTML). 

18
Quentin

Oui. Vous pouvez avoir un attribut dont la seule valeur autorisée est la chaîne vide, "". Cependant, je ne suis pas sûr que sa conception soit bonne: je proposerais normalement un attribut booléen avec les valeurs true/false et une valeur par défaut false.

0
Michael Kay