Author: mukulg
Date: Thu Dec 1 03:57:40 2011
New Revision: 1208946
URL: http://svn.apache.org/viewvc?rev=1208946&view=rev
Log:
committing an implementation of a feature to control, if comment and PI nodes
should be visible in schema 1.1 <assert> XDM trees. the default value of this
feature is 'false'; therefore by default, comments and PIs won't be visible
within <assert> XDM trees and an opposite behavior for this could be enabled by
setting this feature to 'true'.
the decision to provide an user option for this, was recently made by the XML
Schema WG.
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/Constants.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaLoader.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/jaxp/validation/XMLSchemaValidatorComponentManager.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/parsers/StandardParserConfiguration.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/parsers/XML11Configuration.java
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/Constants.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/Constants.java?rev=1208946&r1=1208945&r2=1208946&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/Constants.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/Constants.java
Thu Dec 1 03:57:40 2011
@@ -337,6 +337,9 @@ public final class Constants {
/** Feature to control full XPath 2.0 checking for CTA processing */
public static final String CTA_FULL_XPATH_CHECKING_FEATURE =
"validation/cta-full-xpath-checking";
+ /** Feature to control, if comments and PIs should be available in
<assert> XDM trees */
+ public static final String ASSERT_COMMENT_PI_CHECKING_FEATURE =
"validation/assert-comments-and-pi-checking";
+
/** Feature to ignore errors caused by unparsed entities
("validation/unparsed-entity-checking") */
public static final String UNPARSED_ENTITY_CHECKING_FEATURE =
"validation/unparsed-entity-checking";
@@ -559,6 +562,7 @@ public final class Constants {
STRINGS_INTERNED_FEATURE,
TYPE_ALTERNATIVES_CHEKING_FEATURE,
CTA_FULL_XPATH_CHECKING_FEATURE,
+ ASSERT_COMMENT_PI_CHECKING_FEATURE,
};
/** Xerces properties. */
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaLoader.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaLoader.java?rev=1208946&r1=1208945&r2=1208946&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaLoader.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaLoader.java
Thu Dec 1 03:57:40 2011
@@ -146,10 +146,14 @@ XSLoader, DOMConfiguration {
protected static final String TOLERATE_DUPLICATES =
Constants.XERCES_FEATURE_PREFIX +
Constants.TOLERATE_DUPLICATES_FEATURE;
- /** Feature identifier: tolerate duplicates */
+ /** Feature identifier: full XPath 2.0 support for CTA */
protected static final String CTA_FULL_XPATH =
Constants.XERCES_FEATURE_PREFIX +
Constants.CTA_FULL_XPATH_CHECKING_FEATURE;
+ /** Feature identifier: comment and PI nodes for <assert> */
+ protected static final String ASSERT_COMMENT_PI =
+ Constants.XERCES_FEATURE_PREFIX +
Constants.ASSERT_COMMENT_PI_CHECKING_FEATURE;
+
/** Property identifier: Schema DV Factory */
protected static final String SCHEMA_DV_FACTORY =
Constants.XERCES_PROPERTY_PREFIX +
Constants.SCHEMA_DV_FACTORY_PROPERTY;
@@ -168,6 +172,7 @@ XSLoader, DOMConfiguration {
NAMESPACE_GROWTH,
TOLERATE_DUPLICATES,
CTA_FULL_XPATH,
+ ASSERT_COMMENT_PI,
};
// property identifiers
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java?rev=1208946&r1=1208945&r2=1208946&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLSchemaValidator.java
Thu Dec 1 03:57:40 2011
@@ -215,6 +215,10 @@ public class XMLSchemaValidator
/** Feature identifier: whether to ignore type alternatives */
protected static final String TYPE_ALTERNATIVES_CHECKING =
Constants.XERCES_FEATURE_PREFIX +
Constants.TYPE_ALTERNATIVES_CHEKING_FEATURE;
+
+ /** Feature identifier: whether to allow comment and PI nodes to be
visible during <assert> processing */
+ protected static final String ASSERT_COMMENT_PI_CHECKING =
+ Constants.XERCES_FEATURE_PREFIX +
Constants.ASSERT_COMMENT_PI_CHECKING_FEATURE;
// property identifiers
@@ -298,7 +302,8 @@ public class XMLSchemaValidator
UNPARSED_ENTITY_CHECKING,
NAMESPACE_GROWTH,
TOLERATE_DUPLICATES,
- TYPE_ALTERNATIVES_CHECKING
+ TYPE_ALTERNATIVES_CHECKING,
+ ASSERT_COMMENT_PI_CHECKING
};
@@ -330,6 +335,7 @@ public class XMLSchemaValidator
null,
null,
null,
+ null,
null
};
@@ -1145,7 +1151,7 @@ public class XMLSchemaValidator
*/
public void comment(XMLString text, Augmentations augs) throws
XNIException {
- if (fSchemaVersion == Constants.SCHEMA_VERSION_1_1) {
+ if (fSchemaVersion == Constants.SCHEMA_VERSION_1_1 &&
fCommentsAndPIsForAssert) {
fAssertionValidator.comment(text);
}
@@ -1176,7 +1182,7 @@ public class XMLSchemaValidator
public void processingInstruction(String target, XMLString data,
Augmentations augs)
throws XNIException {
- if (fSchemaVersion == Constants.SCHEMA_VERSION_1_1) {
+ if (fSchemaVersion == Constants.SCHEMA_VERSION_1_1 &&
fCommentsAndPIsForAssert) {
fAssertionValidator.processingInstruction(target, data);
}
@@ -1362,6 +1368,8 @@ public class XMLSchemaValidator
private boolean fIDCChecking;
private boolean fTypeAlternativesChecking;
+
+ private boolean fCommentsAndPIsForAssert;
/** temporary validated info */
private ValidatedInfo fValidatedInfo = new ValidatedInfo();
@@ -1664,6 +1672,13 @@ public class XMLSchemaValidator
fTypeAlternativesChecking = true;
}
+ try {
+ fCommentsAndPIsForAssert =
componentManager.getFeature(ASSERT_COMMENT_PI_CHECKING);
+ }
+ catch (XMLConfigurationException e) {
+ fCommentsAndPIsForAssert = true;
+ }
+
// get schema location properties
try {
fExternalSchemas = (String)
componentManager.getProperty(SCHEMA_LOCATION);
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java?rev=1208946&r1=1208945&r2=1208946&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
Thu Dec 1 03:57:40 2011
@@ -182,6 +182,10 @@ public class XSDHandler {
protected static final String CTA_FULL_XPATH =
Constants.XERCES_FEATURE_PREFIX +
Constants.CTA_FULL_XPATH_CHECKING_FEATURE;
+ /** Feature identifier: comment and PI nodes for <assert> */
+ protected static final String ASSERT_COMMENT_PI =
+ Constants.XERCES_FEATURE_PREFIX +
Constants.ASSERT_COMMENT_PI_CHECKING_FEATURE;
+
/** Feature identifier: namespace prefixes. */
private static final String NAMESPACE_PREFIXES =
Constants.SAX_FEATURE_PREFIX + Constants.NAMESPACE_PREFIXES_FEATURE;
@@ -416,6 +420,9 @@ public class XSDHandler {
// handle full XPath 2.0 feature
boolean fFullXPathForCTA = false;
+
+ // handle comments and PIs with <assert>
+ boolean fCommentsAndPIsForAssert = false;
// the XMLErrorReporter
private XMLErrorReporter fErrorReporter;
@@ -3850,6 +3857,12 @@ public class XSDHandler {
} catch (XMLConfigurationException e) {
fFullXPathForCTA = false;
}
+
+ try {
+ fCommentsAndPIsForAssert =
componentManager.getFeature(ASSERT_COMMENT_PI);
+ } catch (XMLConfigurationException e) {
+ fCommentsAndPIsForAssert = false;
+ }
try {
fSchemaParser.setFeature(
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/jaxp/validation/XMLSchemaValidatorComponentManager.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/jaxp/validation/XMLSchemaValidatorComponentManager.java?rev=1208946&r1=1208945&r2=1208946&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/jaxp/validation/XMLSchemaValidatorComponentManager.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/jaxp/validation/XMLSchemaValidatorComponentManager.java
Thu Dec 1 03:57:40 2011
@@ -91,6 +91,10 @@ final class XMLSchemaValidatorComponentM
private static final String CTA_FULL_XPATH_CHECKING =
Constants.XERCES_FEATURE_PREFIX +
Constants.CTA_FULL_XPATH_CHECKING_FEATURE;
+ /** Feature identifier: whether to allow comment and PI nodes to be
visible during <assert> processing */
+ private static final String ASSERT_COMMENT_PI_CHECKING =
+ Constants.XERCES_FEATURE_PREFIX +
Constants.ASSERT_COMMENT_PI_CHECKING_FEATURE;
+
/** Feature identifier: disallow DOCTYPE declaration */
private static final String DISALLOW_DOCTYPE_DECL_FEATURE =
Constants.XERCES_FEATURE_PREFIX +
Constants.DISALLOW_DOCTYPE_DECL_FEATURE;
@@ -296,6 +300,7 @@ final class XMLSchemaValidatorComponentM
fFeatures.put(UNPARSED_ENTITY_CHECKING, Boolean.TRUE);
fFeatures.put(TYPE_ALTERNATIVES_CHECKING, Boolean.TRUE);
fFeatures.put(CTA_FULL_XPATH_CHECKING, Boolean.FALSE);
+ fFeatures.put(ASSERT_COMMENT_PI_CHECKING, Boolean.FALSE);
}
/**
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/parsers/StandardParserConfiguration.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/parsers/StandardParserConfiguration.java?rev=1208946&r1=1208945&r2=1208946&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/parsers/StandardParserConfiguration.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/parsers/StandardParserConfiguration.java
Thu Dec 1 03:57:40 2011
@@ -135,6 +135,10 @@ public class StandardParserConfiguration
/** Feature identifier: whether to use full XPath 2.0 support for CTA
processing */
protected static final String CTA_FULL_XPATH_CHECKING =
Constants.XERCES_FEATURE_PREFIX +
Constants.CTA_FULL_XPATH_CHECKING_FEATURE;
+
+ /** Feature identifier: whether to allow comment and PI nodes to be
visible during <assert> processing */
+ protected static final String ASSERT_COMMENT_PI_CHECKING =
+ Constants.XERCES_FEATURE_PREFIX +
Constants.ASSERT_COMMENT_PI_CHECKING_FEATURE;
// property identifiers
@@ -244,6 +248,7 @@ public class StandardParserConfiguration
UNPARSED_ENTITY_CHECKING,
TYPE_ALTERNATIVES_CHECKING,
CTA_FULL_XPATH_CHECKING,
+ ASSERT_COMMENT_PI_CHECKING,
};
addRecognizedFeatures(recognizedFeatures);
@@ -263,6 +268,7 @@ public class StandardParserConfiguration
setFeature(UNPARSED_ENTITY_CHECKING, true);
setFeature(TYPE_ALTERNATIVES_CHECKING, true);
setFeature(CTA_FULL_XPATH_CHECKING, false);
+ setFeature(ASSERT_COMMENT_PI_CHECKING, false);
// add default recognized properties
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/parsers/XML11Configuration.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/parsers/XML11Configuration.java?rev=1208946&r1=1208945&r2=1208946&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/parsers/XML11Configuration.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/parsers/XML11Configuration.java
Thu Dec 1 03:57:40 2011
@@ -200,6 +200,10 @@ public class XML11Configuration extends
protected static final String CTA_FULL_XPATH_CHECKING =
Constants.XERCES_FEATURE_PREFIX +
Constants.CTA_FULL_XPATH_CHECKING_FEATURE;
+ /** Feature identifier: whether to allow comment and PI nodes to be
visible during <assert> processing */
+ protected static final String ASSERT_COMMENT_PI_CHECKING =
+ Constants.XERCES_FEATURE_PREFIX +
Constants.ASSERT_COMMENT_PI_CHECKING_FEATURE;
+
// property identifiers
@@ -504,6 +508,7 @@ public class XML11Configuration extends
UNPARSED_ENTITY_CHECKING, USE_GRAMMAR_POOL_ONLY,
TYPE_ALTERNATIVES_CHECKING,
CTA_FULL_XPATH_CHECKING,
+ ASSERT_COMMENT_PI_CHECKING,
// NOTE: These shouldn't really be here but since the
XML Schema
// validator is constructed dynamically, its
recognized
// features might not have been set and it would
cause a
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]