enumeration and defaults

Simon St.Laurent simonstl at simonstl.com
Fri Sep 10 22:29:03 BST 1999


For language lawyers - 

I've found myself in a somewhat odd situation, where I'd like to be able to
include empty (i.e., no value) as a choice in a list of enumerated
possibilities.  It doesn't seem possible.  (Empty is not a token.)

It might be nice to declare:
<!ATTLIST myElement
	myAtt (0|1|2) #IMPLIED>

but it isn't clear to me what the implications are.  If I just write:
<myElement />

I haven't provided a 'wrong' value for myAtt, but I haven't in fact
provided a value that matches an entry in the list.  #REQUIRED would get me
out of this by requiring that I use 0, 1, or 2, but that obviously leaves
out the possibility of omission.

>From 3.3.2
> #IMPLIED [means] that no default value is provided.

The particular case I'd like to explore would allow the use of notations to
identify content if desired, but omission would allow the application to
rely on external tools like MIME types.  I could default to a NOTATION of
'NONE' where the notation references something describing nothing, but that
seems a bit, well, existential.

I may simply be lacking a key set of assumptions, but I feel like I could
read the spec either way.  Does no default value mean that there is no
value to check against constraints, or does it imply a null value that will
violate constraints of this sort?

Simon St.Laurent
XML: A Primer (2nd Ed - September)
Building XML Applications
Inside XML DTDs: Scientific and Technical
Sharing Bandwidth / Cookies
http://www.simonstl.com

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)





More information about the Xml-dev mailing list