You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mu...@apache.org on 2013/01/05 11:43:19 UTC

svn commit: r1429247 - in /xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs: XMLAssertPsychopathXPath2Impl.java XMLSchemaValidator.java XSDAssertionValidator.java assertion/XSAssertConstants.java util/XS11TypeHelper.java

Author: mukulg
Date: Sat Jan  5 10:43:18 2013
New Revision: 1429247

URL: http://svn.apache.org/viewvc?rev=1429247&view=rev
Log:
schema 1.1 commit: when an attribute's simpleType has assertions and the type is a union of an atomic type and a list, the assertion context variable $value needs to have a relevant typed value. this commit provides few improvements related to this. there are also few minor refactorings and javadoc improvements.

Added:
    xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/assertion/XSAssertConstants.java   (with props)
Modified:
    xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLAssertPsychopathXPath2Impl.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/XSDAssertionValidator.java
    xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/util/XS11TypeHelper.java

Modified: xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLAssertPsychopathXPath2Impl.java
URL: http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLAssertPsychopathXPath2Impl.java?rev=1429247&r1=1429246&r2=1429247&view=diff
==============================================================================
--- xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLAssertPsychopathXPath2Impl.java (original)
+++ xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLAssertPsychopathXPath2Impl.java Sat Jan  5 10:43:18 2013
@@ -34,6 +34,7 @@ import org.apache.xerces.impl.dv.XSSimpl
 import org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl;
 import org.apache.xerces.impl.xs.assertion.XMLAssertAdapter;
 import org.apache.xerces.impl.xs.assertion.XSAssert;
+import org.apache.xerces.impl.xs.assertion.XSAssertConstants;
 import org.apache.xerces.impl.xs.assertion.XSAssertImpl;
 import org.apache.xerces.impl.xs.util.ObjectListImpl;
 import org.apache.xerces.impl.xs.util.XS11TypeHelper;
@@ -163,7 +164,7 @@ public class XMLAssertPsychopathXPath2Im
         }
 
         // if we have assertions applicable to this element, store the element reference and the assertions on it on the runtime stacks
