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: commits-unsubscr...@xerces.apache.org
For additional commands, e-mail: commits-h...@xerces.apache.org

Reply via email to