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] xs:choice question...

[ Lists Home | Date Index | Thread Index ]


That works in a vaccuum, im sorry i didnt fully elaborate the need in the first message.  I have a structure that looks like this:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.url/to/schema/namespace/OrderManagement/V1" elementFormDefault="qualified" attributeFormDefault="unqualified">
        <xs:complexType name="OrderHeader">
                <xs:sequence>
                        <xs:element name="Comments"  minOccurs="0"/>
                        <xs:element name="OrderWeight"  minOccurs="0"/>
                        <xs:element name="OrderPieces"  minOccurs="0"/>
                        <xs:element name="OrderVolume"  minOccurs="0"/>
                        <xs:choice>
                                <xs:sequence>
                                        <xs:element name="RequestedShipDateTime" />
                                        <xs:element name="RequestedDeliveryDateTime"  minOccurs="0"/>
                                </xs:sequence>
                                <xs:sequence>
                                        <xs:element name="RequestedDeliveryDateTime" />
                                </xs:sequence>
                        </xs:choice>
                        <xs:element name="RequestedShipDateTime"  minOccurs="0"/>
                        <xs:element name="RequestedDeliveryDateTime"  minOccurs="0"/>
                        <xs:element name="OrderDates"  minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="ShipFromParty" />
                        <xs:element name="ShipToParty" />
                        <xs:element name="OrderParty"  minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="OrderReference"  minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="OrderMonetary"  minOccurs="0" maxOccurs="unbounded"/>
                </xs:sequence>
        </xs:complexType>
</xs:schema>

I still get the "non-deterministic" message when i apply your pattern.  

Cheers,
brian


"Priscilla Walmsley" <pwalmsley-lists@datypic.com>

01/16/2006 12:44 PM

To
"'Brian J Gentry'" <Brian.j.Gentry@tntlogistics.com>, <xml-dev@lists.xml.org>
cc
Subject
RE: [xml-dev] xs:choice question...





Why not just:
 
                        <xs:choice>
                       
  <xs:sequence>
                                       
<xs:element name="A" minOccurs="1"/>
                                       
<xs:element name="B" minOccurs="0"/>
                         
</xs:sequence>
                       
  <xs:element name="B" minOccurs="1"/>
                       
</xs:choice>

Hope that helps,
Priscilla
 

-----------------------------------------------------------------
Priscilla Walmsley                
http://www.datypic.com
Author, Definitive XML Schema     (Prentice Hall PTR)
           Definitive XQuery (coming in 2006)

-----------------------------------------------------------------

 


From: Brian J Gentry [mailto:Brian.j.Gentry@tntlogistics.com]
Sent:
Monday, January 16, 2006 12:36 PM
To:
xml-dev@lists.xml.org
Subject:
[xml-dev] xs:choice question...



Hello,

        I have a schema that needs to require 1 of 2 elements, but also allow for both of them. So if the elements are A & B, then A alone is valid, B alone is valid, A & B are valid, but ~A & ~B is invalid.


I tried the following..


                       
<xs:choice>
                       
<xs:sequence>
                                       
<xs:element name="A" minOccurs="1"/>
                                       
<xs:element name="B" minOccurs="0"/>
                       
</xs:sequence>
                       
<xs:sequence>
                                       
<xs:element name="A" minOccurs="0"/>
                                       
<xs:element name="B" minOccurs="1"/>
                       
</xs:sequence>
                       
</xs:choice>

But this is not working as it makes the model non-deterministic.  Is there a way to solve this?


Thanks for your time and kind regards,

Brian Gentry





 

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

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