-        List assertionList = (List) augs.getItem("ASSERT");
+        List assertionList = (List) augs.getItem(XSAssertConstants.assertList);
         if (assertionList != null) {
             fAssertRootStack.push(fCurrentAssertDomNode);
             fAssertListStack.push(assertionList);
@@ -172,7 +173,7 @@ public class XMLAssertPsychopathXPath2Im
 
         // evaluate assertions from attributes. evaluation of assertions on attributes in startElement call, helps us setting the PSVI results
         // for attributes appropriately.
-        if (((Boolean)augs.getItem("ATTRIBUTES-HAVE-ASSERTS")).booleanValue()) {
+        if (((Boolean)augs.getItem(XSAssertConstants.isAttrHaveAsserts)).booleanValue()) {
             evaluateAssertsFromAttributes(element, attributes);
         }
         
@@ -389,18 +390,18 @@ public class XMLAssertPsychopathXPath2Im
             // evaluating assertions for "simpleType -> list"                    
             evaluateAssertionOnSTListValue(element, value, assertImpl, false, simpleTypeDefn.getItemType(), isTypeDerivedFromList); 
         }
-        else if (((Boolean)augs.getItem("ASSERT_PROC_NEEDED_FOR_UNION")).booleanValue()) {
-            // evaluating assertions for "simpleType -> union" 
-            boolean isValueValidWithSTUnion = evaluateAssertionOnSTUnion(element, simpleTypeDefn, isTypeDerivedFromUnion, assertImpl, value, augs);
-            if (!isValueValidWithSTUnion) { 
-                if (isAttribute) {
-                   fXmlSchemaValidator.reportSchemaError("cvc-attribute.3", new Object[] {element.rawname, attrQname.localpart, value, ((XSSimpleTypeDecl)simpleTypeDefn).getTypeName()});
-                }
-                else {
-                    fXmlSchemaValidator.reportSchemaError("cvc-type.3.1.3", new Object[] {element.rawname, value}); 
-                }
+        else if (!isAttribute && ((Boolean)augs.getItem(XSAssertConstants.isAssertProcNeededForUnionElem)).booleanValue()) {
+            // evaluating assertions for "simpleType -> union" for an element             
+            if (!evaluateAssertionOnSTUnion(element, simpleTypeDefn, isTypeDerivedFromUnion, assertImpl, value, augs)) { 
+                fXmlSchemaValidator.reportSchemaError("cvc-type.3.1.3", new Object[] {element.rawname, value});
             }
         }
+        else if (isAttribute && ((Boolean)augs.getItem(XSAssertConstants.isAssertProcNeededForUnionAttr)).booleanValue()) {
+            // evaluating assertions for "simpleType -> union" for an attribute            
+            if (!evaluateAssertionOnSTUnion(element, simpleTypeDefn, isTypeDerivedFromUnion, assertImpl, value, augs)) { 
+                fXmlSchemaValidator.reportSchemaError("cvc-attribute.3", new Object[] {element.rawname, attrQname.localpart, value, ((XSSimpleTypeDecl)simpleTypeDefn).getTypeName()});
+            } 
+        }
         
     } // evaluateOneAssertionFromSimpleType
     

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=1429247&r1=1429246&r2=1429247&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 Sat Jan  5 10:43:18 2013
@@ -22,6 +22,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Hashtable;
 import java.util.Iterator;
+import java.util.List;
 import java.util.Map;
 import java.util.Stack;
 import java.util.Vector;
@@ -41,6 +42,7 @@ import org.apache.xerces.impl.dv.xs.Type
 import org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl;
 import org.apache.xerces.impl.validation.ValidationManager;
 import org.apache.xerces.impl.validation.ValidationState;
+import org.apache.xerces.impl.xs.assertion.XSAssertConstants;
 import org.apache.xerces.impl.xs.identity.Field;
 import org.apache.xerces.impl.xs.identity.FieldActivator;
 import org.apache.xerces.impl.xs.identity.IdentityConstraint;
@@ -1409,9 +1411,13 @@ public class XMLSchemaValidator
     // assertion validator subcomponent
     private XSDAssertionValidator fAssertionValidator = null;
 
-    // variable to track validity of simple content for union types. if a member type of union in XML Schema namespace, can
-    // successfully validate (in a preprocess step in this class) an atomic value, we don't process assertions for such union types.
-    private boolean fIsAssertProcessingNeededForSTUnion = true;
+    // variable to track validity of element simple content for union types. if a member type of union in XML Schema namespace can
+    // successfully validate an atomic value, we don't process assertions for such union types in downstream checks. i.e, a known
+    // valid element doesn't require assertion evaluations.
+    private boolean fIsAssertProcessingNeededForSTUnionElem = true;
+    
+    // a similar variable as above to track union type validity for attributes of one element.
+    private List fIsAssertProcessingNeededForSTUnionAttrs = new ArrayList();
     
     // 'type alternative' validator subcomponent
     private XSDTypeAlternativeValidator fTypeAlternativeValidator = null;
@@ -2083,6 +2089,11 @@ public class XMLSchemaValidator
             }
 
         }
+        
+        if (fSchemaVersion == Constants.SCHEMA_VERSION_1_1) {
+           // reset the list for next element
+           fIsAssertProcessingNeededForSTUnionAttrs.clear();
+        }
 
         // get xsi:schemaLocation and xsi:noNamespaceSchemaLocation attributes,
         // parse them to get the grammars. But only do this if the grammar can grow.
@@ -2550,6 +2561,11 @@ public class XMLSchemaValidator
             addDefaultAttributes(element, attributes, attrGrp);
         }
         
+        // assert check for union types, for attributes
+        if (fSchemaVersion == Constants.SCHEMA_VERSION_1_1) {
+           extraCheckForSTUnionAssertsAttrs(attributes);
+        }
+        
         // Set ID scope to parent
         // simple content of an element identifies the parent of the element
         if (fSchemaVersion == Constants.SCHEMA_VERSION_1_1) {
@@ -2588,10 +2604,15 @@ public class XMLSchemaValidator
         }                
                 
         if (fSchemaVersion == Constants.SCHEMA_VERSION_1_1) {
-            // find attributes among the attributes of the current element, which are declared inheritable and store them for later processing.
-            // one of the uses of inheritable attributes is in type alternatives processing.
+            // find attributes among the attributes of the current element which are declared inheritable, and store them for later processing
             saveInheritableAttributes(fCurrentElemDecl, attributes);
-            assertionValidatorStartElementDelegate(element, attributes, augs);             
+            // for each attribute, update its augmentation information to tell if its simpleType->union requires assertion evaluations
+            XMLAttributesImpl attrsImpl = (XMLAttributesImpl)attributes;
+            for (int attrIdx = 0; attrIdx < attrsImpl.getLength(); attrIdx++) {
+                Augmentations attrAugs = attrsImpl.getAugmentations(attrIdx);
+                attrAugs.putItem(XSAssertConstants.isAssertProcNeededForUnionAttr, fIsAssertProcessingNeededForSTUnionAttrs.get(attrIdx));
+            }
+            assertionValidatorStartElementDelegate(element, attributes, augs);
         }
 
         return augs;
