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
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
- Stylus Studio Technical Forum (14621)
-> + DTD "ANY" isn't honored by val... (2)
-> + Replacing carriage returns wit... (3)
-> + WS with SOAP - problem with pa... (5)
-> + problem converting CSV to XML (2)
-> - validating xml with multiple s... (4)
-> ->validating xml with multi...
-> ->validating xml with multi...
-> ->validating xml with multi...
-> + SOAP problems ! (2)
-> + mapping csv columns to schema (2)
-> - Access DB to XML doc using an ... (1)
-> - DataDirect SequelLink w/MS Acc... (1)
-> + Problem with DB to XML Source ... (3)
-> + problems to work from the comm... (3)
-> + Stylus Studio Enterprise WScal... (4)
-> + Erratic behaviour in EDIFACT a... (14)
-> + XML Pipeline Question (7)
-> + Stylus Studio reports invalid ... (4)
-> - Is there a way to generate a G... (1)
-> + Stylus produced XSLT not trans... (2)
-> + XML Editor spell check - bug w... (4)
-> + API unlocks OK, but fails in n... (4)
-> + EDI to XML conversion for UNOC... (11)
-> + Stylus crashed with recurence ... (2)
-- Previous [1801-1820] [1821-1840] [1841-1860] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
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
(Deleted User) Subject: validating xml with multiple schemas with wildcards
Author: (Deleted User)
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

   
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.