Author: mukulg
Date: Sat Mar 31 12:19:36 2012
New Revision: 1307787

URL: http://svn.apache.org/viewvc?rev=1307787&view=rev
Log:
fixing a NPE error (on schema 1.1 branch) reported by "Jorge Williams" on 
xerces list (problem ref, http://markmail.org/thread/ei2isj425fz2335a).

Modified:
    
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/XMLAssertPsychopathXPath2Impl.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=1307787&r1=1307786&r2=1307787&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 Mar 31 12:19:36 2012
@@ -191,20 +191,22 @@ public class XMLAssertPsychopathXPath2Im
             Augmentations attrAugs = attributes.getAugmentations(attrIdx);
             AttributePSVImpl attrPsvi = 
(AttributePSVImpl)attrAugs.getItem(Constants.ATTRIBUTE_PSVI);
             XSSimpleTypeDefinition attrSimpleType = (XSSimpleTypeDefinition) 
attrPsvi.getTypeDefinition();
-            List attrAssertList = 
fXmlSchemaValidator.getAssertionValidator().getAssertsFromSimpleType(attrSimpleType);
-            if (attrAssertList != null) {
-                boolean isTypeDerivedFromList = ((XSSimpleType) 
attrSimpleType.getBaseType()).getVariety() == XSSimpleType.VARIETY_LIST;
-                boolean isTypeDerivedFromUnion = ((XSSimpleType) 
attrSimpleType.getBaseType()).getVariety() == XSSimpleType.VARIETY_UNION;       
         
-                for (int assertIdx = 0; assertIdx < attrAssertList.size(); 
assertIdx++) {
-                    XSAssertImpl assertImpl = 
(XSAssertImpl)attrAssertList.get(assertIdx);
-                    assertImpl.setAttrName(attrQname.localpart);
-                    evaluateOneAssertionFromSimpleType(element, attrValue, 
attrAugs, attrSimpleType, isTypeDerivedFromList, isTypeDerivedFromUnion, 
assertImpl, true, attrQname);
-                    // evaluate assertions on itemType of xs:list
-                    XSSimpleTypeDefinition attrItemType = 
attrSimpleType.getItemType();
-                    if (isTypeDerivedFromList && attrItemType != null) {
-                        evaluateAssertsFromItemTypeOfSTList(element, 
attrItemType, attrValue);
-                    }
-                }                
+            if (attrSimpleType != null) {
+                List attrAssertList = 
fXmlSchemaValidator.getAssertionValidator().getAssertsFromSimpleType(attrSimpleType);
+                if (attrAssertList != null) {
+                    boolean isTypeDerivedFromList = ((XSSimpleType) 
attrSimpleType.getBaseType()).getVariety() == XSSimpleType.VARIETY_LIST;
+                    boolean isTypeDerivedFromUnion = ((XSSimpleType) 
attrSimpleType.getBaseType()).getVariety() == XSSimpleType.VARIETY_UNION;       
         
+                    for (int assertIdx = 0; assertIdx < attrAssertList.size(); 
assertIdx++) {
+                        XSAssertImpl assertImpl = 
(XSAssertImpl)attrAssertList.get(assertIdx);
+                        assertImpl.setAttrName(attrQname.localpart);
+                        evaluateOneAssertionFromSimpleType(element, attrValue, 
attrAugs, attrSimpleType, isTypeDerivedFromList, isTypeDerivedFromUnion, 
assertImpl, true, attrQname);
+                        // evaluate assertions on itemType of xs:list
+                        XSSimpleTypeDefinition attrItemType = 
attrSimpleType.getItemType();
+                        if (isTypeDerivedFromList && attrItemType != null) {
+                            evaluateAssertsFromItemTypeOfSTList(element, 
attrItemType, attrValue);
+                        }
+                    }                
+                }
             }
         }
         



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

Reply via email to