[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: modelling the business rule "at least one of the elements"
hi, I don't know if it easy to express with W3C XML Schema, but it is obvious with the Active Schema Language : <asl:element name="parent"> <asl:sequence> <asl:element ref-elem="child1" min-occurs="0" max-occurs="1"/> <asl:element ref-elem="anotherchild" min-occurs="0" max-occurs="1"/> <asl:element ref-elem="yetanotherchild" min-occurs="0" max-occurs="1"/> </asl:sequence> </asl:element> if this sequence could be optional, you'd just have to set a different lower limit on it : <asl:sequence min-occurs="0"> the spec of ASL : http://disc.inria.fr/perso/philippe.poulard/xml/active-tags/active-schema/active-schema.html the implementation : http://reflex.gforge.inria.fr/ you will find in ASL other things that you can't achieve with W3C XML Schema neither RelaX NG : -co-occurrence constraints : http://reflex.gforge.inria.fr/tutorial.html#N80192D -semantic data types : http://reflex.gforge.inria.fr/tutorial.html#N8019B7 Joselito D. Moreno wrote: > Hi, > > I'm struggling with designing an XML Schema that has a conditional > part to it. Here's my issue: > > I would like to represent data, let's call it "parent" which can > contain "at least" one of 3 elements ("child1", "anotherchild", and > "yetanotherchild") > > For example, this would be a valid "parent" element: > <parent> > <child1>value of child 1</child1> > <anotherchild>value of anotherchild</anotherchild> > <yetanotherchild>value of yetanotherchild</yetanotherchild> > </parent> > > This would be a valid "parent" element: > <parent> > <anotherchild>value of anotherchild</anotherchild> > </parent> > > This would be a valid "parent" element: > <parent> > <child1>value of child 1</child1> > <yetanotherchild>value of yetanotherchild</yetanotherchild> > </parent> > > This would be a INVALID "parent" element because there should be at > least one of the child elements: > <parent> > </parent> > > This would be a INVALID "parent" element because the parent element > can only contain at most 1 occurence of each kind of child element. > <parent> > <child1>value of child 1</child1> > <yetanotherchild>value of yetanotherchild</yetanotherchild> > <yetanotherchild>value of yetanotherchild</yetanotherchild> > </parent> > > Thanks in advance, > > Joen Moreno > -- Cordialement, /// (. .) --------ooO--(_)--Ooo-------- | Philippe Poulard | ----------------------------- http://reflex.gforge.inria.fr/ Have the RefleX !
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|