[
https://issues.apache.org/jira/browse/XERCESC-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jesse Pelton resolved XERCESC-1736.
-----------------------------------
Resolution: Invalid
I see two problems with your test case, one of which masks the other, at least
on my machine.
First, the DataObject in the instance document is in the namespace
"http://creopod.com/DataObject.xsd", but there is no namespace associated with
the schema. The DataObject in the schema therefore has no relationship to the
DataObject in the instance document. Likewise for other elements.
Second, the URL for the schema may not resolve as you expect (it didn't on my
machine). If it doesn't, the schema won't load, and no validation can occur.
I used the DOMPrint sample (admittedly the 2.5 version, but I have no reason to
think core functionality broke between 2.5 and 2.7) to test. Once I revised the
instance document to use a known good URL for the schema location and removed
the default namespace declaration, DOMPrint reported the errors one would
expect.
> xml document validation againsta schema
> ---------------------------------------
>
> Key: XERCESC-1736
> URL: https://issues.apache.org/jira/browse/XERCESC-1736
> Project: Xerces-C++
> Issue Type: Bug
> Components: Validating Parser (DTD), Validating Parser (Schema)
> (Xerces 1.5 or up only)
> Affects Versions: 2.7.0
> Environment: Windows XP professional
> Visual Studio 2005
> Reporter: Denis Tkachov
>
> Instances of both XercesDOMParser and SAX2XMLReader threat all the
> documents as valid even if a document does not match schema provided.
> In order if document does not match schema provided the library does not
> throw exception and getErrorCount method of the parser returns zero.
> So it seems to be a bug in the library.
> As example you can try this code:
> http://xml.apache.org/xerces-c/program-dom.html#ConstructXercesDOMParser
> Below are provided scheme and document (error marked with "does not match
> schema" comment) that reproduces error:
> datasetSchema.xsd:
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
> <xs:element name="DataObject">
> <xs:complexType>
> <xs:choice minOccurs="0" maxOccurs="unbounded">
> <xs:element name="MasterDataTable">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="key"
> type="xs:int"/>
> <xs:element name="name"
> type="xs:string"/>
> <xs:element
> name="surname" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="ChildDataTable">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="key"
> type="xs:int"/>
> <xs:element name="age"
> type="xs:string"/>
> <xs:element name="info"
> type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:choice>
> </xs:complexType>
> </xs:element>
> </xs:schema>
> output.xml:
> <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
> <DataObject xmlns="http://creopod.com/DataObject.xsd"
> xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
> xs:noNamespaceSchemaLocation="datasetSchema.xsd">
> <MasterDataTable>
> <key>1</key>
> <name>Vasya</name>
> <surname>Pupkin</surname>
> </MasterDataTable>
> <MasterDataTable>
> <key>2</key>
> <name>Petro</name>
> <surname>Kukurudza</surname>
> </MasterDataTable>
> <ChildDataTable>
> <key1>1</key1> <!-- does not match schema-->
> <age>23</age>
> <info>famous guy</info>
> </ChildDataTable>
> <ChildDataTable>
> <key1>2</key1> <!-- does not match schema-->
> <age>29</age>
> <info></info>
> </ChildDataTable>
> </DataObject>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]