Author: mukulg
Date: Wed Feb 14 09:45:12 2018
New Revision: 1824207
URL: http://svn.apache.org/viewvc?rev=1824207&view=rev
Log:
as per jira issue XERCESJ-1688, committing implementation of XSD 1.1 validation
when doing DOM parsing
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java?rev=1824207&r1=1824206&r2=1824207&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/jaxp/DocumentBuilderImpl.java
Wed Feb 14 09:45:12 2018
@@ -92,6 +92,10 @@ public class DocumentBuilderImpl extends
private static final String SECURITY_MANAGER =
Constants.XERCES_PROPERTY_PREFIX + Constants.SECURITY_MANAGER_PROPERTY;
+ /** Property identifier: XML Schema version. */
+ private static final String XML_SCHEMA_VERSION =
+ Constants.XERCES_PROPERTY_PREFIX +
Constants.XML_SCHEMA_VERSION_PROPERTY;
+
private final DOMParser domParser;
private final Schema grammar;
@@ -159,8 +163,12 @@ public class DocumentBuilderImpl extends
XMLParserConfiguration config =
domParser.getXMLParserConfiguration();
XMLComponent validatorComponent = null;
/** For Xerces grammars, use built-in schema validator. **/
- if (grammar instanceof XSGrammarPoolContainer) {
+ if (grammar instanceof XSGrammarPoolContainer) {
+ String xmlSchemaVersion = ((XSGrammarPoolContainer)
grammar).getXMLSchemaVersion();
validatorComponent = new XMLSchemaValidator();
+ if
((Constants.W3C_XML_SCHEMA11_NS_URI).equals(xmlSchemaVersion)) {
+ validatorComponent.setProperty(XML_SCHEMA_VERSION,
Constants.W3C_XML_SCHEMA11_NS_URI);
+ }
fSchemaValidationManager = new ValidationManager();
fUnparsedEntityHandler = new
UnparsedEntityHandler(fSchemaValidationManager);
config.setDTDHandler(fUnparsedEntityHandler);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]