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 2005/04/11 23:17:42 UTC

svn commit: r160953 - in xmlbeans/branches/1.x: bin/validate src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringEnumerationHolderEx.java src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringHolderEx.java

Author: radup
Date: Mon Apr 11 14:17:41 2005
New Revision: 160953

URL: http://svn.apache.org/viewcvs?view=rev&rev=160953
Log:
Integrate r155974 and r155831 in the V1 branch.

Modified:
    xmlbeans/branches/1.x/bin/validate
    xmlbeans/branches/1.x/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java
    xmlbeans/branches/1.x/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringEnumerationHolderEx.java
    xmlbeans/branches/1.x/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringHolderEx.java

Modified: xmlbeans/branches/1.x/bin/validate
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x/bin/validate?view=diff&r1=160952&r2=160953
==============================================================================
--- xmlbeans/branches/1.x/bin/validate (original)
+++ xmlbeans/branches/1.x/bin/validate Mon Apr 11 14:17:41 2005
@@ -4,7 +4,7 @@
 #
 # Validates an instance against a schema.
 
-CP=
+cp=
 
 if [ -e $XMLBEANS_HOME/build/ar/xbean.jar ]; then
     cp=$cp:$XMLBEANS_HOME/build/ar/xbean.jar;
@@ -14,8 +14,8 @@
 
 case "`uname`" in
     CYGWIN*)
-        CP=`cygpath -w -p $CP`
+        cp=`cygpath -w -p $cp`
         ;;
 esac
 
-java -classpath $CP org.apache.xmlbeans.impl.tool.InstanceValidator $*
+java -classpath $cp org.apache.xmlbeans.impl.tool.InstanceValidator $*

Modified: xmlbeans/branches/1.x/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java?view=diff&r1=160952&r2=160953
==============================================================================
--- xmlbeans/branches/1.x/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java (original)
+++ xmlbeans/branches/1.x/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java Mon Apr 11 14:17:41 2005
@@ -742,6 +742,11 @@
                             if (fdig.compareValue(myFacets[SchemaType.FACET_FRACTION_DIGITS]) > 0)
                                 state.error("Larger than prior fractionDigits", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
                         }
+                        if (myFacets[SchemaType.FACET_TOTAL_DIGITS] != null)
+                        {
+                            if (fdig.compareValue(myFacets[SchemaType.FACET_TOTAL_DIGITS]) > 0)
+                                state.error("Larget than prior totalDigits", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
+                        }
                         myFacets[code] = fdig;
                         break;
 
@@ -761,13 +766,13 @@
                         XmlAnySimpleType limit;
                         try
                         {
-                            limit = baseImpl.newValue(facet.getValue());
+                            limit = baseImpl.newValue(facet.getValue(), true);
                         }
                         catch (XmlValueOutOfRangeException e)
                         {
                             // note: this guarantees that the limit is a valid number in the
                             // base data type!!
-                            state.error("Must be valid value in base type", XmlErrorContext.FACET_VALUE_MALFORMED, facet);
+                            state.error("Must be valid value in base type" + e.getMessage(), XmlErrorContext.FACET_VALUE_MALFORMED, facet);
 
                             // BUGBUG: if there are actual schemas that redefine min/maxExclusive,
                             // they will need this rule relaxed for them!!

Modified: xmlbeans/branches/1.x/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringEnumerationHolderEx.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringEnumerationHolderEx.java?view=diff&r1=160952&r2=160953
==============================================================================
--- xmlbeans/branches/1.x/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringEnumerationHolderEx.java (original)
+++ xmlbeans/branches/1.x/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringEnumerationHolderEx.java Mon Apr 11 14:17:41 2005
@@ -44,17 +44,6 @@
     public static void validateLexical(String v, SchemaType sType, ValidationContext context)
     {
         JavaStringHolderEx.validateLexical(v, sType, context);
-
-        if (sType.hasStringEnumValues())
-        {
-            if (sType.enumForString(v) == null)
-            {
-                if (context != null)
-                {
-                    context.invalid("String '" + v + "' is not a valid enumerated value for " + QNameHelper.readable(sType));
-                }
-            }
-        }
     }
 
     protected void set_nil()

Modified: xmlbeans/branches/1.x/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringHolderEx.java
URL: http://svn.apache.org/viewcvs/xmlbeans/branches/1.x/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringHolderEx.java?view=diff&r1=160952&r2=160953
==============================================================================
--- xmlbeans/branches/1.x/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringHolderEx.java (original)
+++ xmlbeans/branches/1.x/src/typeimpl/org/apache/xmlbeans/impl/values/JavaStringHolderEx.java Mon Apr 11 14:17:41 2005
@@ -17,6 +17,7 @@
 
 import org.apache.xmlbeans.SchemaType;
 import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlAnySimpleType;
 import org.apache.xmlbeans.impl.common.ValidationContext;
 import org.apache.xmlbeans.impl.common.QNameHelper;
 
@@ -102,6 +103,23 @@
                         "max length facet (" + m + ") for " + QNameHelper.readable(sType));
                 return;
             }
+        }
+
+        // enumeration
+        // NOTE: can't use .hasStringEnumValues() or .enumForString()
+        // here since we may be validating against a string enum value
+        // during StscSimpleTypeResolver.resolveFacets() and the string
+        // enum table hasn't been constructed yet.
+        XmlAnySimpleType[] vals = sType.getEnumerationValues();
+        if (vals != null)
+        {
+            for (int i = 0; i < vals.length; i++)
+            {
+                if (v.equals(vals[i].getStringValue()))
+                    return;
+            }
+            context.invalid("String value '" + v + "' is not a valid enumeration " +
+                "value for " + QNameHelper.readable(sType));
         }
     }
     



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