OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   RE: ATTLIST question

[ Lists Home | Date Index | Thread Index ]
  • From: Steve Rowe <sarowe@textwise.com>
  • To: James Gray <jmgii@yahoo.com>, xml-dev@lists.xml.org
  • Date: Thu, 28 Sep 2000 15:49:11 -0400

James Gray wrote:
> I'm trying to create a DTD that will incorporate an 
> attribute list that will allow  the following case:
>   1. Define optional values for an element
>   2. Require one of the options be present
>   3. Not allow any option other than those listed
> I've scoured my XML books and can't figure out how
> to implement such a case.  An example that is 
> similar is for shirts.  I'd like to have a "shirt"
> element that is only allowed to the values:
> S, M, LG, XL
> If the <shirt> element is filled with "XS" or "XXL",
> I would be able to reject it based on my DTD?

Yes, you would, with a validating parser.  A possible
DTD fragment to get what you want, using enumerated
attribute values and requiring the "size" attribute
for shirt elements:

  <!ELEMENT shirt EMPTY>
  <!ATTLIST shirt size (S|M|LG|XL) #REQUIRED>

Tim Bray says of enumerated attribute values: "You'll
see a lot of this in real-world XML documents" [1]

Hope it helps.
Steve Rowe
MNIS-TextWise Labs

[1] The Annotated XML Specification
    In Section 3.3.1 (Attribute Types), at the
    (T)echnical note to the Enumeration validity


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS