2011-08-03 18 views
35

Quiero tener un atributo XML sin ningún valor, que simplemente tiene un significado cuando existe o no existe.¿Es válido un atributo xml sin valor?

¿Es eso válido?

+0

Y para 'attribute =" "': http://stackoverflow.com/questions/184014/can-an-xml-attribute-be-the-empty-string –

Respuesta

16

atributos booleanos en XML son de la forma foo="foo".

Incluso en SGML, debe proporcionar el valor, (es el nombre, = y las comillas que puede omitir, por lo que tiene cosas como <select multiple> en HTML).

0

Sí. Puede tener un atributo cuyo único valor permitido es la cadena vacía, "". Sin embargo, no estoy seguro de que sea un buen diseño: normalmente sugeriría un atributo booleano con valores verdadero/falso y un valor predeterminado de falso.

+8

Una cadena vacía sigue siendo un valor. – Quentin

41

Un atributo se debe especificar con la siguiente sintaxis:

Nombre ecuación AttValue

donde nombre es un legal XML name, la ecuación es = optionally preceded or followed by whitespace y AttValue es un legal attribute value.

Esta definición es verdadera tanto para XML 1.0 como para XML 1.1.

Si usted está tratando de especificar un atributo de la siguiente manera:

<car owned/> 

pues no, que no es válido. Si está intentando especificarlo de esta manera:

<car owned=""/> 

y luego sí, eso es válido.

Cuestiones relacionadas