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] Problems with schema creation, help!!

[ Lists Home | Date Index | Thread Index ]

Rayner, Chris scripsit:

> <code>
>   ...
>   <party>
>       <name>blah</name>
>       <account>blah blah</account>
>   </party>
>   ...
>   <party>
>       <name>deBlah</name>
>       <account>deBlah deBlah</account>
>   </party>
>    ...
> </code>
> and I need to build a schema that can enforce the following rules on the
> <party> element:
>   - <party> can be in any position under the <code> element
>   - <party> can occur either 0, 1 or 2 times
> I wanted initially to use the all compositor but this will only allow 0 or 1
> instances of <party> under <code>. Does any one have any insights into how
> this can be achieved?

RELAX NG is a huge win here:  you simply specify

start = element code {(party?, party?) & ...}

party = element party {element name {text}, account {text}}

where "..." is the content model of the other elements that can appear.

John Cowan    http://www.ccil.org/~cowan   <jcowan@reutershealth.com>
    "Any legal document draws most of its meaning from context.  A telegram
    that says 'SELL HUNDRED THOUSAND SHARES IBM SHORT' (only 190 bits in
    5-bit Baudot code plus appropriate headers) is as good a legal document
    as any, even sans digital signature." --me


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

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