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
Uttam SoniSubject: XSD Validation failing
Author: Uttam Soni
Date: 20 Jul 2009 02:05 PM
Originally Posted: 20 Jul 2009 02:01 PM
I am trying to validate an XML against an XSD (actually 2 XSD's). The Validation keeps failing fro the namespace error. Having gone through the threads and the previous issues, I realize that it is associated with the Xerces limitation and the manual modification of the xmlschema.dtd, What I am not able to understand is "What and How" the namespace entry needs to be added to the dtd file.

the namespace entry that needs to be added is xmlns:yfctype=http://www.yantra.com/documentation/types

I am attaching the xsd's and the xml

Any pointers will be welcome

Regards
Uttam


DocumentYFS_getOrderDetails_output.xml
YFS_getOrderDetails_output.xml

Unknowndatatypes(1).xsd
datatypes.xsd

UnknownYFS_getOrderDetails_output(1).xsd

Postnext
Alberto MassariSubject: XSD Validation failing
Author: Alberto Massari
Date: 21 Jul 2009 07:16 AM
Hi Uttam,
I think the problem is not related to Xerces (if I understand it correctly, you are referring to the fact that Xerces cannot validate a schema that imports the official schema for XMLSchema); the XML file you attach instead is not placing the elements in the correct namespace as defined by the specific XMLSchema you wrote.
For instance, the XMLSchema has a targetNamespace of http://www.yantra.com/documentation/YFS/getOrderDetails/output so the Order root element must be in that namespace.
Usually adding a xmlns="http://www.yantra.com/documentation/YFS/getOrderDetails/output" to Order would be enough, but in your case the XMLSchema has a elementFormDefault="unqualified" directive that causes local element definitions (like AllowedModifications inside the OrderXSDType complex type) to be in the empty namespace. So, if you bind the default namespace to a non-empty namespace, you will not be able to place any other element in the empty namespace.
I don't know if you really meant to use the "unqualified" directive, but if you have to, you will have to specify a namespace prefix for just the right element names, like I did in the attached XML.

Hope this helps,
Alberto


UnknownYFS_getOrderDetails_output(1).xml
The fixed XML

Postnext
Uttam SoniSubject: XSD Validation failing
Author: Uttam Soni
Date: 21 Jul 2009 11:10 AM
Thanks a lot Alberto.

It really did help, however, if I try to generate a XML document using the schema that I sent earlier (YFS_getOrderDetails_output.xsd), the XML-XSD validation still fails.

I am not sure whether it has do something with the parser or the way in which namespaces are defined in the schema.


Please let me know

Posttop
Alberto MassariSubject: XSD Validation failing
Author: Alberto Massari
Date: 21 Jul 2009 12:50 PM
Hi Uttam,
when I generate a sample XML for your XSD using Stylus Studio I get only errors of type "no character data allowed" that are caused by the comments inserted by the generator to explain what he did. If you invoke Tool | Options | Module Settings -> XML Schema Editor -> XML Schema to XML and uncheck Generate Comments you should get an output like the one I am attaching, that passes validation with 0 errors.

Alberto


UnknownYFS_getOrderDetails.xml
A sample XML generated by Stylus Studio

 
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.