|
[XMLSCHEMA-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] [XML Schema 1.1] Using doc() in xs:assert ... the referenced document needs a schema?
From: Costello, Roger L. <costello@mitre.org>
Date: Mon, 27 Apr 2009 10:18:22 -0400 To: "'xmlschema-dev@w3.org'" <xmlschema-dev@w3.org> Message-ID: <9E51F88D5247B648908850C35A3BBB5003F245AA74@IMCMBX3.MITRE.ORG> Hi Folks, Here's a simple schema that uses xs:assert to check that the value of the <country> element matches one listed in an instance document (countries.xml): --------------------------------------------------------------- <?xml version="1.0"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <element name="Example"> <complexType> <sequence> <element name="country"> <simpleType> <restriction base="string"> <assert test="$value = doc('countries.xml')//country" /> </restriction> </simpleType> </element> </sequence> </complexType> </element> </schema> --------------------------------------------------------------- While running this example, I discovered these requirements: - the instance document referenced by xs:assert (countries.xml) must have a schema, and - I have to import that schema. Why? These requirements don't seem reasonable to me. I should be able to reference any instance document (under my control or otherwise) and use it as a data source. These requirements mean: - I can't reference instance documents that don't have a schema - I can't reference instance documents that uses some other schema language, such as DTD or RELAX NG. - Everything is tightly coupled: the schema, the referenced instance document and its schema. I can't easily switch to another instance document and use it as a data source. Would someone please explain the rationale for these requirements? /RogerReceived on Monday, 27 April 2009 14:18:59 GMT |
Subscribe in XML format
|

![[XML Schema 1.1] Using doc() in xs:assert ... the referenced document needs a schema?](/images/get_stylus.gif)




