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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] XML Schema: At Least One of X Elements Must Appear

[ Lists Home | Date Index | Thread Index ]

You guys are all forgetting your history!  At least one of {a, b, c},
in any order, is expressible in DTD, and therefore _a posteriori_ in
W3C XML Schema:

 <!ELEMENT x ((a,((b,c?)|(c,b?))?)|(b,((a,c?)|(c,a?))?)|(c,((a,b?)|(b,a?))?))>

It's certainly not elegant, and it gets worse as the number of
alternatives goes up, but it's not impossible.

If order doesn't matter, and is therefore constrainable, then it's
much easier:

 <!ELEMENT x ((a,b?,c?)|(b,c?)|c)>

ht
-- 
  Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
          W3C Fellow 1999--2002, part-time member of W3C Team
     2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
	    Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk
		     URL: http://www.ltg.ed.ac.uk/~ht/
 [mail really from me _always_ has this .sig -- mail without it is forged spam]




 

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

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