- From: Hans Teijgeler <hans.teijgeler@quicknet.nl>
- Date: Fri, 31 Dec 2004 11:01:29 +0100
- To: "xml-schema, developers-forum" <xmlschema-dev@w3.org>
- CC: "thompson, henry" <ht@cogsci.ed.ac.uk>
- Message-ID: <41D52379.79091291@quicknet.nl>
Folks, I sent this request for help ten days ago, but unfortunately got no reaction whatsoever. Can anybody help? regards, Hans ============================== Hans Teijgeler wrote: > Folks, > > Below are the snippets of a schema that are relevant to a problem I stumbled > across. > > I validated this schema against XSV and got the following error: > > file:///usr/local/XSV/xsvlog/tmpchD_tWuploaded:2265:5: Invalid: restricting > attribute with type > {http://www.tc184-s > 4.org/iso15926-7/datamodel/2005-1.xsd}any-enumerated_set_of_class > > not derived from declared base's attribute's type > {http://www.tc184-sc4.org/iso15926-7/datamodel/2005-1.xsd{any-thing} > > The code snippets are: > > <xs:simpleType name="id_pattern"> > <xs:restriction base="xs:NMTOKEN"> > <xs:pattern > value="([a-zA-Z][a-zA-Z0-9]__)*[a-zA-Z0-9\.\-]+(·[a-zA-Z0-9\.\-]+)?"/> > </xs:restriction> > </xs:simpleType> > <xs:simpleType name="idref_pattern"> > <xs:restriction base="xs:NMTOKEN"> > <xs:pattern > value="([a-zA-Z][a-zA-Z0-9]__)*[a-zA-Z0-9\.\-]+(·[a-zA-Z0-9\.\-]+)?"/> > </xs:restriction> > </xs:simpleType> > <!--=====================--> > <xs:complexType name="thing" abstract="true"> > <xs:attribute name="id" type="id_pattern" use="required"/> > </xs:complexType> > <xs:simpleType name="any-thing"> > <xs:restriction base="idref_pattern"/> > </xs:simpleType> > <!--=====================--> > <xs:complexType name="class"> > <xs:complexContent> > <xs:extension base="thing"/> > </xs:complexContent> > </xs:complexType> > <xs:simpleType name="any-class"> > <xs:restriction base="idref_pattern"/> > </xs:simpleType> > <!--=====================--> > <xs:complexType name="enumerated_set_of_class"> > <xs:complexContent> > <xs:extension base="class_of_class"/> > </xs:complexContent> > </xs:complexType> > <xs:simpleType name="any-enumerated_set_of_class"> > <xs:restriction base="idref_pattern"/> > </xs:simpleType> > <!--=====================--> > <xs:complexType name="functional_mapping"> > <xs:complexContent> > <xs:extension base="relationship"> > <xs:attribute name="input" type="any-thing" > use="required"/> > <xs:attribute name="result" type="any-thing" > use="required"/> > </xs:extension> > </xs:complexContent> > </xs:complexType> > <!--=====================--> > <xs:complexType name="difference_of_set_of_class"> > <xs:complexContent> > <xs:restriction base="functional_mapping"> > <xs:attribute name="input" > type="any-enumerated_set_of_class"/> <!--problem spot--> > <xs:attribute name="result" type="any-class"/> > > </xs:restriction> > </xs:complexContent> > </xs:complexType> > <!--=====================--> > > I produced this code with an older version (4.4) of XML Spy, and that seemed > to > be correct (perhaps at that time?). > > NOTE: From the rest of the schema one can derive that we deal here with the > following path through the model hierarchy: > thing >> class >> class_of_class >> enumerated_set_of_class. > > You may wonder what I tried to achieve. That is a kind of idref constraint, > where I cannot use idref, because: > > * the referenced id's are not part of the XML document (they are there, > somewhere on the Internet) > * the constraint shall be valid for all elements that are typed with this > complexType > * the types like "any-enumerated_set_of_class" are in fact hidden > Processing > Instructions, because the id referenced in the attribute "input" shall > not > only follow that pattern, but also belong to an element (instance) that > is > of the type "enumerated_set_of_class". > > Any suggestions how to solve this problem? > > Regards, > Hans > >
Received on Friday, 31 December 2004 09:58:40 UTC