- From: Joseph M. Reagle Jr. <reagle@w3.org>
- Date: Tue, 09 Jan 2001 18:15:56 -0500
- To: 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>
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 Tuesday, 9 January 2001 19:36:20 UTC