[
https://issues.apache.org/jira/browse/XERCESC-1736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12519912
]
Denis Tkachov commented on XERCESC-1736:
----------------------------------------
Hi Jesse,
Sure, I can work it around by invoking XercesDOMParser::setValidationScheme
method.
You can fix it or not but inconsistency between documentation and
implementation is a bug.
>Changing the default to actually be auto may suprise some user's.
I do not think so. I was rather surprised that I have to set some one more
property in order to make validation available. From usability side it is more
intuitive that if you invoked XercesDOMParser::parse method, document will be
validated and you do not need to set some more properties...
> 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]