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 Question: specifying restrictions for a list of

[ Lists Home | Date Index | Thread Index ]

On Wed, 2004-04-07 at 14:51, Tom Gaven wrote:
> Peter, I don't know if this can be done in XSD, but here is a RELAX NG
> schema ( compact syntax ) that can handle it:
> 
> start  = computer_list
> computer_list = element computer_list { computer*  &  computerDefault }
> computer = element computer { computerNames }
> computerDefault = element computer { attribute default { xsd:boolean },
> computerNames }
> computerNames =  'HP' | 'Dell' 
> 
> You can interleave ('&' connector) the single 'computer with default
> attribute' with one or more 'computers without default attribute'.

Very nice.

What is needed here is probably to require one default attribute equal
to "true" and others either missing or equal to "false", but your schema
can easily be adapted:

start  = computer_list
computer_list = element computer_list { computer*  &  computerDefault }
computer = 
  element computer { 
   attribute default { xsd:boolean "false"}?, 
   computerNames 
  }
computerDefault = 
  element computer { 
   attribute default { xsd:boolean "true"},
   computerNames 
  }
computerNames =  'HP' | 'Dell' 

And that can't be done with WXS :) ...

Eric
-- 
Weblog:
                 http://eric.van-der-vlist.com/blog?t=category&a=English
Upcoming XML schema languages tutorial:
 - Amsterdam   -half day- (18/04/2004)        http://masl.to/?P220516D7
------------------------------------------------------------------------
Eric van der Vlist       http://xmlfr.org            http://dyomedea.com
(ISO) RELAX NG   ISBN:0-596-00421-4 http://oreilly.com/catalog/relax
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------





 

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

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