DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16652>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16652 data from CDATA section is not passed for validation Summary: data from CDATA section is not passed for validation Product: Xerces-C++ Version: 1.7.0 Platform: All OS/Version: All Status: NEW Severity: Major Priority: Other Component: Validating Parser (Schema) (Xerces 1.5 or up only) AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] It appears that XML scanner does not pass data from CDATA section to schema validator and thus it can not perform any sort of validation on the corresponding element's value. Here's an example: ************** sample.xml **************** <?xml version="1.0"?> <xscRoot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="sample.xsd"> <ExternallyVisible>yes</ExternallyVisible> <ListeningStates> <state>a-state-1</state> <hello><![CDATA[unsl]]></hello> <state>a-state-2</state> </ListeningStates> </xscRoot> ****************************************** *************** sample.xsd *************** <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="xscRoot"> <xsd:complexType> <xsd:sequence> <xsd:element name="ExternallyVisible" type="xsd:string"/> <xsd:element name="ListeningStates"> <xsd:complexType> <xsd:sequence> <xsd:element name="state" type="xsd:string"/> <xsd:element name="hello"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:minLength value="3"/> <xsd:maxLength value="6"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="state" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> *********************************** my expectation was that "unsl" would be determined as a content of "hello" element and the XML document would be found to confrom to the XML schema by the xerces, but the schema validation actually failed, saying that length of '0' violates minLength restriction of '3'. I think this happens because in scanCDSection() (in XMLScanner2.cpp) data collected from CDATA section is not passed to validator. I've tried to search through W3 XML documentation and on the Internet in general, but couldn't find any special considerations for validation of CDATA content. So my assumption is that it should be given as-is to the validator and should be validated as a regular element content. It looks like the corresponding code is pretty much the same in 2.1. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]