Altova Mailing List Archives

Re: [xml-dev] What does "optional" mean?

From: David Carlisle <davidc@---.--.-->
To: "Costello, Roger L." <costello@-----.--->
Date: 2/26/2012 2:34:00 PM
On 26/02/2012 14:11, Costello, Roger L. wrote:
> Every schema language (DTD, XSD, RNG) has the notion of optional -- optional elements and optional attributes.

XML DTD does not.
In DTD attributes may be #IMPLIED or #FIXED and may have a default 
value, any of these declarations might colloquially be called declaring 
the attribute to be optional, but they have precise meanings given in 
the xml spec, so you don't have to worry about what optional means.

 > I've listed three possible meanings of "optional":
 >     -- In the first meaning, it indicates:  of-lesser-importance.
 >     -- In the second meaning, it indicates:  irrelevance.
 >     -- In the third meaning, it indicates:  lack-of-knowledge.
 > So what does "optional" really mean?

in Relax NG (and XSD, probably, but I try to avoid thinking about that)
It doesn't mean any of those things. It just means (for attributes) that 
the attribute may be omitted from an instance.

so if the bar attribute is declared with "?" then

<foo> and <foo bar="">

are both valid. There is no indication of the _meaning_  implied by 
omitting an attribute, just as there is no indication of the meaning 
implied by any particular element name.

the role of the schema is just to say what syntax is or is not valid, it 
doesn't say anything about when or why you should use any of the syntax 
options that are valid.



XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address:
Or unsubscribe: xml-dev-unsubscribe@l...
subscribe: xml-dev-subscribe@l...
List archive:
List Guidelines:


These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.