XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
viswa raoSubject: validating xml with multiple schemas with wildcards
Author: viswa rao
Date: 19 Jan 2007 09:32 AM
I am trying to find how to validate a xml file with two schema files where one schema file cust.xsd allows addition of elements from another schema cust1.xsd by using xs:any wildcard.

cust.xsd
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:cust="urn:25hoursaday-com:customer"
targetNamespace="urn:25hoursaday-com:customer" elementFormDefault="qualified">
<xs:element name="Customer">
<xs:complexType>
<xs:sequence>
<xs:element name="FirstName" type="xs:string" />
<xs:element name="LastName" type="xs:string" />
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:attribute name="customerID" type="xs:integer" />
<xs:anyAttribute namespace="##any" processContents="skip" />
</xs:complexType>
</xs:element>
<xs:element name="PhoneNumber" type="xs:string" />
<xs:element name="FrequentShopper" type="xs:boolean" />

<xs:complexType name="Element-0" abstract="true">
<xs:choice>
<xs:element name="untitled1"/>
<xs:element name="untitled2"/>
</xs:choice>
</xs:complexType>
</xs:schema>

cust1.xsd
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:addr="urn:25hoursaday-com:address"
targetNamespace="urn:25hoursaday-com:address" elementFormDefault="qualified">
<xs:element name="Customer">
<xs:complexType>
<xs:sequence>
<xs:element name="Address" type="xs:string" />
<xs:element name="City" type="xs:string" />
<xs:element name="State" type="xs:string" />
<xs:element name="Zip" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

and now the cust.xml that needs to be validated against both cust.xsd and cust1.xsd
<cust:Customer customerID="12345" numPurchases="17"
xmlns:cust="urn:25hoursaday-com:customer"
SchemaLocation="file://c:/per/Schemas_nn/test/cust.xsd"
xmlns:addr="urn:25hoursaday-com:address"
SchemaLocation="file://c:/per/Schemas_nn/test/cust1.xsd">

<cust:FirstName >Dare</cust:FirstName>
<cust:LastName >Obasanjo</cust:LastName>
<cust:PhoneNumber >425-555-1234</cust:PhoneNumber>

<addr:Address>2001 Beagle Drive</addr:Address>
<addr:City>Redmond</addr:City>
<addr:State>WA</addr:State>
<addr:Zip>98052</addr:Zip>
</cust:Customer>
Gives error: The attribute 'SchemaLocation' is already used in element 'cust:Customer'

My problem is how to tell the xml document that it has to validate against two schemas by pointing to two different locations of each schema

I really appreciate your help!

Postnext
Tony LavinioSubject: validating xml with multiple schemas with wildcards
Author: Tony Lavinio
Date: 19 Jan 2007 11:03 AM
First, which version of Stylus Studio are you using?

Postnext
viswa raoSubject: validating xml with multiple schemas with wildcards
Author: viswa rao
Date: 19 Jan 2007 12:42 PM
Stylus 2007 XML Enterprise Suite trail version.
Framework build version: 735f

Posttop
Alberto MassariSubject: validating xml with multiple schemas with wildcards
Author: Alberto Massari
Date: 26 Jan 2007 04:26 AM
You are placing two SchemaLocation attributes on the root element, and this is not valid XML. In order to bind a single XML with more than one schema you should use this syntax:

<cust:Customer customerID="12345" numPurchases="17" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:25hoursaday-com:customer file:///c:/per/Schemas_nn/test/cust.xsd urn:25hoursaday-com:address file:///c:/per/Schemas_nn/test/cust1.xsd">

The xsi:schemaLocation contains pair of strings, the first to define the namespace schema and the second to locate the XMLSchema file for that namespace.
You can let Stylus build the proper attributes by using XML | Associate XML with Schema multiple times.

Hope this helps,
Alberto

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

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