Is an xml attribute without a value, valid?

XmlXml Attribute

Xml Problem Overview


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?

Xml Solutions


Solution 1 - Xml

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 - Xml

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 - Xml

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.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAndreasView Question on Stackoverflow
Solution 1 - XmlDave DuPlantisView Answer on Stackoverflow
Solution 2 - XmlQuentinView Answer on Stackoverflow
Solution 3 - XmlMichael KayView Answer on Stackoverflow