[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Extensible schemas and xs:any


xmlspy xs any
Hi all,

I am having trouble making an XML schema extensible through use of 
"xs:any".

What I want is a main schema that has an element that is allowed to
have a sequence of any child nodes. To do this I defined a
global type that has an xs:any content model (is that the
right way to say this?). The document element then has a child
element of this type. (see Main.xsd below)

Then I would like to have a 'sub' schema that xs:imports the main
schema - and in this sub schema I over-ride the "Stuff" element
from  the main schema and specify that the Stuff element must have
certain elements.
(see Sub.xsd below)

Finally - if I construct an instance document that specifies the
location of both schemas - and includes the Stuff element with
child elements as declared in the Sub schema - I try to validate
this hybrid document against both schemas. (see Stuff.xml below)

I've included below the 2 schemas and a sample instance. XSV
complaigns about the way I've done it (I've included a bit of the
error message below). XSV says it "can't find a type for
wildcard-matching element <qualified name of element in Sub schema>"

Is what I'm trying to do possible? If so what am I doing wrong?
If it's not possible - can anyone suggest a way to achieve the
same result - that is to be able to define elements of a schema
that can take any content - but that can be restricted by other
schemas?

Thanks

Murray

################### Main.xsd  ########################
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://redcone.gbst.com/Main"
     xmlns:main="http://redcone.gbst.com/Main"
     xmlns:xs="http://www.w3.org/2001/XMLSchema"
     elementFormDefault="qualified" attributeFormDefault="qualified">

     <xs:complexType name="StuffType">
	<xs:sequence>
	    <xs:any maxOccurs="unbounded"/>
	</xs:sequence>
	</xs:complexType>
	
	<xs:element name="Things">
	   <xs:complexType>
		<xs:sequence>
		    <xs:element name="Thing" type="xs:string"/>
		    <xs:element name="Stuff" type="main:StuffType"/>
		</xs:sequence>
	    </xs:complexType>
	</xs:element>
</xs:schema>

################### Sub.xsd  ########################
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XML Spy v4.0.1 U (http://www.xmlspy.com) by Nick 
Russell (QUT) -->
<xs:schema targetNamespace="http://redcone.gbst.com/Sub"
     xmlns:main="http://redcone.gbst.com/Main"
     xmlns:sub="http://redcone.gbst.com/Sub"
     xmlns:xs="http://www.w3.org/2001/XMLSchema"
     elementFormDefault="qualified" attributeFormDefault="qualified">

     <xs:import namespace="http://redcone.gbst.com/Main"
         schemaLocation="Main.xsd"/>

     <!-- This is the Document Element -->
     <xs:element  name="Stuff" type="sub:MyStuffType"/>

     <xs:complexType name="MyStuffType">
	<xs:complexContent>
	    <xs:restriction base="main:StuffType">
		<xs:sequence>
		    <xs:element name="MyStuffA" type="xs:string"/>
		    <xs:element name="MyStuffB" type="xs:string"/>
		</xs:sequence>
	    </xs:restriction >
	</xs:complexContent>
     </xs:complexType>
</xs:schema>

################### Stuff.xml  ########################
<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XML Spy v4.3 U (http://www.xmlspy.com)-->
<main:Things
	xmlns:main="http://redcone.gbst.com/Main"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 	
	xmlns:sub="http://redcone.gbst.com/Sub"
	xsi:schemaLocation=
		"http://redcone.gbst.com/Main
		Main.xsd
		http://redcone.gbst.com/Sub
		Sub.xsd">
	<main:Thing>String</main:Thing>
	<main:Stuff>
		<sub:MyStuffA>blah</sub:MyStuffA>
		<sub:MyStuffB>blad</sub:MyStuffB>
	</main:Stuff>
</main:Things>


############ fragment of XSV error msg  ##################
<invalid char='3' code='src-resolve' line='14'
resource='file:/f:/murray/sec_lending/schemas/Stuff.xml'>
can't find a type for wildcard-matching element
{http://redcone.gbst.com/Sub}:MyStuffA</invalid>




PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.