- From: Jason Diamond <jason@injektilo.org>
- Date: Wed, 10 Jan 2001 09:21:39 -0800
- To: "Joseph M. Reagle Jr." <reagle@w3.org>, <henry@w3.org>, "Michael Sperberg-McQueen" <cmsmcq@w3.org>
- Cc: <xmlschema-dev@w3.org>, "Brian LaMacchia" <bal@microsoft.com>, "Donald Eastlake" <dee3@torque.pothole.com>, <lde008@dma.isg.mot.com>
If it weren't for the wildcard, I would suggest using an all group. You
might be able to use one if you required unprocessed elements to be in a
specified AppInfo-like element.
<complexType name="PGPDataType">
<all>
<element name="PGPKeyID" type="string" minOccurs="1"/>
<element name="PGPKeyPacket" type="ds:CryptoBinary" minOccurs="0"/>
<element name="AppInfo" type="ds:LaxContent" minOccurs="0"/>
</all>
</complexType>
Jason.
> > -----Original Message-----
> From: xmlschema-dev-request@w3.org
> [mailto:xmlschema-dev-request@w3.org]On Behalf Of Joseph M. Reagle Jr.
> Sent: Tuesday, January 09, 2001 3:16 PM
> To: henry@w3.org; Michael Sperberg-McQueen
> Cc: xmlschema-dev@w3.org; Brian LaMacchia; Donald Eastlake;
> lde008@dma.isg.mot.com
> Subject: XML Schema Question
>
>
> Is there a more elegant schema representation for the semantic
> of, "you can have a sequence of the following, and while I don't
> care which you have (they are all optional) you must have at
> least one of them."
>
> For instance, the following works (though is there a more elegant
> version for the schema?):
>
> <!ELEMENT PGPData ((PGPKeyID, PGPKeyPacket?) | (PGPKeyPacket)
> %PGPData.ANY;) >
>
> -->
>
> <complexType name="PGPDataType">
> <choice>
> <sequence>
> <element name="PGPKeyID" type="string" minOccurs="1"/>
> <element name="PGPKeyPacket" type="ds:CryptoBinary"
> minOccurs="0"/>
> <any namespace="##other" processContents="lax" minOccurs="0"
> maxOccurs="unbounded"/>
> </sequence>
> <sequence>
> <element name="PGPKeyPacket" type="ds:CryptoBinary"/>
> <any namespace="##other" processContents="lax" minOccurs="0"
> maxOccurs="unbounded"/>
> </sequence>
> </choice>
> </complexType>
>
> but it can get ugly for larger structures, or I keep it simple
> and end up permitting more than one instance of each child (wrong)
>
> <!ELEMENT X509Data ((X509IssuerSerial | X509SKI | X509SubjectName |
> X509Certificate)+ | X509CRL %X509.ANY;)>
>
> or permitting empty content (wrong)
>
> <!ELEMENT X509Data ((X509IssuerSerial?, X509SKI?, X509SubjectName?,
> X509Certificate?) | X509CRL %X509.ANY;)>
>
> __
> Joseph Reagle Jr.
> W3C Policy Analyst mailto:reagle@w3.org
> IETF/W3C XML-Signature Co-Chair http://www.w3.org/People/Reagle/
>
Received on Wednesday, 10 January 2001 12:26:15 UTC