- From: Henry S. Thompson <ht@cogsci.ed.ac.uk>
- Date: 18 Jan 2001 16:12:18 +0000
- To: chuck.han@autodesk.com
- Cc: xmlschema-dev@w3.org
chuck.han@autodesk.com writes: > I am trying to use substutionGroup in the following context: > > <schema xmlns:foo="http://foo" targetNamespace="http://f > <!-- elements -->oo"> > <element name="root"> > <complexType> > <choice maxOccurs="unbounded"> > <element ref="foo:FooParent"/> > <element ref="foo:Foo"/> > </choice> > </complexType> > </element> > <element name="FooParent" type="foo:FooParentType"/> > <element name="Foo" type="foo:FooType" > substitutionGroup="foo:FooParen > <!-- complexTypes -->t"/> > <complexType name="FooParentType"> > <attribute name="id" type="ID" use="optional"/> > <attribute name="idref" type="IDREF" use="optional"/> > </complexType> > <complexType name="FooType"> > <complexContent> > <extension base="foo:FooParentType"/> > </complexContent> > </complexType> > </schema> > > > > > XSV comes up with the following error: > > <schemaError char='23' line='8' phase='instance' > resource='file:/D:/Program Files/XSV/foo.xsd'>non-deterministic > content model for type None: > {http://foo}:Foo/{http://foo}:Foo</schemaError> > > > when I try to validate it against the following data file: > > <root xmlns="http://foo" > xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" > xsi:schemaLocation="http://foo foo.x > <Foo id="_100"/>sd"> > </root> > > I get no errors if I delete the: > > <element ref="foo:FooParent"/> > > line from the "root" element. Can you please explain the error? Sorry, what don't you understand? You have a choice group which allows Foo or FooParent. But Foo is declared to be in teh substitution group headed by FooParent, so anywhere FooParent appears in a contentModel this is equivalent to a choice between Foo and FooParent, i.e. your model is in DTD language: <!ELEMENT root (Foo|(Foo|FooParent))*> I hope it's clear that this violates the constraint [1] that you be able to say for every element in an instance what part of the content model it came from. ht [1] http://www.w3.org/TR/xmlschema-a/#cos-nonambig -- Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh W3C Fellow 1999--2001, part-time member of W3C Team 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 Fax: (44) 131 650-4587, e-mail: ht@cogsci.ed.ac.uk URL: http://www.ltg.ed.ac.uk/~ht/
Received on Thursday, 18 January 2001 11:12:38 UTC