- From: Pete Cordell <petexmldev@tech-know-ware.com>
- Date: Sun, 11 Mar 2007 12:53:34 -0000
- To: "Swayam Vemuri -X (swvemuri - WIPRO at Cisco)" <swvemuri@cisco.com>, <xmlschema-dev@w3.org>
I don't think there is a way this can be solved by just re-arranging the components. One suggestion is a variation on the extensbile schema patterns suggested by David Orchard in one of the xml.com articles (http://www.xml.com/lpt/a/1329), along the lines of: <xs:sequence> <xs:element name="description" type="xs:string" minOccurs="0"/> <xs:element ref="assert" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="database:Set" minOccurs="1" /> <xs:element name="extension" minOccurs="0"> <xs:any namespace=" ##other" processContents=" lax" minOccurs="1"/> </xs:element> </xs:sequence> (I tend to put extensions at the end!) If you're going that route, you might want to implement David's full pattern. HTH, Pete. -- ============================================= Pete Cordell Tech-Know-Ware Ltd for XML to C++ data binding visit http://www.tech-know-ware.com/lmx/ http://www.codalogic.com/lmx/ ============================================= ----- Original Message ----- From: "Swayam Vemuri -X (swvemuri - WIPRO at Cisco)" <swvemuri@cisco.com> To: <xmlschema-dev@w3.org> Sent: Sunday, March 11, 2007 3:51 AM Subject: Error: content model non-deterministic against .. Hi, I have a schema base1.xsd a snippet of which is as shown below. base1.xsd --------------- <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns="http://www.cisco.com/abc/def" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:java="http://www.cisco.com/abc/def/java" xmlns:database="http://www.cisco.com/abc/def/database" targetNamespace="http://www.cisco.com/abc/def" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:import namespace="http://www.cisco.com/abc/def/java" schemaLocation="def_Java_1.xsd"/> <xs:import namespace="http://www.cisco.com/abc/def/database" schemaLocation="def_DB_3.xsd"/> .............................. <xs:complexType name="referenceType"> <xs:sequence> <xs:any namespace=" ##other" processContents=" lax" minOccurs="0"/> <xs:element name="description" type="xs:string" minOccurs="0"/> <xs:element ref="assert" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="database:Set" minOccurs="1" /> </xs:sequence> ............... </xs:complexType> I have another schema def_DB_3.xsd a database schema which I am importing into base1.xsd In the database schema that is in def_DB_3.xsd, I have below <database:complexType name="CollectionType" abstract="true" > <database:complexContent> <database:restriction base="database:anyType"> <database:attribute name="KeyColumn" type="database:string" use="required"/> <database:attribute name="OneToManyClassName" type="database:string" use="required"/> </database:restriction> </database:complexContent> </database:complexType> <database:element name="Set"> <database:complexType > <database:complexContent> <database:extension base="CollectionType"/> </database:complexContent> </database:complexType> </database:element> Now when I try to validate base1.xsd Iam getting below error <xs:any namespace=" ##other" processContents=" lax" minOccurs="0"/> makes the content model non-deterministic against <xs:element ref=Set> Possible causes : name equality etc etc Can any one please let me know how to solve this problem. ? What are the various options in solving the problem ? If I comment out <xs:any namespace=" ##other" processContents=" lax" minOccurs="0"/>, then validation of base1.xsd is successful.Otherwise it fails. Thanks and regards Swayam
Received on Sunday, 11 March 2007 12:54:00 UTC