Is an xml attribute without a value, valid?
I want to have an XML attribute without any value, which simply has one meaning when it exists or does not exist.
Is that valid?
Solution 1:
An attribute must be specified with the following syntax:
Name Eq AttValue
where Name is a legal XML name, Eq is = optionally preceded or followed by whitespace, and AttValue is a legal attribute value.
This definition is true for both XML 1.0 and XML 1.1.
If you are trying to specify an attribute as below:
<car owned/>
then no, that is not valid. If you are trying to specify it this way:
<car owned=""/>
then yes, that is valid.
Solution 2:
No.
Boolean attributes in XML are of the form foo="foo"
.
Even in SGML, you must provide the value, (it is the name, =
and quotes that you can omit, which is why you have things like <select multiple>
in HTML).
Solution 3:
You can have an attribute whose only permitted value is the empty string, "". I'm not sure it's good design, though; I would normally suggest a boolean attribute with values true/false, and a default value of false.