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 ]


Actually remove the <xs:sequence></xs:sequence> from the second <xs:element name="RequestedDeliveryDateTime" /> it should not be there.. sorry

Cheers,
brian




Brian J Gentry/NA/TNT/TPG

01/16/2006 01:47 PM

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






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