Author: knoaman
Date: Mon Apr 26 15:01:13 2010
New Revision: 938077
URL: http://svn.apache.org/viewvc?rev=938077&view=rev
Log:
anyAtomicType cannot be used as a base of simple type restriction.
Jira bug: https://issues.apache.org/jira/browse/XERCESJ-1437
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaGrammar.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaSymbols.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDSimpleTypeTraverser.java
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaGrammar.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaGrammar.java?rev=938077&r1=938076&r2=938077&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaGrammar.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaGrammar.java
Mon Apr 26 15:01:13 2010
@@ -1367,6 +1367,7 @@ public class SchemaGrammar implements XS
private final static BuiltinSchemaGrammar SG_Schema11NS = new
BuiltinSchemaGrammar(GRAMMAR_XS, Constants.SCHEMA_VERSION_1_1);
public final static XSSimpleType fAnySimpleType =
(XSSimpleType)SG_SchemaNS.getGlobalTypeDecl(SchemaSymbols.ATTVAL_ANYSIMPLETYPE);
+ public final static XSSimpleType fAnyAtomicType =
(XSSimpleType)SG_Schema11NS.getGlobalTypeDecl(SchemaSymbols.ATTVAL_ANYATOMICTYPE);
// the grammars to hold components of the schema-instance namespace
public final static BuiltinSchemaGrammar SG_XSI = new
BuiltinSchemaGrammar(GRAMMAR_XSI, Constants.SCHEMA_VERSION_1_0);
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaSymbols.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaSymbols.java?rev=938077&r1=938076&r2=938077&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaSymbols.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaSymbols.java
Mon Apr 26 15:01:13 2010
@@ -163,6 +163,7 @@ public final class SchemaSymbols {
public static final String ATTVAL_POUNDALL = "#all";
public static final String ATTVAL_FALSE_0 = "0";
public static final String ATTVAL_TRUE_1 = "1";
+ public static final String ATTVAL_ANYATOMICTYPE =
"anyAtomicType";
public static final String ATTVAL_ANYSIMPLETYPE = "anySimpleType";
public static final String ATTVAL_ANYTYPE = "anyType";
public static final String ATTVAL_ANYURI = "anyURI";
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java?rev=938077&r1=938076&r2=938077&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java
Mon Apr 26 15:01:13 2010
@@ -718,6 +718,13 @@ class XSDComplexTypeTraverser extends X
baseValidator = dv;
simpleContent = DOMUtil.getNextSiblingElement(simpleContent);
}
+ // anySimpleType or anyAtomicType are not allowed as base type
+ else if (baseValidator == SchemaGrammar.fAnySimpleType ||
baseValidator == SchemaGrammar.fAnyAtomicType) {
+ fAttrChecker.returnAttrArray(simpleContentAttrValues,
schemaDoc);
+ fAttrChecker.returnAttrArray(derivationTypeAttrValues,
schemaDoc);
+ throw new ComplexTypeRecoverableError("cos-st-restricts.1.1",
+ new Object[]{baseValidator.getName(),
genAnonTypeName(simpleContentElement)}, simpleContentElement);
+ }
// this only happens when restricting a mixed/emptiable CT
// but there is no <simpleType>, which is required
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDSimpleTypeTraverser.java
URL:
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDSimpleTypeTraverser.java?rev=938077&r1=938076&r2=938077&view=diff
==============================================================================
---
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDSimpleTypeTraverser.java
(original)
+++
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDSimpleTypeTraverser.java
Mon Apr 26 15:01:13 2010
@@ -491,7 +491,8 @@ class XSDSimpleTypeTraverser extends XSD
}
// if it's a complex type, or if its restriction of anySimpleType
- if (baseType == SchemaGrammar.fAnySimpleType &&
+ // or anyAtomicType (XML Schema 1.1)
+ if ((baseType == SchemaGrammar.fAnySimpleType || baseType ==
SchemaGrammar.fAnyAtomicType) &&
baseRefContext == XSConstants.DERIVATION_RESTRICTION) {
// if the base type is anySimpleType and the current type is
// a S4S built-in type, return null. (not an error).
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]