@@ -2856,14 +2877,14 @@ public class XMLSchemaValidator
         assertElemPSVI.fNotation = fNotation;
         assertElemPSVI.fGrammars = fGrammarBucket.getGrammars();
         assertAugs.putItem(Constants.ELEMENT_PSVI, assertElemPSVI);
-        assertAugs.putItem("ASSERT_PROC_NEEDED_FOR_UNION", Boolean.valueOf(fIsAssertProcessingNeededForSTUnion));            
+        assertAugs.putItem(XSAssertConstants.isAssertProcNeededForUnionElem, Boolean.valueOf(fIsAssertProcessingNeededForSTUnionElem));            
         fAssertionValidator.handleEndElement(element, assertAugs);
         fFailedAssertions = assertElemPSVI.fFailedAssertions;
-        if (fAugPSVI && fIsAssertProcessingNeededForSTUnion) {
+        if (fAugPSVI && fIsAssertProcessingNeededForSTUnionElem) {
             // update PSVI
             fValidatedInfo.memberType = assertElemPSVI.fValue.memberType;                
         } 
-        fIsAssertProcessingNeededForSTUnion = true;
+        fIsAssertProcessingNeededForSTUnionElem = true;
         
     } // assertionValidatorEndElementDelegate
 
@@ -3561,12 +3582,6 @@ public class XMLSchemaValidator
         try {
             actualValue = attDV.validate(attrValue, fValidationState, fValidatedInfo);
             
-            // additional check for assertions processing, for simple type having variety 'union'            
-            if (fSchemaVersion == Constants.SCHEMA_VERSION_1_1) { 
-                extraCheckForSTUnionAsserts(attDV, attrValue, fValidatedInfo, attributes.getAugmentations(index));
-                fIsAssertProcessingNeededForSTUnion = true;
-            }
-            
             // store the normalized value
             if (fNormalizeData) {
                 attributes.setValue(index, fValidatedInfo.normalizedValue);
@@ -3589,7 +3604,6 @@ public class XMLSchemaValidator
             }
         } 
         catch (InvalidDatatypeValueException idve) {
-            fIsAssertProcessingNeededForSTUnion = false;
             reportSchemaError(idve.getKey(), idve.getArgs());
             reportSchemaError(
                 "cvc-attribute.3",
@@ -3712,15 +3726,8 @@ public class XMLSchemaValidator
                 try {
                     fValidationState.setFacetChecking(false);
                     attDV.validate(fValidationState, defaultValue);
-                    
-                    // additional check for assertions processing, for simple type having variety 'union'                    
-                    if (fSchemaVersion == Constants.SCHEMA_VERSION_1_1) {
-                        extraCheckForSTUnionAsserts(attDV, defaultValue.stringValue(), defaultValue, attributes.getAugmentations(i));
-                        fIsAssertProcessingNeededForSTUnion = true;
-                    }
                 } 
                 catch (InvalidDatatypeValueException idve) {
-                    fIsAssertProcessingNeededForSTUnion = false;
                     reportSchemaError(idve.getKey(), idve.getArgs());
                 }
                 fValidationState.setFacetChecking(facetChecking);
@@ -3925,10 +3932,10 @@ public class XMLSchemaValidator
                     
                     // additional check for assertions processing, for simple type having variety 'union'                    
                     if (fSchemaVersion == Constants.SCHEMA_VERSION_1_1) {
-                        extraCheckForSTUnionAsserts(dv, String.valueOf(textContent), fValidatedInfo, null);
+                        extraCheckForSTUnionAssertsElem(dv, String.valueOf(textContent), fValidatedInfo);
                     }
                 } catch (InvalidDatatypeValueException e) {
-                    fIsAssertProcessingNeededForSTUnion = false;
+                    fIsAssertProcessingNeededForSTUnionElem = false;
                     reportSchemaError(e.getKey(), e.getArgs());
                     reportSchemaError(
                         "cvc-type.3.1.3",
@@ -3970,10 +3977,10 @@ public class XMLSchemaValidator
                     
                     // additional check for assertions processing, for simple type having variety 'union'                    
                     if (fSchemaVersion == Constants.SCHEMA_VERSION_1_1) {
-                        extraCheckForSTUnionAsserts(dv, String.valueOf(textContent), fValidatedInfo, null);
+                        extraCheckForSTUnionAssertsElem(dv, String.valueOf(textContent), fValidatedInfo);
                     }
                 } catch (InvalidDatatypeValueException e) {
-                    fIsAssertProcessingNeededForSTUnion = false;
+                    fIsAssertProcessingNeededForSTUnionElem = false;
                     reportSchemaError(e.getKey(), e.getArgs());
                     reportSchemaError("cvc-complex-type.2.2", new Object[] { element.rawname });
                 }
@@ -5136,19 +5143,41 @@ public class XMLSchemaValidator
     }
     
     /*
-     * Extra checks for assertion evaluations for simpleType definitions with variety union.
+     * Extra checks for assertion evaluations for simpleType definitions with variety union, for attributes of one element.
      */
-    private void extraCheckForSTUnionAsserts(XSSimpleType simpleTypeDv, String content, ValidatedInfo validatedInfo, Augmentations augs) {
+    private void extraCheckForSTUnionAssertsAttrs(XMLAttributes attributes) {
+        
+        XMLAttributes attrsImpl = (XMLAttributesImpl)attributes;
+        
+        for (int attrIdx = 0; attrIdx < attrsImpl.getLength(); attrIdx++) {
+            Augmentations attrAugs = attrsImpl.getAugmentations(attrIdx);
+            AttributePSVImpl attrPsvi = (AttributePSVImpl)attrAugs.getItem(Constants.ATTRIBUTE_PSVI);            
+            XSSimpleTypeDefinition attrSimpleType = (XSSimpleTypeDefinition) attrPsvi.getTypeDefinition();
+            if (attrSimpleType != null && attrSimpleType.getVariety() == XSSimpleTypeDefinition.VARIETY_UNION && ((XSSimpleType) attrSimpleType.getBaseType()).getVariety() != XSSimpleTypeDefinition.VARIETY_UNION) {
+                if (XS11TypeHelper.isAtomicStrValueValidForSTUnion(attrSimpleType.getMemberTypes(), attrsImpl.getValue(attrIdx), attrPsvi.fValue, Constants.SCHEMA_VERSION_1_1)) {
+                    fIsAssertProcessingNeededForSTUnionAttrs.add(Boolean.valueOf(false));  
+                }
+                else {
+                    fIsAssertProcessingNeededForSTUnionAttrs.add(Boolean.valueOf(true)); 
+                }
+            }
+            else {
+                fIsAssertProcessingNeededForSTUnionAttrs.add(Boolean.valueOf(true)); 
+            }
+        }
+        
+    } // extraCheckForSTUnionAssertsAttrs
+    
+    /*
+     * Extra checks for assertion evaluations for simpleType definitions with variety union, for an element.
+     */
+    private void extraCheckForSTUnionAssertsElem(XSSimpleType simpleTypeDv, String content, ValidatedInfo validatedInfo) {
         if (simpleTypeDv.getVariety() == XSSimpleTypeDefinition.VARIETY_UNION && ((XSSimpleType) simpleTypeDv.getBaseType()).getVariety() != XSSimpleTypeDefinition.VARIETY_UNION) {
             if (XS11TypeHelper.isAtomicStrValueValidForSTUnion(simpleTypeDv.getMemberTypes(), content, validatedInfo, Constants.SCHEMA_VERSION_1_1)) {
-                fIsAssertProcessingNeededForSTUnion = false;
-            }
-            if (augs != null) {
-                // set augmentation information for an attribute
-                augs.putItem("ASSERT_PROC_NEEDED_FOR_UNION", Boolean.valueOf(fIsAssertProcessingNeededForSTUnion));                
+                fIsAssertProcessingNeededForSTUnionElem = false;
             }
         }
-    } // extraCheckForSTUnionAsserts
+    } // extraCheckForSTUnionAssertsElem
     
     /*
      * For the current element being handled by the XML Schema validator, find all inheritable attributes for this element.

Modified: xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XSDAssertionValidator.java
URL: http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XSDAssertionValidator.java?rev=1429247&r1=1429246&r2=1429247&view=diff
==============================================================================
--- xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XSDAssertionValidator.java (original)
+++ xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XSDAssertionValidator.java Sat Jan  5 10:43:18 2013
@@ -27,6 +27,7 @@ import java.util.Vector;
 import org.apache.xerces.impl.Constants;
 import org.apache.xerces.impl.xs.assertion.XMLAssertHandler;
 import org.apache.xerces.impl.xs.assertion.XSAssert;
+import org.apache.xerces.impl.xs.assertion.XSAssertConstants;
 import org.apache.xerces.impl.xs.assertion.XSAssertImpl;
 import org.apache.xerces.impl.xs.util.XSObjectListImpl;
 import org.apache.xerces.impl.xs.util.XS11TypeHelper;
@@ -116,8 +117,8 @@ public class XSDAssertionValidator {
         if (fAssertionProcessor != null) {
             // construct the augmentations object, for assertions
             AugmentationsImpl assertAugs = new AugmentationsImpl();
-            assertAugs.putItem("ASSERT", assertionList);
-            assertAugs.putItem("ATTRIBUTES-HAVE-ASSERTS", Boolean.valueOf(fAttributesHaveAsserts));
+            assertAugs.putItem(XSAssertConstants.assertList, assertionList);
+            assertAugs.putItem(XSAssertConstants.isAttrHaveAsserts, Boolean.valueOf(fAttributesHaveAsserts));
             fAttributesHaveAsserts = false;
             fAssertionProcessor.startElement(element, attributes, assertAugs);
         }

Added: xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/assertion/XSAssertConstants.java
URL: http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/assertion/XSAssertConstants.java?rev=1429247&view=auto
==============================================================================
--- xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/assertion/XSAssertConstants.java (added)
+++ xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/assertion/XSAssertConstants.java Sat Jan  5 10:43:18 2013
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.xerces.impl.xs.assertion;
+
+/**
+ * A class containing few constants related to XML Schema 1.1 assertion implementation.
+ * 
+ * @xerces.internal
+ * 
+ * @author Mukul Gandhi, IBM
+ * 
+ * @version $Id$
+ */
+public class XSAssertConstants {
+
+    // a list of assertion components
+    public static String assertList = "ASSERT_LIST";
+    
+    // are there any assertions present within an attribute's type
+    public static String isAttrHaveAsserts = "ATTRIBUTES_HAVE_ASSERTS";
+    
+    // is assertion processing needed for a simpleType->union for an element
+    public static String isAssertProcNeededForUnionElem = "ASSERT_PROC_NEEDED_FOR_UNION_ELEM";
+    
+    // is assertion processing needed for a simpleType->union for attributes of one element
+    public static String isAssertProcNeededForUnionAttr = "ASSERT_PROC_NEEDED_FOR_UNION_ATTR";
+    
+} // class XSAssertConstants

Propchange: xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/assertion/XSAssertConstants.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/assertion/XSAssertConstants.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/util/XS11TypeHelper.java
URL: http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/util/XS11TypeHelper.java?rev=1429247&r1=1429246&r2=1429247&view=diff
==============================================================================
--- xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/util/XS11TypeHelper.java (original)
+++ xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/util/XS11TypeHelper.java Sat Jan  5 10:43:18 2013
@@ -98,14 +98,14 @@ public class XS11TypeHelper {
     
     
     /*
-     * Determine if a string value (which will result in an XDM atomic value) is valid with respect to any of the simpleType -> union's member types 
-     * (those that are in XML Schema namespace). If this method returns a boolean 'true', then the value is valid with respect to entire union schema component. 
+     * Determine if a string value is valid with respect to any of the simpleType -> union's member types which are in XML Schema namespace.
+     * If this method returns a boolean 'true', then the value is valid with respect to entire union schema component. 
      */
     public static boolean isAtomicStrValueValidForSTUnion(XSObjectList memberTypes, String content, ValidatedInfo validatedInfo, short schemaVersion) {
         
         boolean isValueValid = false;
         
-        // check the union member types in order to check for validity of an atomic value. the validity of atomic value wrt
+        // check the union member types in order to find validity of an atomic value. the validity of atomic value wrt
         // to the 1st available type in union's member type collection, is sufficient to achieve the objective of this method.
         for (int memTypeIdx = 0; memTypeIdx < memberTypes.getLength(); memTypeIdx++) {
             XSSimpleType simpleTypeDv = (XSSimpleType) memberTypes.item(memTypeIdx);
@@ -122,8 +122,7 @@ public class XS11TypeHelper {
     
     
     /*
-     * Determine if a lexical "string value" belongs to the value space (i.e is valid according to the type) of a given schema 
-     * simpleType definition. Using Xerces API 'XSSimpleType.validate' for this need.
+     * Determine if a string value is valid with a given simpleType definition. Using Xerces API 'XSSimpleType.validate' for this need.
      */
     public static boolean isStrValueValidForASimpleType(String value, XSSimpleType simplType, short schemaVersion) {
         



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org