RE: [xml-dev] Problems with schema creation, help!!

From
Rayner, Chris <>
To
"''" <>
Date
2004-02-04T16:25:12Z
ID
<000036110339c907d4@[208.238.11.153]>
Thread
RE: [xml-dev] Problems with schema creation, help!!

cool.... can you point me to any good reference sites on RELAX please?

Cheers

-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: 04 February 2004 16:19
To: Rayner, Chris
Cc: [email protected]
Subject: Re: [xml-dev] Problems with schema creation, help!!


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   <[email protected]>
    "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