You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xmlbeans.apache.org by ra...@apache.org on 2009/06/03 23:07:20 UTC

svn commit: r781550 - in /xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema: StscChecker.java StscSimpleTypeResolver.java

Author: radup
Date: Wed Jun  3 21:07:20 2009
New Revision: 781550

URL: http://svn.apache.org/viewvc?rev=781550&view=rev
Log:
Another tweak to NOTATION-related checks

Modified:
    xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscChecker.java
    xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java

Modified: xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscChecker.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscChecker.java?rev=781550&r1=781549&r2=781550&view=diff
==============================================================================
--- xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscChecker.java (original)
+++ xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscChecker.java Wed Jun  3 21:07:20 2009
@@ -120,6 +120,15 @@
                     }
                     else
                     {
+                        if (sAttrs[i].getType().getSimpleVariety() == SchemaType.UNION)
+                        {
+                            SchemaType[] members = sAttrs[i].getType().getUnionConstituentTypes();
+                            for (int j = 0; j < members.length; j++)
+                                if (members[j].getBuiltinTypeCode() == SchemaType.BTC_NOTATION)
+                                    StscState.get().recover(XmlErrorCodes.ATTR_NOTATION_TYPE_FORBIDDEN,
+                                        new Object[]{ QNameHelper.pretty(sAttrs[i].getName()) },
+                                        attrLocation != null ? attrLocation : location);
+                        }
                         // Check that the Schema in which this is present doesn't have a targetNS
                         boolean hasNS;
                         if (sType.isAttributeType())
@@ -305,7 +314,19 @@
                             ((SchemaLocalElementImpl) model)._parseObject.selectAttribute("", "type"));
                     }
                     else
+                    {
+                        if (model.getType().getSimpleVariety() == SchemaType.UNION)
+                        {
+                            SchemaType[] members = model.getType().getUnionConstituentTypes();
+                            for (int i = 0; i < members.length; i++)
+                                if (members[i].getBuiltinTypeCode() == SchemaType.BTC_NOTATION)
+                                    StscState.get().recover(XmlErrorCodes.ELEM_NOTATION_TYPE_FORBIDDEN,
+                                        new Object[]{ QNameHelper.pretty(model.getName()) },
+                                        ((SchemaLocalElementImpl) model)._parseObject == null ? location :
+                                        ((SchemaLocalElementImpl) model)._parseObject.selectAttribute("", "type"));
+                        }
                         warningType = BuiltinSchemaTypeSystem.ST_NOTATION.getName().getLocalPart();
+                    }
 
                     // Check that the Schema in which this is present doesn't have a targetNS
                     boolean hasNS;

Modified: xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java?rev=781550&r1=781549&r2=781550&view=diff
==============================================================================
--- xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java (original)
+++ xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java Wed Jun  3 21:07:20 2009
@@ -380,10 +380,6 @@
             SchemaTypeImpl mImpl = (SchemaTypeImpl)memberImplList.get(i);
             if (mImpl.finalUnion())
                 state.error(XmlErrorCodes.SIMPLE_TYPE_PROPERTIES$UNION_FINAL, null, parseUnion);
-
-            // Check that the member type is not a plan NOTATION
-            if (mImpl.getBuiltinTypeCode() == SchemaType.BTC_NOTATION)
-                state.recover(XmlErrorCodes.DATATYPE_ENUM_NOTATION, null, parseUnion);
         }
 
         sImpl.setUnionOfLists(isUnionOfLists);



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