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 ]

Title: Problems with schema creation, help!!
Thanks for the help Bryce, I'll give that a whirl!
 
Chris
-----Original Message-----
From: Bryce K. Nielsen [mailto:bryce@sysonyx.com]
Sent: 04 February 2004 16:22
To: xml-dev@lists.xml.org
Subject: Re: [xml-dev] Problems with schema creation, help!!

Assuming this is W3C's schema language, the first requirement to be in any position will be difficult. <xsd:sequence> doesn't allow this, <xsd:all> sorta does but there are restrictions. You can mock it by making everything in it's own optional sequence, such as <xsd:sequence minOccurs='0' maxOccurs='1'>, and that theoretically will work though some validators have struggled with this.
 
The second requirement is a snap, just use minOccurs and maxOccurs. This I think will work for you:
 
<!-- DISCLAIMER: Written on the fly, may have syntax errors -->
<xsd:element name="code">
  <xsd:complexType>
    <!-- put the other elements in a different xsd:sequence node -->
    <!-- this sequence (i.e. the party node) can now occur up to two times, if at all -->
    <xsd:sequence  minOccurs="0" maxOccurs="2">
      <xsd:element name="party">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="name" type="xsd:string"/>
            <xsd:element name="account" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>
 
HTH,
 
Bryce K. Nielsen
SysOnyx, Inc. (www.sysonyx.com)
Makers of xmlArchitect, the Smart XML Schema Editor
 
 
----- Original Message -----
Sent: Wednesday, February 04, 2004 8:59 AM
Subject: [xml-dev] Problems with schema creation, help!!

I have XML of a structure similar to this:

<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?

Thanks!

Chris






 

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

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