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 newbie - are multiple unordered children occurr

[ Lists Home | Date Index | Thread Index ]

Max Chappell scripsit:

> I agree. The biggest shortcoming I have trouble with is the lack of any 
> if then construct. i.e.
> 
> Taking the example you gave -
> You can't say if <ParentNode> has @flavour='B' Then only allow child 
> elements of type <B>.
> 
> Tall order I know, but something I come up against on a daily basis.

Consider using RELAX NG, then, in which such things are easily accomplished
using fixed-value attributes and a choice.

If we wish to allow ParentNode to contain A children only if @flavour="A"
and likewise for B, then we write:

element ParentNode {
	(attribute flavour {"A"}, A*) |
	(attribute flavour {"B"}, B*)
	}

A = element A {...}

B = element B {...}

As before, the ellipses should be replaced by the attributes and content
model of the A and B elements.

-- 
Do what you will,                       John Cowan
   this Life's a Fiction                jcowan@reutershealth.com
And is made up of                       http://www.reutershealth.com
   Contradiction.  --William Blake      http://www.ccil.org/~cowan




 

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

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