- From: John Snelson <jpcs@decisionsoft.com>
- Date: Wed, 03 Oct 2001 10:08:41 +0100
- To: xmlschema-dev@w3.org
I am trying to write a schema for a data format, and am using xerces-j to validate a document, as this is the target application. I have come accross a couple of problems, and I don't know whether xerces-j is wrong, or my understanding of XML Schema is wrong. I wonder if anyone can put me straight on this... Thank you in advance, John Problem 1: --------- I am sure that this document should fail the schema, but it does not. bug1.xml: <?xml version='1.0'?> <blah xmlns="blah.com" xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='blah.com bug1.xsd'> <fredHolder name="holder1"> <fredHolder name="holder5"/> </fredHolder> <fredRef ref="holder3"/> </blah> bug1.xsd: <?xml version="1.0" encoding="UTF-8"?> <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="blah.com" xmlns="blah.com" xmlns:blah="blah.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" > <xsd:element name="fredHolder"> <xsd:complexType> <xsd:sequence> <xsd:element ref="fredHolder" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="name" type="xsd:string" use="required"/> </xsd:complexType> <xsd:unique name="myUnique"> <xsd:selector xpath="."/> <xsd:field xpath="@name"/> </xsd:unique> </xsd:element> <xsd:element name="blah"> <xsd:complexType> <xsd:sequence> <xsd:element ref="fredHolder"/> <xsd:element name="fredRef"> <xsd:complexType> <xsd:attribute name="ref" type="xsd:string"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:keyref name="myRef" refer="myKey"> <xsd:selector xpath="blah:fredRef"/> <xsd:field xpath="@ref"/> </xsd:keyref> <xsd:key name="myKey"> <xsd:selector xpath=".//blah:fredHolder"/> <xsd:field xpath="@name"/> </xsd:key> </xsd:element> </xsd:schema> Problem 2: --------- I am sure that this document should pass, but it does not. bug2.xml: <?xml version='1.0'?> <fredHolder xmlns="blah.com" xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='blah.com bug2.xsd'> <fred name="alfred"/> <fredHolder> <fred name="alfred"/> </fredHolder> </fredHolder> bug2.xsd: <?xml version="1.0" encoding="UTF-8"?> <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="blah.com" xmlns="blah.com" xmlns:blah="blah.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" > <xsd:element name="fredHolder"> <xsd:complexType> <xsd:choice maxOccurs="2"> <xsd:element name="fred"> <xsd:complexType> <xsd:attribute name="name"/> </xsd:complexType> </xsd:element> <xsd:element ref="fredHolder"/> </xsd:choice> </xsd:complexType> <xsd:unique name="myUnique"> <xsd:selector xpath="./blah:fred"/> <xsd:field xpath="@name"/> </xsd:unique> </xsd:element> </xsd:schema> -- John Snelson, Software Engineer DecisionSoft Ltd. Telephone: +44-1865-203192 http://www.decisionsoft.com
Received on Wednesday, 3 October 2001 05:08:44 UTC