it-swarm.dev

Um atributo xml sem um valor é válido?

Eu quero ter um atributo XML sem qualquer valor, que simplesmente tem um significado quando existe ou não existe.

Isso é válido?

41
Andreas

Um atributo deve ser especificado com a seguinte sintaxe:

Nome Eq AttValue 

em que Nome é um nome XML legal , Eq é = opcionalmente precedido ou seguido por espaço em branco , e AttValue é um valor de atributo legal .

Essa definição é verdadeira para XML ​​1.0 e XML ​​1.1

Se você está tentando especificar um atributo como abaixo:

<car owned/>

então não, isso não é válido. Se você está tentando especificá-lo desta maneira:

<car owned=""/>

então sim, isso é válido.

49
Dave DuPlantis

Não.

Atributos booleanos em XML são da forma foo="foo".

Mesmo em SGML, você deve fornecer o valor, (é o nome, = e aspas que você pode omitir, e é por isso que você tem coisas como <select multiple> em HTML). 

18
Quentin

Sim. Você pode ter um atributo cujo único valor permitido seja a string vazia "". Eu não tenho certeza se é um bom design, no entanto: eu normalmente sugeriria um atributo booleano com valores true/false e um valor padrão de false.

0
Michael Kay