You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by kn...@apache.org on 2008/09/19 17:36:02 UTC

svn commit: r697134 [1/2] - in /xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs: SchemaSymbols.java traversers/XSAttributeChecker.java traversers/XSDComplexTypeTraverser.java traversers/XSDHandler.java traversers/XSDocumentInfo.java

Author: knoaman
Date: Fri Sep 19 08:36:02 2008
New Revision: 697134

URL: http://svn.apache.org/viewvc?rev=697134&view=rev
Log:
Add support for default attribute groups

Modified:
    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/XSAttributeChecker.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/XSDHandler.java
    xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDocumentInfo.java

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=697134&r1=697133&r2=697134&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 Fri Sep 19 08:36:02 2008
@@ -36,186 +36,188 @@
     // symbol table that comes with the parser
 
     // xsi attributes: in validator
-    public static final String URI_XSI                        = "http://www.w3.org/2001/XMLSchema-instance".intern();
+    public static final String URI_XSI                       = "http://www.w3.org/2001/XMLSchema-instance".intern();
     public static final String XSI_SCHEMALOCATION            = "schemaLocation".intern();
     public static final String XSI_NONAMESPACESCHEMALOCATION = "noNamespaceSchemaLocation".intern();
-    public static final String XSI_TYPE                       = "type".intern();
-    public static final String XSI_NIL                        = "nil".intern();
+    public static final String XSI_TYPE                      = "type".intern();
+    public static final String XSI_NIL                       = "nil".intern();
 
     // schema namespace
-    public static final String URI_SCHEMAFORSCHEMA            = "http://www.w3.org/2001/XMLSchema".intern();
+    public static final String URI_SCHEMAFORSCHEMA           = "http://www.w3.org/2001/XMLSchema".intern();
 
     // schema version namespace
     public static final String URI_SCHEMAVERSION = "http://www.w3.org/2007/XMLSchema-versioning".intern();
 
     // all possible schema element names
-    public static final String ELT_ALL                   = "all".intern();
-    public static final String ELT_ASSERT                = "assert".intern();
-    public static final String ELT_ALTERNATIVE           = "alternative".intern();
-    public static final String ELT_ANNOTATION            = "annotation".intern();
-    public static final String ELT_ANY                   = "any".intern();
-    public static final String ELT_ANYATTRIBUTE          = "anyAttribute".intern();
-    public static final String ELT_APPINFO               = "appinfo".intern();
-    public static final String ELT_ATTRIBUTE             = "attribute".intern();
-    public static final String ELT_ATTRIBUTEGROUP        = "attributeGroup".intern();
-    public static final String ELT_CHOICE                = "choice".intern();
-    public static final String ELT_COMPLEXCONTENT        = "complexContent".intern();
-    public static final String ELT_COMPLEXTYPE           = "complexType".intern();
-    public static final String ELT_DEFAULTOPENCONTENT    = "defaultOpenContent".intern();
-    public static final String ELT_DOCUMENTATION         = "documentation".intern();
-    public static final String ELT_ELEMENT               = "element".intern();
-    public static final String ELT_ENUMERATION           = "enumeration".intern();
-    public static final String ELT_EXTENSION             = "extension".intern();
-    public static final String ELT_FIELD                 = "field".intern();
-    public static final String ELT_FRACTIONDIGITS        = "fractionDigits".intern();
-    public static final String ELT_GROUP                 = "group".intern();
-    public static final String ELT_IMPORT                = "import".intern();
-    public static final String ELT_INCLUDE               = "include".intern();
-    public static final String ELT_KEY                   = "key".intern();
-    public static final String ELT_KEYREF                = "keyref".intern();
-    public static final String ELT_LENGTH                = "length".intern();
-    public static final String ELT_LIST                  = "list".intern();
-    public static final String ELT_MAXEXCLUSIVE          = "maxExclusive".intern();
-    public static final String ELT_MAXINCLUSIVE          = "maxInclusive".intern();
-    public static final String ELT_MAXLENGTH             = "maxLength".intern();
-    public static final String ELT_MINEXCLUSIVE          = "minExclusive".intern();
-    public static final String ELT_MININCLUSIVE          = "minInclusive".intern();
-    public static final String ELT_MINLENGTH             = "minLength".intern();
-    public static final String ELT_NOTATION              = "notation".intern();
-    public static final String ELT_OPENCONTENT           = "openContent".intern();
-    public static final String ELT_PATTERN               = "pattern".intern();
-    public static final String ELT_REDEFINE              = "redefine".intern();
-    public static final String ELT_RESTRICTION           = "restriction".intern();
-    public static final String ELT_SCHEMA                = "schema".intern();
-    public static final String ELT_SELECTOR              = "selector".intern();
-    public static final String ELT_SEQUENCE              = "sequence".intern();
-    public static final String ELT_SIMPLECONTENT         = "simpleContent".intern();
-    public static final String ELT_SIMPLETYPE            = "simpleType".intern();
-    public static final String ELT_TOTALDIGITS           = "totalDigits".intern();
-    public static final String ELT_UNION                 = "union".intern();
-    public static final String ELT_UNIQUE                = "unique".intern();
-    public static final String ELT_WHITESPACE            = "whiteSpace".intern();
+    public static final String ELT_ALL                    = "all".intern();
+    public static final String ELT_ASSERT                 = "assert".intern();
+    public static final String ELT_ALTERNATIVE            = "alternative".intern();
+    public static final String ELT_ANNOTATION             = "annotation".intern();
+    public static final String ELT_ANY                    = "any".intern();
+    public static final String ELT_ANYATTRIBUTE           = "anyAttribute".intern();
+    public static final String ELT_APPINFO                = "appinfo".intern();
+    public static final String ELT_ATTRIBUTE              = "attribute".intern();
+    public static final String ELT_ATTRIBUTEGROUP         = "attributeGroup".intern();
+    public static final String ELT_CHOICE                 = "choice".intern();
+    public static final String ELT_COMPLEXCONTENT         = "complexContent".intern();
+    public static final String ELT_COMPLEXTYPE            = "complexType".intern();
+    public static final String ELT_DEFAULTOPENCONTENT     = "defaultOpenContent".intern();
+    public static final String ELT_DOCUMENTATION          = "documentation".intern();
+    public static final String ELT_ELEMENT                = "element".intern();
+    public static final String ELT_ENUMERATION            = "enumeration".intern();
+    public static final String ELT_EXTENSION              = "extension".intern();
+    public static final String ELT_FIELD                  = "field".intern();
+    public static final String ELT_FRACTIONDIGITS         = "fractionDigits".intern();
+    public static final String ELT_GROUP                  = "group".intern();
+    public static final String ELT_IMPORT                 = "import".intern();
+    public static final String ELT_INCLUDE                = "include".intern();
+    public static final String ELT_KEY                    = "key".intern();
+    public static final String ELT_KEYREF                 = "keyref".intern();
+    public static final String ELT_LENGTH                 = "length".intern();
+    public static final String ELT_LIST                   = "list".intern();
+    public static final String ELT_MAXEXCLUSIVE           = "maxExclusive".intern();
+    public static final String ELT_MAXINCLUSIVE           = "maxInclusive".intern();
+    public static final String ELT_MAXLENGTH              = "maxLength".intern();
+    public static final String ELT_MINEXCLUSIVE           = "minExclusive".intern();
+    public static final String ELT_MININCLUSIVE           = "minInclusive".intern();
+    public static final String ELT_MINLENGTH              = "minLength".intern();
+    public static final String ELT_NOTATION               = "notation".intern();
+    public static final String ELT_OPENCONTENT            = "openContent".intern();
+    public static final String ELT_PATTERN                = "pattern".intern();
+    public static final String ELT_REDEFINE               = "redefine".intern();
+    public static final String ELT_RESTRICTION            = "restriction".intern();
+    public static final String ELT_SCHEMA                 = "schema".intern();
+    public static final String ELT_SELECTOR               = "selector".intern();
+    public static final String ELT_SEQUENCE               = "sequence".intern();
+    public static final String ELT_SIMPLECONTENT          = "simpleContent".intern();
+    public static final String ELT_SIMPLETYPE             = "simpleType".intern();
+    public static final String ELT_TOTALDIGITS            = "totalDigits".intern();
+    public static final String ELT_UNION                  = "union".intern();
+    public static final String ELT_UNIQUE                 = "unique".intern();
+    public static final String ELT_WHITESPACE             = "whiteSpace".intern();
  
     // all possible schema attribute names (and xml:lang defined on <schema> and <documentation>)
-    public static final String ATT_ABSTRACT              = "abstract".intern();
-    public static final String ATT_APPLIESTOEMPTY        = "appliesToEmpty".intern();
-    public static final String ATT_ATTRIBUTEFORMDEFAULT  = "attributeFormDefault".intern();
-    public static final String ATT_BASE                  = "base".intern();
-    public static final String ATT_BLOCK                 = "block".intern();
-    public static final String ATT_BLOCKDEFAULT          = "blockDefault".intern();
-    public static final String ATT_DEFAULT               = "default".intern();
-    public static final String ATT_ELEMENTFORMDEFAULT    = "elementFormDefault".intern();
-    public static final String ATT_FINAL                 = "final".intern();
-    public static final String ATT_FINALDEFAULT          = "finalDefault".intern();
-    public static final String ATT_FIXED                 = "fixed".intern();
-    public static final String ATT_FORM                  = "form".intern();
-    public static final String ATT_ID                    = "id".intern();
-    public static final String ATT_ITEMTYPE              = "itemType".intern();
-    public static final String ATT_MAXOCCURS             = "maxOccurs".intern();
-    public static final String ATT_MEMBERTYPES           = "memberTypes".intern();
-    public static final String ATT_MINOCCURS             = "minOccurs".intern();
-    public static final String ATT_MIXED                 = "mixed".intern();
-    public static final String ATT_MODE                  = "mode".intern();    
-    public static final String ATT_NAME                  = "name".intern();
-    public static final String ATT_NAMESPACE             = "namespace".intern();
-    public static final String ATT_NILLABLE              = "nillable".intern();
-    public static final String ATT_PROCESSCONTENTS       = "processContents".intern();
-    public static final String ATT_REF                   = "ref".intern();
-    public static final String ATT_REFER                 = "refer".intern();
-    public static final String ATT_SCHEMALOCATION        = "schemaLocation".intern();
-    public static final String ATT_SOURCE                = "source".intern();
-    public static final String ATT_SUBSTITUTIONGROUP     = "substitutionGroup".intern();
-    public static final String ATT_SYSTEM                = "system".intern();
-    public static final String ATT_PUBLIC                = "public".intern();
-    public static final String ATT_TARGETNAMESPACE       = "targetNamespace".intern();
-    public static final String ATT_TEST                  = "test".intern();
-    public static final String ATT_TYPE                  = "type".intern();
-    public static final String ATT_USE                   = "use".intern();
-    public static final String ATT_VALUE                 = "value".intern();
-    public static final String ATT_VERSION               = "version".intern();
-    public static final String ATT_XML_LANG              = "xml:lang".intern();
-    public static final String ATT_XPATH                 = "xpath".intern();
-    public static final String ATT_XPATH_DEFAULT_NS      = "xpathDefaultNamespace".intern();    
-    public static final String ATT_MINVERSION            = "minVersion".intern();
-    public static final String ATT_MAXVERSION            = "maxVersion".intern();
+    public static final String ATT_ABSTRACT               = "abstract".intern();
+    public static final String ATT_APPLIESTOEMPTY         = "appliesToEmpty".intern();
+    public static final String ATT_ATTRIBUTEFORMDEFAULT   = "attributeFormDefault".intern();
+    public static final String ATT_BASE                   = "base".intern();
+    public static final String ATT_BLOCK                  = "block".intern();
+    public static final String ATT_BLOCKDEFAULT           = "blockDefault".intern();
+    public static final String ATT_DEFAULT                = "default".intern();
+    public static final String ATT_DEFAULTATTRIBUTESAPPLY = "defaultAttributesApply".intern();
+    public static final String ATT_DEFAULTATTRIBUTES      = "defaultAttributes".intern();    
+    public static final String ATT_ELEMENTFORMDEFAULT     = "elementFormDefault".intern();
+    public static final String ATT_FINAL                  = "final".intern();
+    public static final String ATT_FINALDEFAULT           = "finalDefault".intern();
+    public static final String ATT_FIXED                  = "fixed".intern();
+    public static final String ATT_FORM                   = "form".intern();
+    public static final String ATT_ID                     = "id".intern();
+    public static final String ATT_ITEMTYPE               = "itemType".intern();
+    public static final String ATT_MAXOCCURS              = "maxOccurs".intern();
+    public static final String ATT_MEMBERTYPES            = "memberTypes".intern();
+    public static final String ATT_MINOCCURS              = "minOccurs".intern();
+    public static final String ATT_MIXED                  = "mixed".intern();
+    public static final String ATT_MODE                   = "mode".intern();    
+    public static final String ATT_NAME                   = "name".intern();
+    public static final String ATT_NAMESPACE              = "namespace".intern();
+    public static final String ATT_NILLABLE               = "nillable".intern();
+    public static final String ATT_PROCESSCONTENTS        = "processContents".intern();
+    public static final String ATT_REF                    = "ref".intern();
+    public static final String ATT_REFER                  = "refer".intern();
+    public static final String ATT_SCHEMALOCATION         = "schemaLocation".intern();
+    public static final String ATT_SOURCE                 = "source".intern();
+    public static final String ATT_SUBSTITUTIONGROUP      = "substitutionGroup".intern();
+    public static final String ATT_SYSTEM                 = "system".intern();
+    public static final String ATT_PUBLIC                 = "public".intern();
+    public static final String ATT_TARGETNAMESPACE        = "targetNamespace".intern();
+    public static final String ATT_TEST                   = "test".intern();
+    public static final String ATT_TYPE                   = "type".intern();
+    public static final String ATT_USE                    = "use".intern();
+    public static final String ATT_VALUE                  = "value".intern();
+    public static final String ATT_VERSION                = "version".intern();
+    public static final String ATT_XML_LANG               = "xml:lang".intern();
+    public static final String ATT_XPATH                  = "xpath".intern();
+    public static final String ATT_XPATH_DEFAULT_NS       = "xpathDefaultNamespace".intern();    
+    public static final String ATT_MINVERSION             = "minVersion".intern();
+    public static final String ATT_MAXVERSION             = "maxVersion".intern();
 
     // all possible schema attribute values
-    public static final String ATTVAL_TWOPOUNDANY        = "##any";
-    public static final String ATTVAL_TWOPOUNDDDEFAULTNS = "##defaultNamespace";    
-    public static final String ATTVAL_TWOPOUNDLOCAL      = "##local";
-    public static final String ATTVAL_TWOPOUNDOTHER      = "##other";
-    public static final String ATTVAL_TWOPOUNDTARGETNS   = "##targetNamespace";
-    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_ANYSIMPLETYPE      = "anySimpleType";
-    public static final String ATTVAL_ANYTYPE            = "anyType";
-    public static final String ATTVAL_ANYURI             = "anyURI";
-    public static final String ATTVAL_BASE64BINARY       = "base64Binary";
-    public static final String ATTVAL_BOOLEAN            = "boolean";
-    public static final String ATTVAL_BYTE               = "byte";
-    public static final String ATTVAL_COLLAPSE           = "collapse";
-    public static final String ATTVAL_DATE               = "date";
-    public static final String ATTVAL_DATETIME           = "dateTime";
-    public static final String ATTVAL_DAY                = "gDay";
-    public static final String ATTVAL_DECIMAL            = "decimal";
-    public static final String ATTVAL_DOUBLE             = "double";
-    public static final String ATTVAL_DURATION           = "duration";
-    public static final String ATTVAL_ENTITY             = "ENTITY";
-    public static final String ATTVAL_ENTITIES           = "ENTITIES";
-    public static final String ATTVAL_EXTENSION          = "extension";
-    public static final String ATTVAL_FALSE              = "false";
-    public static final String ATTVAL_FLOAT              = "float";
-    public static final String ATTVAL_HEXBINARY          = "hexBinary";
-    public static final String ATTVAL_ID                 = "ID";
-    public static final String ATTVAL_IDREF              = "IDREF";
-    public static final String ATTVAL_IDREFS             = "IDREFS";
-    public static final String ATTVAL_INT                = "int";
-    public static final String ATTVAL_INTEGER            = "integer";
-    public static final String ATTVAL_INTERLEAVE         = "interleave";    
-    public static final String ATTVAL_LANGUAGE           = "language";
-    public static final String ATTVAL_LAX                = "lax";
-    public static final String ATTVAL_LIST               = "list";
-    public static final String ATTVAL_LONG               = "long";
-    public static final String ATTVAL_NAME               = "Name";
-    public static final String ATTVAL_NEGATIVEINTEGER    = "negativeInteger";
-    public static final String ATTVAL_MONTH              = "gMonth";
-    public static final String ATTVAL_MONTHDAY           = "gMonthDay";
-    public static final String ATTVAL_NCNAME             = "NCName";
-    public static final String ATTVAL_NMTOKEN            = "NMTOKEN";
-    public static final String ATTVAL_NMTOKENS           = "NMTOKENS";
-    public static final String ATTVAL_NONE               = "none";    
-    public static final String ATTVAL_NONNEGATIVEINTEGER = "nonNegativeInteger";
-    public static final String ATTVAL_NONPOSITIVEINTEGER = "nonPositiveInteger";
-    public static final String ATTVAL_NORMALIZEDSTRING   = "normalizedString";
-    public static final String ATTVAL_NOTATION           = "NOTATION";
-    public static final String ATTVAL_OPTIONAL           = "optional";
-    public static final String ATTVAL_POSITIVEINTEGER    = "positiveInteger";
-    public static final String ATTVAL_PRESERVE           = "preserve";
-    public static final String ATTVAL_PROHIBITED         = "prohibited";
-    public static final String ATTVAL_QNAME              = "QName";
-    public static final String ATTVAL_QUALIFIED          = "qualified";
-    public static final String ATTVAL_REPLACE            = "replace";
-    public static final String ATTVAL_REQUIRED           = "required";
-    public static final String ATTVAL_RESTRICTION        = "restriction";
-    public static final String ATTVAL_SHORT              = "short";
-    public static final String ATTVAL_SKIP               = "skip";
-    public static final String ATTVAL_STRICT             = "strict";
-    public static final String ATTVAL_STRING             = "string";    
-    public static final String ATTVAL_SUBSTITUTION       = "substitution";
-    public static final String ATTVAL_SUFFIX             = "suffix";
-    public static final String ATTVAL_TIME               = "time";
-    public static final String ATTVAL_TOKEN              = "token";
-    public static final String ATTVAL_TRUE               = "true";
-    public static final String ATTVAL_UNBOUNDED          = "unbounded";
-    public static final String ATTVAL_UNION              = "union";
-    public static final String ATTVAL_UNQUALIFIED        = "unqualified";
-    public static final String ATTVAL_UNSIGNEDBYTE       = "unsignedByte";
-    public static final String ATTVAL_UNSIGNEDINT        = "unsignedInt";
-    public static final String ATTVAL_UNSIGNEDLONG       = "unsignedLong";
-    public static final String ATTVAL_UNSIGNEDSHORT      = "unsignedShort";
-    public static final String ATTVAL_YEAR               = "gYear";
-    public static final String ATTVAL_YEARMONTH          = "gYearMonth";
+    public static final String ATTVAL_TWOPOUNDANY         = "##any";
+    public static final String ATTVAL_TWOPOUNDDEFAULTNS  = "##defaultNamespace";    
+    public static final String ATTVAL_TWOPOUNDLOCAL       = "##local";
+    public static final String ATTVAL_TWOPOUNDOTHER       = "##other";
+    public static final String ATTVAL_TWOPOUNDTARGETNS    = "##targetNamespace";
+    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_ANYSIMPLETYPE       = "anySimpleType";
+    public static final String ATTVAL_ANYTYPE             = "anyType";
+    public static final String ATTVAL_ANYURI              = "anyURI";
+    public static final String ATTVAL_BASE64BINARY        = "base64Binary";
+    public static final String ATTVAL_BOOLEAN             = "boolean";
+    public static final String ATTVAL_BYTE                = "byte";
+    public static final String ATTVAL_COLLAPSE            = "collapse";
+    public static final String ATTVAL_DATE                = "date";
+    public static final String ATTVAL_DATETIME            = "dateTime";
+    public static final String ATTVAL_DAY                 = "gDay";
+    public static final String ATTVAL_DECIMAL             = "decimal";
+    public static final String ATTVAL_DOUBLE              = "double";
+    public static final String ATTVAL_DURATION            = "duration";
+    public static final String ATTVAL_ENTITY              = "ENTITY";
+    public static final String ATTVAL_ENTITIES            = "ENTITIES";
+    public static final String ATTVAL_EXTENSION           = "extension";
+    public static final String ATTVAL_FALSE               = "false";
+    public static final String ATTVAL_FLOAT               = "float";
+    public static final String ATTVAL_HEXBINARY           = "hexBinary";
+    public static final String ATTVAL_ID                  = "ID";
+    public static final String ATTVAL_IDREF               = "IDREF";
+    public static final String ATTVAL_IDREFS              = "IDREFS";
+    public static final String ATTVAL_INT                 = "int";
+    public static final String ATTVAL_INTEGER             = "integer";
+    public static final String ATTVAL_INTERLEAVE          = "interleave";    
+    public static final String ATTVAL_LANGUAGE            = "language";
+    public static final String ATTVAL_LAX                 = "lax";
+    public static final String ATTVAL_LIST                = "list";
+    public static final String ATTVAL_LONG                = "long";
+    public static final String ATTVAL_NAME                = "Name";
+    public static final String ATTVAL_NEGATIVEINTEGER     = "negativeInteger";
+    public static final String ATTVAL_MONTH               = "gMonth";
+    public static final String ATTVAL_MONTHDAY            = "gMonthDay";
+    public static final String ATTVAL_NCNAME              = "NCName";
+    public static final String ATTVAL_NMTOKEN             = "NMTOKEN";
+    public static final String ATTVAL_NMTOKENS            = "NMTOKENS";
+    public static final String ATTVAL_NONE                = "none";    
+    public static final String ATTVAL_NONNEGATIVEINTEGER  = "nonNegativeInteger";
+    public static final String ATTVAL_NONPOSITIVEINTEGER  = "nonPositiveInteger";
+    public static final String ATTVAL_NORMALIZEDSTRING    = "normalizedString";
+    public static final String ATTVAL_NOTATION            = "NOTATION";
+    public static final String ATTVAL_OPTIONAL            = "optional";
+    public static final String ATTVAL_POSITIVEINTEGER     = "positiveInteger";
+    public static final String ATTVAL_PRESERVE            = "preserve";
+    public static final String ATTVAL_PROHIBITED          = "prohibited";
+    public static final String ATTVAL_QNAME               = "QName";
+    public static final String ATTVAL_QUALIFIED           = "qualified";
+    public static final String ATTVAL_REPLACE             = "replace";
+    public static final String ATTVAL_REQUIRED            = "required";
+    public static final String ATTVAL_RESTRICTION         = "restriction";
+    public static final String ATTVAL_SHORT               = "short";
+    public static final String ATTVAL_SKIP                = "skip";
+    public static final String ATTVAL_STRICT              = "strict";
+    public static final String ATTVAL_STRING              = "string";    
+    public static final String ATTVAL_SUBSTITUTION        = "substitution";
+    public static final String ATTVAL_SUFFIX              = "suffix";
+    public static final String ATTVAL_TIME                = "time";
+    public static final String ATTVAL_TOKEN               = "token";
+    public static final String ATTVAL_TRUE                =  "true";
+    public static final String ATTVAL_UNBOUNDED           =  "unbounded";
+    public static final String ATTVAL_UNION               = "union";
+    public static final String ATTVAL_UNQUALIFIED         = "unqualified";
+    public static final String ATTVAL_UNSIGNEDBYTE        = "unsignedByte";
+    public static final String ATTVAL_UNSIGNEDINT         = "unsignedInt";
+    public static final String ATTVAL_UNSIGNEDLONG        = "unsignedLong";
+    public static final String ATTVAL_UNSIGNEDSHORT       = "unsignedShort";
+    public static final String ATTVAL_YEAR                = "gYear";
+    public static final String ATTVAL_YEARMONTH           = "gYearMonth";
 
     // form qualified/unqualified
     public static final short FORM_UNQUALIFIED = 0;

Modified: xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSAttributeChecker.java
URL: http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSAttributeChecker.java?rev=697134&r1=697133&r2=697134&view=diff
==============================================================================
--- xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSAttributeChecker.java (original)
+++ xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSAttributeChecker.java Fri Sep 19 08:36:02 2008
@@ -22,6 +22,7 @@
 import java.util.StringTokenizer;
 import java.util.Vector;
 
+import org.apache.xerces.impl.Constants;
 import org.apache.xerces.impl.dv.InvalidDatatypeValueException;
 import org.apache.xerces.impl.dv.XSSimpleType;
 import org.apache.xerces.impl.xs.SchemaGrammar;
@@ -78,53 +79,55 @@
     private static final String ATTRIBUTE_N = "attribute_n";
     private static final String ATTRIBUTE_R = "attribute_r";
 
-    private static       int ATTIDX_COUNT           = 0;
-    public static final int ATTIDX_ABSTRACT        = ATTIDX_COUNT++;
-    public static final int ATTIDX_AFORMDEFAULT    = ATTIDX_COUNT++;
-    public static final int ATTIDX_BASE            = ATTIDX_COUNT++;
-    public static final int ATTIDX_BLOCK           = ATTIDX_COUNT++;
-    public static final int ATTIDX_BLOCKDEFAULT    = ATTIDX_COUNT++;
-    public static final int ATTIDX_DEFAULT         = ATTIDX_COUNT++;
-    public static final int ATTIDX_EFORMDEFAULT    = ATTIDX_COUNT++;
-    public static final int ATTIDX_FINAL           = ATTIDX_COUNT++;
-    public static final int ATTIDX_FINALDEFAULT    = ATTIDX_COUNT++;
-    public static final int ATTIDX_FIXED           = ATTIDX_COUNT++;
-    public static final int ATTIDX_FORM            = ATTIDX_COUNT++;
-    public static final int ATTIDX_ID              = ATTIDX_COUNT++;
-    public static final int ATTIDX_ITEMTYPE        = ATTIDX_COUNT++;
-    public static final int ATTIDX_MAXOCCURS       = ATTIDX_COUNT++;
-    public static final int ATTIDX_MEMBERTYPES     = ATTIDX_COUNT++;
-    public static final int ATTIDX_MINOCCURS       = ATTIDX_COUNT++;
-    public static final int ATTIDX_MIXED           = ATTIDX_COUNT++;
-    public static final int ATTIDX_NAME            = ATTIDX_COUNT++;
-    public static final int ATTIDX_NAMESPACE       = ATTIDX_COUNT++;
-    public static final int ATTIDX_NAMESPACE_LIST  = ATTIDX_COUNT++;
-    public static final int ATTIDX_NILLABLE        = ATTIDX_COUNT++;
-    public static final int ATTIDX_NONSCHEMA       = ATTIDX_COUNT++;
-    public static final int ATTIDX_PROCESSCONTENTS = ATTIDX_COUNT++;
-    public static final int ATTIDX_PUBLIC          = ATTIDX_COUNT++;
-    public static final int ATTIDX_REF             = ATTIDX_COUNT++;
-    public static final int ATTIDX_REFER           = ATTIDX_COUNT++;
-    public static final int ATTIDX_SCHEMALOCATION  = ATTIDX_COUNT++;
-    public static final int ATTIDX_SOURCE          = ATTIDX_COUNT++;
-    public static final int ATTIDX_SUBSGROUP       = ATTIDX_COUNT++;
-    public static final int ATTIDX_SYSTEM          = ATTIDX_COUNT++;
-    public static final int ATTIDX_TARGETNAMESPACE = ATTIDX_COUNT++;
-    public static final int ATTIDX_TYPE            = ATTIDX_COUNT++;
-    public static final int ATTIDX_USE             = ATTIDX_COUNT++;
-    public static final int ATTIDX_VALUE           = ATTIDX_COUNT++;
-    public static final int ATTIDX_ENUMNSDECLS     = ATTIDX_COUNT++;
-    public static final int ATTIDX_VERSION         = ATTIDX_COUNT++;
-    public static final int ATTIDX_XML_LANG        = ATTIDX_COUNT++;
-    public static final int ATTIDX_XPATH           = ATTIDX_COUNT++;
-    public static final int ATTIDX_FROMDEFAULT     = ATTIDX_COUNT++;
-    //public static final int ATTIDX_OTHERVALUES     = ATTIDX_COUNT++;
-    public static final int ATTIDX_ISRETURNED      = ATTIDX_COUNT++;
+    private static      int ATTIDX_COUNT             = 0;
+    public static final int ATTIDX_ABSTRACT          = ATTIDX_COUNT++;
+    public static final int ATTIDX_AFORMDEFAULT      = ATTIDX_COUNT++;
+    public static final int ATTIDX_BASE              = ATTIDX_COUNT++;
+    public static final int ATTIDX_BLOCK             = ATTIDX_COUNT++;
+    public static final int ATTIDX_BLOCKDEFAULT      = ATTIDX_COUNT++;
+    public static final int ATTIDX_DEFAULT           = ATTIDX_COUNT++;
+    public static final int ATTIDX_EFORMDEFAULT      = ATTIDX_COUNT++;
+    public static final int ATTIDX_FINAL             = ATTIDX_COUNT++;
+    public static final int ATTIDX_FINALDEFAULT      = ATTIDX_COUNT++;
+    public static final int ATTIDX_FIXED             = ATTIDX_COUNT++;
+    public static final int ATTIDX_FORM              = ATTIDX_COUNT++;
+    public static final int ATTIDX_ID                = ATTIDX_COUNT++;
+    public static final int ATTIDX_ITEMTYPE          = ATTIDX_COUNT++;
+    public static final int ATTIDX_MAXOCCURS         = ATTIDX_COUNT++;
+    public static final int ATTIDX_MEMBERTYPES       = ATTIDX_COUNT++;
+    public static final int ATTIDX_MINOCCURS         = ATTIDX_COUNT++;
+    public static final int ATTIDX_MIXED             = ATTIDX_COUNT++;
+    public static final int ATTIDX_NAME              = ATTIDX_COUNT++;
+    public static final int ATTIDX_NAMESPACE         = ATTIDX_COUNT++;
+    public static final int ATTIDX_NAMESPACE_LIST    = ATTIDX_COUNT++;
+    public static final int ATTIDX_NILLABLE          = ATTIDX_COUNT++;
+    public static final int ATTIDX_NONSCHEMA         = ATTIDX_COUNT++;
+    public static final int ATTIDX_PROCESSCONTENTS   = ATTIDX_COUNT++;
+    public static final int ATTIDX_PUBLIC            = ATTIDX_COUNT++;
+    public static final int ATTIDX_REF               = ATTIDX_COUNT++;
+    public static final int ATTIDX_REFER             = ATTIDX_COUNT++;
+    public static final int ATTIDX_SCHEMALOCATION    = ATTIDX_COUNT++;
+    public static final int ATTIDX_SOURCE            = ATTIDX_COUNT++;
+    public static final int ATTIDX_SUBSGROUP         = ATTIDX_COUNT++;
+    public static final int ATTIDX_SYSTEM            = ATTIDX_COUNT++;
+    public static final int ATTIDX_TARGETNAMESPACE   = ATTIDX_COUNT++;
+    public static final int ATTIDX_TYPE              = ATTIDX_COUNT++;
+    public static final int ATTIDX_USE               = ATTIDX_COUNT++;
+    public static final int ATTIDX_VALUE             = ATTIDX_COUNT++;
+    public static final int ATTIDX_ENUMNSDECLS       = ATTIDX_COUNT++;
+    public static final int ATTIDX_VERSION           = ATTIDX_COUNT++;
+    public static final int ATTIDX_XML_LANG          = ATTIDX_COUNT++;
+    public static final int ATTIDX_XPATH             = ATTIDX_COUNT++;
+    public static final int ATTIDX_FROMDEFAULT       = ATTIDX_COUNT++;
+    //public static final int ATTIDX_OTHERVALUES       = ATTIDX_COUNT++;
+    public static final int ATTIDX_ISRETURNED        = ATTIDX_COUNT++;
     
     //  Schema 1.1
-    public static final int ATTIDX_XPATHDEFAULTNS  = ATTIDX_COUNT++;
-    public static final int ATTIDX_APPLIESTOEMPTY  = ATTIDX_COUNT++;
-    public static final int ATTIDX_MODE            = ATTIDX_COUNT++;    
+    public static final int ATTIDX_APPLIESTOEMPTY    = ATTIDX_COUNT++;
+    public static final int ATTIDX_DEFAULTATTRAPPLY  = ATTIDX_COUNT++;
+    public static final int ATTIDX_DEFAULTATTRIBUTES = ATTIDX_COUNT++;    
+    public static final int ATTIDX_MODE              = ATTIDX_COUNT++;
+    public static final int ATTIDX_XPATHDEFAULTNS    = ATTIDX_COUNT++;    
 
     private static final XIntPool fXIntPool = new XIntPool();
     // constants to return
@@ -154,6 +157,14 @@
     // for 39 local elements
     private static final Hashtable fEleAttrsMapL = new Hashtable(79);
 
+    // XML Schema 1.1
+    //
+    // used to store the map from element name to attribute list
+    // for 15 global elements
+    private static final Hashtable fEleAttrs11MapG = new Hashtable(31);
+    // for 47 local elememnts
+    private static final Hashtable fEleAttrs11MapL = new Hashtable(97);
+
     // used to initialize fEleAttrsMap
     // step 1: all possible data types
     // DT_??? >= 0 : validate using a validator, which is initialized staticly
@@ -219,276 +230,289 @@
     static {
         // step 2: all possible attributes for all elements
         int attCount = 0;
-        int ATT_ABSTRACT_D          = attCount++;
-        int ATT_ATTRIBUTE_FD_D      = attCount++;
-        int ATT_BASE_R              = attCount++;
-        int ATT_BASE_N              = attCount++;
-        int ATT_BLOCK_N             = attCount++;
-        int ATT_BLOCK1_N            = attCount++;
-        int ATT_BLOCK_D_D           = attCount++;
-        int ATT_DEFAULT_N           = attCount++;
-        int ATT_ELEMENT_FD_D        = attCount++;
-        int ATT_FINAL_N             = attCount++;
-        int ATT_FINAL1_N            = attCount++;
-        int ATT_FINAL_D_D           = attCount++;
-        int ATT_FIXED_N             = attCount++;
-        int ATT_FIXED_D             = attCount++;
-        int ATT_FORM_N              = attCount++;
-        int ATT_ID_N                = attCount++;
-        int ATT_ITEMTYPE_N          = attCount++;
-        int ATT_MAXOCCURS_D         = attCount++;
-        int ATT_MAXOCCURS1_D        = attCount++;
-        int ATT_MEMBER_T_N          = attCount++;
-        int ATT_MINOCCURS_D         = attCount++;
-        int ATT_MINOCCURS1_D        = attCount++;
-        int ATT_MIXED_D             = attCount++;
-        int ATT_MIXED_N             = attCount++;
-        int ATT_NAME_R              = attCount++;
-        int ATT_NAMESPACE_D         = attCount++;
-        int ATT_NAMESPACE_N         = attCount++;
-        int ATT_NILLABLE_D          = attCount++;
-        int ATT_PROCESS_C_D         = attCount++;
-        int ATT_PUBLIC_R            = attCount++;
-        int ATT_REF_R               = attCount++;
-        int ATT_REFER_R             = attCount++;
-        int ATT_SCHEMA_L_R          = attCount++;
-        int ATT_SCHEMA_L_N          = attCount++;
-        int ATT_SOURCE_N            = attCount++;
-        int ATT_SUBSTITUTION_G_N    = attCount++;
-        int ATT_SYSTEM_N            = attCount++;
-        int ATT_TARGET_N_N          = attCount++;
-        int ATT_TYPE_N              = attCount++;
-        int ATT_USE_D               = attCount++;
-        int ATT_VALUE_NNI_N         = attCount++;
-        int ATT_VALUE_PI_N          = attCount++;
-        int ATT_VALUE_STR_N         = attCount++;
-        int ATT_VALUE_WS_N          = attCount++;
-        int ATT_VERSION_N           = attCount++;
-        int ATT_XML_LANG            = attCount++;
-        int ATT_XPATH_R             = attCount++;
-        int ATT_XPATH1_R            = attCount++;
+        int ATT_ABSTRACT_D           = attCount++;
+        int ATT_ATTRIBUTE_FD_D       = attCount++;
+        int ATT_BASE_R               = attCount++;
+        int ATT_BASE_N               = attCount++;
+        int ATT_BLOCK_N              = attCount++;
+        int ATT_BLOCK1_N             = attCount++;
+        int ATT_BLOCK_D_D            = attCount++;
+        int ATT_DEFAULT_N            = attCount++;
+        int ATT_ELEMENT_FD_D         = attCount++;
+        int ATT_FINAL_N              = attCount++;
+        int ATT_FINAL1_N             = attCount++;
+        int ATT_FINAL_D_D            = attCount++;
+        int ATT_FIXED_N              = attCount++;
+        int ATT_FIXED_D              = attCount++;
+        int ATT_FORM_N               = attCount++;
+        int ATT_ID_N                 = attCount++;
+        int ATT_ITEMTYPE_N           = attCount++;
+        int ATT_MAXOCCURS_D          = attCount++;
+        int ATT_MAXOCCURS1_D         = attCount++;
+        int ATT_MEMBER_T_N           = attCount++;
+        int ATT_MINOCCURS_D          = attCount++;
+        int ATT_MINOCCURS1_D         = attCount++;
+        int ATT_MIXED_D              = attCount++;
+        int ATT_MIXED_N              = attCount++;
+        int ATT_NAME_R               = attCount++;
+        int ATT_NAMESPACE_D          = attCount++;
+        int ATT_NAMESPACE_N          = attCount++;
+        int ATT_NILLABLE_D           = attCount++;
+        int ATT_PROCESS_C_D          = attCount++;
+        int ATT_PUBLIC_R             = attCount++;
+        int ATT_REF_R                = attCount++;
+        int ATT_REFER_R              = attCount++;
+        int ATT_SCHEMA_L_R           = attCount++;
+        int ATT_SCHEMA_L_N           = attCount++;
+        int ATT_SOURCE_N             = attCount++;
+        int ATT_SUBSTITUTION_G_N     = attCount++;
+        int ATT_SYSTEM_N             = attCount++;
+        int ATT_TARGET_N_N           = attCount++;
+        int ATT_TYPE_N               = attCount++;
+        int ATT_USE_D                = attCount++;
+        int ATT_VALUE_NNI_N          = attCount++;
+        int ATT_VALUE_PI_N           = attCount++;
+        int ATT_VALUE_STR_N          = attCount++;
+        int ATT_VALUE_WS_N           = attCount++;
+        int ATT_VERSION_N            = attCount++;
+        int ATT_XML_LANG             = attCount++;
+        int ATT_XPATH_R              = attCount++;
+        int ATT_XPATH1_R             = attCount++;
+
         // XML Schema 1.1 attributes
-        int ATT_TEST_XPATH_R        = attCount++;
-        int ATT_DEFAULT_XPATH_NS_N  = attCount++;
-        int ATT_APPLIESTO_EMPTY_D   = attCount++;
-        int ATT_MODE_D              = attCount++;
-        int ATT_MODE1_D             = attCount++;        
+        int ATT_APPLIESTO_EMPTY_D    = attCount++;
+        int ATT_DEFAULT_ATTRIBUTES_N = attCount++;
+        int ATT_DEFAULT_ATTR_APPLY_D = attCount++;        
+        int ATT_DEFAULT_XPATH_NS_N   = attCount++;
+        int ATT_MODE_D               = attCount++;
+        int ATT_MODE1_D              = attCount++;
+        int ATT_TEST_XPATH_R         = attCount++;
 
         // step 3: store all these attributes in an array
         OneAttr[] allAttrs = new OneAttr[attCount];
-        allAttrs[ATT_ABSTRACT_D]         =   new OneAttr(SchemaSymbols.ATT_ABSTRACT,
+        allAttrs[ATT_ABSTRACT_D]           = new OneAttr(SchemaSymbols.ATT_ABSTRACT,
                                                         DT_BOOLEAN,
                                                         ATTIDX_ABSTRACT,
                                                         Boolean.FALSE);
-        allAttrs[ATT_APPLIESTO_EMPTY_D]  =   new OneAttr(SchemaSymbols.ATT_APPLIESTOEMPTY,
-                                                        DT_BOOLEAN,
-                                                        ATTIDX_APPLIESTOEMPTY,
-                                                        Boolean.FALSE);
-        allAttrs[ATT_ATTRIBUTE_FD_D]     =   new OneAttr(SchemaSymbols.ATT_ATTRIBUTEFORMDEFAULT,
+        allAttrs[ATT_ATTRIBUTE_FD_D]       = new OneAttr(SchemaSymbols.ATT_ATTRIBUTEFORMDEFAULT,
                                                         DT_FORM,
                                                         ATTIDX_AFORMDEFAULT,
                                                         INT_UNQUALIFIED);
-        allAttrs[ATT_BASE_R]             =   new OneAttr(SchemaSymbols.ATT_BASE,
+        allAttrs[ATT_BASE_R]               = new OneAttr(SchemaSymbols.ATT_BASE,
                                                         DT_QNAME,
                                                         ATTIDX_BASE,
                                                         null);
-        allAttrs[ATT_BASE_N]             =   new OneAttr(SchemaSymbols.ATT_BASE,
+        allAttrs[ATT_BASE_N]               = new OneAttr(SchemaSymbols.ATT_BASE,
                                                         DT_QNAME,
                                                         ATTIDX_BASE,
                                                         null);
-        allAttrs[ATT_BLOCK_N]            =   new OneAttr(SchemaSymbols.ATT_BLOCK,
+        allAttrs[ATT_BLOCK_N]              = new OneAttr(SchemaSymbols.ATT_BLOCK,
                                                         DT_BLOCK,
                                                         ATTIDX_BLOCK,
                                                         null);
-        allAttrs[ATT_BLOCK1_N]           =   new OneAttr(SchemaSymbols.ATT_BLOCK,
+        allAttrs[ATT_BLOCK1_N]             = new OneAttr(SchemaSymbols.ATT_BLOCK,
                                                         DT_BLOCK1,
                                                         ATTIDX_BLOCK,
                                                         null);
-        allAttrs[ATT_BLOCK_D_D]          =   new OneAttr(SchemaSymbols.ATT_BLOCKDEFAULT,
+        allAttrs[ATT_BLOCK_D_D]            = new OneAttr(SchemaSymbols.ATT_BLOCKDEFAULT,
                                                         DT_BLOCK,
                                                         ATTIDX_BLOCKDEFAULT,
                                                         INT_EMPTY_SET);
-        allAttrs[ATT_DEFAULT_N]          =   new OneAttr(SchemaSymbols.ATT_DEFAULT,
+        allAttrs[ATT_DEFAULT_N]            = new OneAttr(SchemaSymbols.ATT_DEFAULT,
                                                         DT_STRING,
                                                         ATTIDX_DEFAULT,
                                                         null);
-        allAttrs[ATT_DEFAULT_XPATH_NS_N] =   new OneAttr(SchemaSymbols.ATT_XPATH_DEFAULT_NS,
-                                                        DT_XPATH_DEFAULT_NS,
-                                                        ATTIDX_XPATHDEFAULTNS,
-                                                        null);
-        allAttrs[ATT_ELEMENT_FD_D]       =   new OneAttr(SchemaSymbols.ATT_ELEMENTFORMDEFAULT,
+        allAttrs[ATT_ELEMENT_FD_D]         = new OneAttr(SchemaSymbols.ATT_ELEMENTFORMDEFAULT,
                                                         DT_FORM,
                                                         ATTIDX_EFORMDEFAULT,
                                                         INT_UNQUALIFIED);
-        allAttrs[ATT_FINAL_N]            =   new OneAttr(SchemaSymbols.ATT_FINAL,
+        allAttrs[ATT_FINAL_N]              = new OneAttr(SchemaSymbols.ATT_FINAL,
                                                         DT_FINAL,
                                                         ATTIDX_FINAL,
                                                         null);
-        allAttrs[ATT_FINAL1_N]           =   new OneAttr(SchemaSymbols.ATT_FINAL,
+        allAttrs[ATT_FINAL1_N]             = new OneAttr(SchemaSymbols.ATT_FINAL,
                                                         DT_FINAL1,
                                                         ATTIDX_FINAL,
                                                         null);
-        allAttrs[ATT_FINAL_D_D]          =   new OneAttr(SchemaSymbols.ATT_FINALDEFAULT,
+        allAttrs[ATT_FINAL_D_D]            = new OneAttr(SchemaSymbols.ATT_FINALDEFAULT,
                                                         DT_FINAL2,
                                                         ATTIDX_FINALDEFAULT,
                                                         INT_EMPTY_SET);
-        allAttrs[ATT_FIXED_N]            =   new OneAttr(SchemaSymbols.ATT_FIXED,
+        allAttrs[ATT_FIXED_N]              = new OneAttr(SchemaSymbols.ATT_FIXED,
                                                         DT_STRING,
                                                         ATTIDX_FIXED,
                                                         null);
-        allAttrs[ATT_FIXED_D]            =   new OneAttr(SchemaSymbols.ATT_FIXED,
+        allAttrs[ATT_FIXED_D]              = new OneAttr(SchemaSymbols.ATT_FIXED,
                                                         DT_BOOLEAN,
                                                         ATTIDX_FIXED,
                                                         Boolean.FALSE);
-        allAttrs[ATT_FORM_N]             =   new OneAttr(SchemaSymbols.ATT_FORM,
+        allAttrs[ATT_FORM_N]               = new OneAttr(SchemaSymbols.ATT_FORM,
                                                         DT_FORM,
                                                         ATTIDX_FORM,
                                                         null);
-        allAttrs[ATT_ID_N]               =   new OneAttr(SchemaSymbols.ATT_ID,
+        allAttrs[ATT_ID_N]                 = new OneAttr(SchemaSymbols.ATT_ID,
                                                         DT_ID,
                                                         ATTIDX_ID,
                                                         null);
-        allAttrs[ATT_ITEMTYPE_N]         =   new OneAttr(SchemaSymbols.ATT_ITEMTYPE,
+        allAttrs[ATT_ITEMTYPE_N]           = new OneAttr(SchemaSymbols.ATT_ITEMTYPE,
                                                         DT_QNAME,
                                                         ATTIDX_ITEMTYPE,
                                                         null);
-        allAttrs[ATT_MAXOCCURS_D]        =   new OneAttr(SchemaSymbols.ATT_MAXOCCURS,
+        allAttrs[ATT_MAXOCCURS_D]          = new OneAttr(SchemaSymbols.ATT_MAXOCCURS,
                                                         DT_MAXOCCURS,
                                                         ATTIDX_MAXOCCURS,
                                                         fXIntPool.getXInt(1));
-        allAttrs[ATT_MAXOCCURS1_D]       =   new OneAttr(SchemaSymbols.ATT_MAXOCCURS,
+        allAttrs[ATT_MAXOCCURS1_D]         = new OneAttr(SchemaSymbols.ATT_MAXOCCURS,
                                                         DT_MAXOCCURS1,
                                                         ATTIDX_MAXOCCURS,
                                                         fXIntPool.getXInt(1));
-        allAttrs[ATT_MEMBER_T_N]         =   new OneAttr(SchemaSymbols.ATT_MEMBERTYPES,
+        allAttrs[ATT_MEMBER_T_N]           = new OneAttr(SchemaSymbols.ATT_MEMBERTYPES,
                                                         DT_MEMBERTYPES,
                                                         ATTIDX_MEMBERTYPES,
                                                         null);
-        allAttrs[ATT_MINOCCURS_D]        =   new OneAttr(SchemaSymbols.ATT_MINOCCURS,
+        allAttrs[ATT_MINOCCURS_D]          = new OneAttr(SchemaSymbols.ATT_MINOCCURS,
                                                         DT_NONNEGINT,
                                                         ATTIDX_MINOCCURS,
                                                         fXIntPool.getXInt(1));
-        allAttrs[ATT_MINOCCURS1_D]       =   new OneAttr(SchemaSymbols.ATT_MINOCCURS,
+        allAttrs[ATT_MINOCCURS1_D]         = new OneAttr(SchemaSymbols.ATT_MINOCCURS,
                                                         DT_MINOCCURS1,
                                                         ATTIDX_MINOCCURS,
                                                         fXIntPool.getXInt(1));
-        allAttrs[ATT_MIXED_D]            =   new OneAttr(SchemaSymbols.ATT_MIXED,
+        allAttrs[ATT_MIXED_D]              = new OneAttr(SchemaSymbols.ATT_MIXED,
                                                         DT_BOOLEAN,
                                                         ATTIDX_MIXED,
                                                         Boolean.FALSE);
-        allAttrs[ATT_MIXED_N]            =   new OneAttr(SchemaSymbols.ATT_MIXED,
+        allAttrs[ATT_MIXED_N]              = new OneAttr(SchemaSymbols.ATT_MIXED,
                                                         DT_BOOLEAN,
                                                         ATTIDX_MIXED,
                                                         null);
-        allAttrs[ATT_MODE_D]             =   new OneAttr(SchemaSymbols.ATT_MODE,
-                                                        DT_MODE,
-                                                        ATTIDX_MODE,
-                                                        INT_MODE_INTERLEAVE);
-        allAttrs[ATT_MODE1_D]            =   new OneAttr(SchemaSymbols.ATT_MODE,
-                                                        DT_MODE1,
-                                                        ATTIDX_MODE,
-                                                        INT_MODE_INTERLEAVE);
-        allAttrs[ATT_NAME_R]             =   new OneAttr(SchemaSymbols.ATT_NAME,
+        allAttrs[ATT_NAME_R]               = new OneAttr(SchemaSymbols.ATT_NAME,
                                                         DT_NCNAME,
                                                         ATTIDX_NAME,
                                                         null);
-        allAttrs[ATT_NAMESPACE_D]        =   new OneAttr(SchemaSymbols.ATT_NAMESPACE,
+        allAttrs[ATT_NAMESPACE_D]          = new OneAttr(SchemaSymbols.ATT_NAMESPACE,
                                                         DT_NAMESPACE,
                                                         ATTIDX_NAMESPACE,
                                                         INT_ANY_ANY);
-        allAttrs[ATT_NAMESPACE_N]        =   new OneAttr(SchemaSymbols.ATT_NAMESPACE,
+        allAttrs[ATT_NAMESPACE_N]          = new OneAttr(SchemaSymbols.ATT_NAMESPACE,
                                                         DT_ANYURI,
                                                         ATTIDX_NAMESPACE,
                                                         null);
-        allAttrs[ATT_NILLABLE_D]         =   new OneAttr(SchemaSymbols.ATT_NILLABLE,
+        allAttrs[ATT_NILLABLE_D]           = new OneAttr(SchemaSymbols.ATT_NILLABLE,
                                                         DT_BOOLEAN,
                                                         ATTIDX_NILLABLE,
                                                         Boolean.FALSE);
-        allAttrs[ATT_PROCESS_C_D]        =   new OneAttr(SchemaSymbols.ATT_PROCESSCONTENTS,
+        allAttrs[ATT_PROCESS_C_D]          = new OneAttr(SchemaSymbols.ATT_PROCESSCONTENTS,
                                                         DT_PROCESSCONTENTS,
                                                         ATTIDX_PROCESSCONTENTS,
                                                         INT_ANY_STRICT);
-        allAttrs[ATT_PUBLIC_R]           =   new OneAttr(SchemaSymbols.ATT_PUBLIC,
+        allAttrs[ATT_PUBLIC_R]             = new OneAttr(SchemaSymbols.ATT_PUBLIC,
                                                         DT_TOKEN,
                                                         ATTIDX_PUBLIC,
                                                         null);
-        allAttrs[ATT_REF_R]              =   new OneAttr(SchemaSymbols.ATT_REF,
+        allAttrs[ATT_REF_R]                = new OneAttr(SchemaSymbols.ATT_REF,
                                                         DT_QNAME,
                                                         ATTIDX_REF,
                                                         null);
-        allAttrs[ATT_REFER_R]            =   new OneAttr(SchemaSymbols.ATT_REFER,
+        allAttrs[ATT_REFER_R]              = new OneAttr(SchemaSymbols.ATT_REFER,
                                                         DT_QNAME,
                                                         ATTIDX_REFER,
                                                         null);
-        allAttrs[ATT_SCHEMA_L_R]         =   new OneAttr(SchemaSymbols.ATT_SCHEMALOCATION,
+        allAttrs[ATT_SCHEMA_L_R]           = new OneAttr(SchemaSymbols.ATT_SCHEMALOCATION,
                                                         DT_ANYURI,
                                                         ATTIDX_SCHEMALOCATION,
                                                         null);
-        allAttrs[ATT_SCHEMA_L_N]         =   new OneAttr(SchemaSymbols.ATT_SCHEMALOCATION,
+        allAttrs[ATT_SCHEMA_L_N]           = new OneAttr(SchemaSymbols.ATT_SCHEMALOCATION,
                                                         DT_ANYURI,
                                                         ATTIDX_SCHEMALOCATION,
                                                         null);
-        allAttrs[ATT_SOURCE_N]           =   new OneAttr(SchemaSymbols.ATT_SOURCE,
+        allAttrs[ATT_SOURCE_N]             = new OneAttr(SchemaSymbols.ATT_SOURCE,
                                                         DT_ANYURI,
                                                         ATTIDX_SOURCE,
                                                         null);
-        allAttrs[ATT_SUBSTITUTION_G_N]   =   new OneAttr(SchemaSymbols.ATT_SUBSTITUTIONGROUP,
+        allAttrs[ATT_SUBSTITUTION_G_N]     = new OneAttr(SchemaSymbols.ATT_SUBSTITUTIONGROUP,
                                                         DT_QNAME,
                                                         ATTIDX_SUBSGROUP,
                                                         null);
-        allAttrs[ATT_SYSTEM_N]           =   new OneAttr(SchemaSymbols.ATT_SYSTEM,
+        allAttrs[ATT_SYSTEM_N]             = new OneAttr(SchemaSymbols.ATT_SYSTEM,
                                                         DT_ANYURI,
                                                         ATTIDX_SYSTEM,
                                                         null);
-        allAttrs[ATT_TARGET_N_N]         =   new OneAttr(SchemaSymbols.ATT_TARGETNAMESPACE,
+        allAttrs[ATT_TARGET_N_N]           = new OneAttr(SchemaSymbols.ATT_TARGETNAMESPACE,
                                                         DT_ANYURI,
                                                         ATTIDX_TARGETNAMESPACE,
                                                         null);
-        allAttrs[ATT_TYPE_N]             =   new OneAttr(SchemaSymbols.ATT_TYPE,
+        allAttrs[ATT_TYPE_N]               = new OneAttr(SchemaSymbols.ATT_TYPE,
                                                         DT_QNAME,
                                                         ATTIDX_TYPE,
                                                         null);
-        allAttrs[ATT_USE_D]              =   new OneAttr(SchemaSymbols.ATT_USE,
+        allAttrs[ATT_USE_D]                = new OneAttr(SchemaSymbols.ATT_USE,
                                                         DT_USE,
                                                         ATTIDX_USE,
                                                         INT_USE_OPTIONAL);
-        allAttrs[ATT_VALUE_NNI_N]        =   new OneAttr(SchemaSymbols.ATT_VALUE,
+        allAttrs[ATT_VALUE_NNI_N]          = new OneAttr(SchemaSymbols.ATT_VALUE,
                                                         DT_NONNEGINT,
                                                         ATTIDX_VALUE,
                                                         null);
-        allAttrs[ATT_VALUE_PI_N]         =   new OneAttr(SchemaSymbols.ATT_VALUE,
+        allAttrs[ATT_VALUE_PI_N]           = new OneAttr(SchemaSymbols.ATT_VALUE,
                                                         DT_POSINT,
                                                         ATTIDX_VALUE,
                                                         null);
-        allAttrs[ATT_VALUE_STR_N]        =   new OneAttr(SchemaSymbols.ATT_VALUE,
+        allAttrs[ATT_VALUE_STR_N]          = new OneAttr(SchemaSymbols.ATT_VALUE,
                                                         DT_STRING,
                                                         ATTIDX_VALUE,
                                                         null);
-        allAttrs[ATT_VALUE_WS_N]         =   new OneAttr(SchemaSymbols.ATT_VALUE,
+        allAttrs[ATT_VALUE_WS_N]           = new OneAttr(SchemaSymbols.ATT_VALUE,
                                                         DT_WHITESPACE,
                                                         ATTIDX_VALUE,
                                                         null);
-        allAttrs[ATT_VERSION_N]          =   new OneAttr(SchemaSymbols.ATT_VERSION,
+        allAttrs[ATT_VERSION_N]            = new OneAttr(SchemaSymbols.ATT_VERSION,
                                                         DT_TOKEN,
                                                         ATTIDX_VERSION,
                                                         null);
-        allAttrs[ATT_XML_LANG]           =   new OneAttr(SchemaSymbols.ATT_XML_LANG,
+        allAttrs[ATT_XML_LANG]             = new OneAttr(SchemaSymbols.ATT_XML_LANG,
                                                         DT_LANGUAGE,
                                                         ATTIDX_XML_LANG,
                                                         null);
-        allAttrs[ATT_XPATH_R]            =   new OneAttr(SchemaSymbols.ATT_XPATH,
+        allAttrs[ATT_XPATH_R]              = new OneAttr(SchemaSymbols.ATT_XPATH,
                                                         DT_XPATH,
                                                         ATTIDX_XPATH,
                                                         null);
-        allAttrs[ATT_XPATH1_R]           =   new OneAttr(SchemaSymbols.ATT_XPATH,
+        allAttrs[ATT_XPATH1_R]             = new OneAttr(SchemaSymbols.ATT_XPATH,
                                                         DT_XPATH1,
                                                         ATTIDX_XPATH,
                                                         null);
-        allAttrs[ATT_TEST_XPATH_R]       =   new OneAttr(SchemaSymbols.ATT_TEST,
+
+        // XML Schema 1.1
+        allAttrs[ATT_APPLIESTO_EMPTY_D]    = new OneAttr(SchemaSymbols.ATT_APPLIESTOEMPTY,
+                                                        DT_BOOLEAN,
+                                                        ATTIDX_APPLIESTOEMPTY,
+                                                        Boolean.FALSE);
+        allAttrs[ATT_DEFAULT_ATTRIBUTES_N] = new OneAttr(SchemaSymbols.ATT_DEFAULTATTRIBUTES,
+                                                        DT_QNAME,
+                                                        ATTIDX_DEFAULTATTRIBUTES,
+                                                        null);
+        allAttrs[ATT_DEFAULT_ATTR_APPLY_D] = new OneAttr(SchemaSymbols.ATT_DEFAULTATTRIBUTESAPPLY,
+                                                        DT_BOOLEAN,
+                                                        ATTIDX_DEFAULTATTRAPPLY,
+                                                        Boolean.TRUE);
+        allAttrs[ATT_DEFAULT_XPATH_NS_N]   = new OneAttr(SchemaSymbols.ATT_XPATH_DEFAULT_NS,
+                                                        DT_XPATH_DEFAULT_NS,
+                                                        ATTIDX_XPATHDEFAULTNS,
+                                                        null);
+        allAttrs[ATT_MODE_D]               = new OneAttr(SchemaSymbols.ATT_MODE,
+                                                        DT_MODE,
+                                                        ATTIDX_MODE,
+                                                        INT_MODE_INTERLEAVE);
+        allAttrs[ATT_MODE1_D]              = new OneAttr(SchemaSymbols.ATT_MODE,
+                                                        DT_MODE1,
+                                                        ATTIDX_MODE,
+                                                        INT_MODE_INTERLEAVE);
+        allAttrs[ATT_TEST_XPATH_R]         = new OneAttr(SchemaSymbols.ATT_TEST,
                                                         DT_XPATH1,
                                                         ATTIDX_XPATH,
                                                         null);
-        
+
 
         // step 4: for each element, make a list of possible attributes
         Container attrList;
@@ -506,6 +530,8 @@
         // type = QName
         attrList.put(SchemaSymbols.ATT_TYPE, allAttrs[ATT_TYPE_N]);
         fEleAttrsMapG.put(SchemaSymbols.ELT_ATTRIBUTE, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapG.put(SchemaSymbols.ELT_ATTRIBUTE, attrList);
 
         // for element "attribute" - local name
         attrList = Container.getContainer(7);
@@ -538,6 +564,8 @@
         // use = (optional | prohibited | required) : optional
         attrList.put(SchemaSymbols.ATT_USE, allAttrs[ATT_USE_D]);
         fEleAttrsMapL.put(ATTRIBUTE_R, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(ATTRIBUTE_R, attrList);
 
         // for element "element" - global
         attrList = Container.getContainer(10);
@@ -598,6 +626,8 @@
         // ref = QName
         attrList.put(SchemaSymbols.ATT_REF, allAttrs[ATT_REF_R]);
         fEleAttrsMapL.put(ELEMENT_R, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(ELEMENT_R, attrList);
 
         // for element "complexType" - global
         attrList = Container.getContainer(6);
@@ -626,7 +656,8 @@
         // system = anyURI
         attrList.put(SchemaSymbols.ATT_SYSTEM, allAttrs[ATT_SYSTEM_N]);
         fEleAttrsMapG.put(SchemaSymbols.ELT_NOTATION, attrList);
-
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapG.put(SchemaSymbols.ELT_NOTATION, attrList);
 
         // for element "complexType" - local
         attrList = Container.getContainer(2);
@@ -641,6 +672,8 @@
         // id = ID
         attrList.put(SchemaSymbols.ATT_ID, allAttrs[ATT_ID_N]);
         fEleAttrsMapL.put(SchemaSymbols.ELT_SIMPLECONTENT, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_SIMPLECONTENT, attrList);
 
         // for element "restriction" - local
         attrList = Container.getContainer(2);
@@ -649,6 +682,8 @@
         // id = ID
         attrList.put(SchemaSymbols.ATT_ID, allAttrs[ATT_ID_N]);
         fEleAttrsMapL.put(SchemaSymbols.ELT_RESTRICTION, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_RESTRICTION, attrList);
 
         // for element "extension" - local
         attrList = Container.getContainer(2);
@@ -657,6 +692,8 @@
         // id = ID
         attrList.put(SchemaSymbols.ATT_ID, allAttrs[ATT_ID_N]);
         fEleAttrsMapL.put(SchemaSymbols.ELT_EXTENSION, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_EXTENSION, attrList);
 
         // for element "attributeGroup" - local ref
         attrList = Container.getContainer(2);
@@ -665,6 +702,8 @@
         // ref = QName
         attrList.put(SchemaSymbols.ATT_REF, allAttrs[ATT_REF_R]);
         fEleAttrsMapL.put(SchemaSymbols.ELT_ATTRIBUTEGROUP, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_ATTRIBUTEGROUP, attrList);
 
         // for element "anyAttribute" - local
         attrList = Container.getContainer(3);
@@ -683,6 +722,8 @@
         // mixed = boolean
         attrList.put(SchemaSymbols.ATT_MIXED, allAttrs[ATT_MIXED_N]);
         fEleAttrsMapL.put(SchemaSymbols.ELT_COMPLEXCONTENT, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_COMPLEXCONTENT, attrList);
 
         // for element "attributeGroup" - global
         attrList = Container.getContainer(2);
@@ -691,6 +732,8 @@
         // name = NCName
         attrList.put(SchemaSymbols.ATT_NAME, allAttrs[ATT_NAME_R]);
         fEleAttrsMapG.put(SchemaSymbols.ELT_ATTRIBUTEGROUP, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapG.put(SchemaSymbols.ELT_ATTRIBUTEGROUP, attrList);
 
         // for element "group" - global
         attrList = Container.getContainer(2);
@@ -699,6 +742,8 @@
         // name = NCName
         attrList.put(SchemaSymbols.ATT_NAME, allAttrs[ATT_NAME_R]);
         fEleAttrsMapG.put(SchemaSymbols.ELT_GROUP, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapG.put(SchemaSymbols.ELT_GROUP, attrList);
 
         // for element "group" - local ref
         attrList = Container.getContainer(4);
@@ -711,6 +756,8 @@
         // ref = QName
         attrList.put(SchemaSymbols.ATT_REF, allAttrs[ATT_REF_R]);
         fEleAttrsMapL.put(SchemaSymbols.ELT_GROUP, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_GROUP, attrList);
 
         // for element "all" - local
         attrList = Container.getContainer(3);
@@ -721,6 +768,8 @@
         // minOccurs = (0 | 1) : 1
         attrList.put(SchemaSymbols.ATT_MINOCCURS, allAttrs[ATT_MINOCCURS1_D]);
         fEleAttrsMapL.put(SchemaSymbols.ELT_ALL, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_ALL, attrList);
 
         // for element "choice" - local
         attrList = Container.getContainer(3);
@@ -733,6 +782,11 @@
         fEleAttrsMapL.put(SchemaSymbols.ELT_CHOICE, attrList);
         // for element "sequence" - local
         fEleAttrsMapL.put(SchemaSymbols.ELT_SEQUENCE, attrList);
+        // XML Schema 1.1 - same list
+        // for element "choice" - local
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_CHOICE, attrList);
+        // for element "sequence" - local
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_SEQUENCE, attrList);
 
         // for element "any" - local
         attrList = Container.getContainer(5);
@@ -791,6 +845,9 @@
         fEleAttrsMapG.put(SchemaSymbols.ELT_ANNOTATION, attrList);
         // for element "annotation" - local
         fEleAttrsMapL.put(SchemaSymbols.ELT_ANNOTATION, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapG.put(SchemaSymbols.ELT_ANNOTATION, attrList);
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_ANNOTATION, attrList);
 
         // for element "appinfo" - local
         attrList = Container.getContainer(1);
@@ -798,6 +855,9 @@
         attrList.put(SchemaSymbols.ATT_SOURCE, allAttrs[ATT_SOURCE_N]);
         fEleAttrsMapG.put(SchemaSymbols.ELT_APPINFO, attrList);
         fEleAttrsMapL.put(SchemaSymbols.ELT_APPINFO, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapG.put(SchemaSymbols.ELT_APPINFO, attrList);
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_APPINFO, attrList);
 
         // for element "documentation" - local
         attrList = Container.getContainer(2);
@@ -807,6 +867,9 @@
         attrList.put(SchemaSymbols.ATT_XML_LANG, allAttrs[ATT_XML_LANG]);
         fEleAttrsMapG.put(SchemaSymbols.ELT_DOCUMENTATION, attrList);
         fEleAttrsMapL.put(SchemaSymbols.ELT_DOCUMENTATION, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapG.put(SchemaSymbols.ELT_DOCUMENTATION, attrList);
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_DOCUMENTATION, attrList);
 
         // for element "simpleType" - global
         attrList = Container.getContainer(3);
@@ -817,6 +880,8 @@
         // name = NCName
         attrList.put(SchemaSymbols.ATT_NAME, allAttrs[ATT_NAME_R]);
         fEleAttrsMapG.put(SchemaSymbols.ELT_SIMPLETYPE, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapG.put(SchemaSymbols.ELT_SIMPLETYPE, attrList);
 
         // for element "simpleType" - local
         attrList = Container.getContainer(2);
@@ -825,6 +890,8 @@
         // id = ID
         attrList.put(SchemaSymbols.ATT_ID, allAttrs[ATT_ID_N]);
         fEleAttrsMapL.put(SchemaSymbols.ELT_SIMPLETYPE, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_SIMPLETYPE, attrList);
 
         // for element "restriction" - local
         // already registered for complexType
@@ -836,6 +903,8 @@
         // itemType = QName
         attrList.put(SchemaSymbols.ATT_ITEMTYPE, allAttrs[ATT_ITEMTYPE_N]);
         fEleAttrsMapL.put(SchemaSymbols.ELT_LIST, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_LIST, attrList);
 
         // for element "union" - local
         attrList = Container.getContainer(2);
@@ -844,6 +913,8 @@
         // memberTypes = List of QName
         attrList.put(SchemaSymbols.ATT_MEMBERTYPES, allAttrs[ATT_MEMBER_T_N]);
         fEleAttrsMapL.put(SchemaSymbols.ELT_UNION, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_UNION, attrList);
 
         // for element "schema" - global
         attrList = Container.getContainer(8);
@@ -874,6 +945,9 @@
         fEleAttrsMapG.put(SchemaSymbols.ELT_INCLUDE, attrList);
         // for element "redefine" - global
         fEleAttrsMapG.put(SchemaSymbols.ELT_REDEFINE, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapG.put(SchemaSymbols.ELT_INCLUDE, attrList);
+        fEleAttrs11MapG.put(SchemaSymbols.ELT_REDEFINE, attrList);
 
         // for element "import" - global
         attrList = Container.getContainer(3);
@@ -884,6 +958,8 @@
         // schemaLocation = anyURI
         attrList.put(SchemaSymbols.ATT_SCHEMALOCATION, allAttrs[ATT_SCHEMA_L_N]);
         fEleAttrsMapG.put(SchemaSymbols.ELT_IMPORT, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapG.put(SchemaSymbols.ELT_IMPORT, attrList);
 
         // for element "length" - local
         attrList = Container.getContainer(3);
@@ -900,6 +976,11 @@
         fEleAttrsMapL.put(SchemaSymbols.ELT_MAXLENGTH, attrList);
         // for element "fractionDigits" - local
         fEleAttrsMapL.put(SchemaSymbols.ELT_FRACTIONDIGITS, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_LENGTH, attrList);
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_MINLENGTH, attrList);
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_MAXLENGTH, attrList);
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_FRACTIONDIGITS, attrList);
 
         // for element "totalDigits" - local
         attrList = Container.getContainer(3);
@@ -910,6 +991,8 @@
         // fixed = boolean : false
         attrList.put(SchemaSymbols.ATT_FIXED, allAttrs[ATT_FIXED_D]);
         fEleAttrsMapL.put(SchemaSymbols.ELT_TOTALDIGITS, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_TOTALDIGITS, attrList);
 
         // for element "pattern" - local
         attrList = Container.getContainer(2);
@@ -918,6 +1001,8 @@
         // value = string
         attrList.put(SchemaSymbols.ATT_VALUE, allAttrs[ATT_VALUE_STR_N]);
         fEleAttrsMapL.put(SchemaSymbols.ELT_PATTERN, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_PATTERN, attrList);
 
         // for element "enumeration" - local
         attrList = Container.getContainer(2);
@@ -926,6 +1011,8 @@
         // value = anySimpleType
         attrList.put(SchemaSymbols.ATT_VALUE, allAttrs[ATT_VALUE_STR_N]);
         fEleAttrsMapL.put(SchemaSymbols.ELT_ENUMERATION, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_ENUMERATION, attrList);
 
         // for element "whiteSpace" - local
         attrList = Container.getContainer(3);
@@ -936,6 +1023,8 @@
         // fixed = boolean : false
         attrList.put(SchemaSymbols.ATT_FIXED, allAttrs[ATT_FIXED_D]);
         fEleAttrsMapL.put(SchemaSymbols.ELT_WHITESPACE, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_WHITESPACE, attrList);
 
         // for element "maxInclusive" - local
         attrList = Container.getContainer(3);
@@ -952,8 +1041,90 @@
         fEleAttrsMapL.put(SchemaSymbols.ELT_MININCLUSIVE, attrList);
         // for element "minExclusive" - local
         fEleAttrsMapL.put(SchemaSymbols.ELT_MINEXCLUSIVE, attrList);
+        // XML Schema 1.1 - same list
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_MAXINCLUSIVE, attrList);
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_MAXEXCLUSIVE, attrList);
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_MININCLUSIVE, attrList);
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_MINEXCLUSIVE, attrList);
+
 
         // XML Schema 1.1
+        // same components - modified representation
+
+        // for element "schema" - global
+        attrList = Container.getContainer(10);
+        // attributeFormDefault = (qualified | unqualified) : unqualified
+        attrList.put(SchemaSymbols.ATT_ATTRIBUTEFORMDEFAULT, allAttrs[ATT_ATTRIBUTE_FD_D]);
+        // defaultAttributes = xs:QName
+        attrList.put(SchemaSymbols.ATT_DEFAULTATTRIBUTES, allAttrs[ATT_DEFAULT_ATTRIBUTES_N]);
+        // blockDefault = (#all | List of (extension | restriction | substitution))  : ''
+        attrList.put(SchemaSymbols.ATT_BLOCKDEFAULT, allAttrs[ATT_BLOCK_D_D]);
+        // xpathDefaultNamespace = (anyURI | (##defaultNamespace | ##targetNamespace | ##local))  : ##local
+        attrList.put(SchemaSymbols.ATT_XPATH_DEFAULT_NS, allAttrs[ATT_DEFAULT_XPATH_NS_N]);
+        // elementFormDefault = (qualified | unqualified) : unqualified
+        attrList.put(SchemaSymbols.ATT_ELEMENTFORMDEFAULT, allAttrs[ATT_ELEMENT_FD_D]);
+        // finalDefault = (#all | List of (extension | restriction | list | union))  : ''
+        attrList.put(SchemaSymbols.ATT_FINALDEFAULT, allAttrs[ATT_FINAL_D_D]);
+        // id = ID
+        attrList.put(SchemaSymbols.ATT_ID, allAttrs[ATT_ID_N]);
+        // targetNamespace = anyURI
+        attrList.put(SchemaSymbols.ATT_TARGETNAMESPACE, allAttrs[ATT_TARGET_N_N]);
+        // version = token
+        attrList.put(SchemaSymbols.ATT_VERSION, allAttrs[ATT_VERSION_N]);
+        // xml:lang = language
+        attrList.put(SchemaSymbols.ATT_XML_LANG, allAttrs[ATT_XML_LANG]);
+        fEleAttrs11MapG.put(SchemaSymbols.ELT_SCHEMA, attrList);
+
+        // for element "complexType" - global
+        attrList = Container.getContainer(7);
+        // abstract = boolean : false
+        attrList.put(SchemaSymbols.ATT_ABSTRACT, allAttrs[ATT_ABSTRACT_D]);
+        // block = (#all | List of (extension | restriction))
+        attrList.put(SchemaSymbols.ATT_BLOCK, allAttrs[ATT_BLOCK1_N]);
+        // final = (#all | List of (extension | restriction))
+        attrList.put(SchemaSymbols.ATT_FINAL, allAttrs[ATT_FINAL_N]);
+        // id = ID
+        attrList.put(SchemaSymbols.ATT_ID, allAttrs[ATT_ID_N]);
+        // mixed = boolean : false
+        attrList.put(SchemaSymbols.ATT_MIXED, allAttrs[ATT_MIXED_D]);
+        // name = NCName
+        attrList.put(SchemaSymbols.ATT_NAME, allAttrs[ATT_NAME_R]);
+        // defaultAttributesApply = boolean : true
+        attrList.put(SchemaSymbols.ATT_DEFAULTATTRIBUTESAPPLY, allAttrs[ATT_DEFAULT_ATTR_APPLY_D]);        
+        fEleAttrs11MapG.put(SchemaSymbols.ELT_COMPLEXTYPE, attrList);
+        
+        // for element "complexType" - local
+        attrList = Container.getContainer(3);
+        // id = ID
+        attrList.put(SchemaSymbols.ATT_ID, allAttrs[ATT_ID_N]);
+        // mixed = boolean : false
+        attrList.put(SchemaSymbols.ATT_MIXED, allAttrs[ATT_MIXED_D]);
+        // defaultAttributesApply = boolean : true
+        attrList.put(SchemaSymbols.ATT_DEFAULTATTRIBUTESAPPLY, allAttrs[ATT_DEFAULT_ATTR_APPLY_D]);
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_COMPLEXTYPE, attrList);
+
+        // for element "selector" - local
+        attrList = Container.getContainer(3);
+        // id = ID
+        attrList.put(SchemaSymbols.ATT_ID, allAttrs[ATT_ID_N]);
+        // xpath = a subset of XPath expression
+        attrList.put(SchemaSymbols.ATT_XPATH, allAttrs[ATT_XPATH_R]);
+        // xpathDefaultNamespace = (anyURI | (##defaultNamespace | ##targetNamespace | ##local))
+        attrList.put(SchemaSymbols.ATT_XPATH_DEFAULT_NS, allAttrs[ATT_DEFAULT_XPATH_NS_N]);
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_SELECTOR, attrList);
+
+        // for element "field" - local
+        attrList = Container.getContainer(3);
+        // id = ID
+        attrList.put(SchemaSymbols.ATT_ID, allAttrs[ATT_ID_N]);
+        // xpath = a subset of XPath expression
+        attrList.put(SchemaSymbols.ATT_XPATH, allAttrs[ATT_XPATH1_R]);
+        // xpathDefaultNamespace = (anyURI | (##defaultNamespace | ##targetNamespace | ##local))
+        attrList.put(SchemaSymbols.ATT_XPATH_DEFAULT_NS, allAttrs[ATT_DEFAULT_XPATH_NS_N]);
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_FIELD, attrList);
+
+
+        // new components
 
         // for element "alternative" - local
         attrList = Container.getContainer(4);
@@ -965,8 +1136,7 @@
         attrList.put(SchemaSymbols.ATT_TYPE, allAttrs[ATT_TYPE_N]);
         // xpathDefaultNamespace = (anyURI | (##defaultNamespace | ##targetNamespace | ##local))
         attrList.put(SchemaSymbols.ATT_XPATH_DEFAULT_NS, allAttrs[ATT_DEFAULT_XPATH_NS_N]);
-        // TODO: use 1.1 map
-        fEleAttrsMapL.put(SchemaSymbols.ELT_ALTERNATIVE, attrList);
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_ALTERNATIVE, attrList);
         
         // for element "assert" - local // mukul
         attrList = Container.getContainer(3);
@@ -976,7 +1146,7 @@
         attrList.put(SchemaSymbols.ATT_TEST, allAttrs[ATT_TEST_XPATH_R]);
         // xpathDefaultNamespace = (anyURI | (##defaultNamespace | ##targetNamespace | ##local))
         attrList.put(SchemaSymbols.ATT_XPATH_DEFAULT_NS, allAttrs[ATT_DEFAULT_XPATH_NS_N]);
-        fEleAttrsMapL.put(SchemaSymbols.ELT_ASSERT, attrList);
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_ASSERT, attrList);
 
         // for element "defaultOpenContent" - global
         attrList = Container.getContainer(3);
@@ -986,7 +1156,7 @@
         attrList.put(SchemaSymbols.ATT_ID, allAttrs[ATT_ID_N]);
         // mode = (interleave | suffix) : interleave
         attrList.put(SchemaSymbols.ATT_MODE, allAttrs[ATT_MODE_D]);
-        /*fEleAttrs11MapG*/fEleAttrsMapG.put(SchemaSymbols.ELT_DEFAULTOPENCONTENT, attrList);
+        fEleAttrs11MapG.put(SchemaSymbols.ELT_DEFAULTOPENCONTENT, attrList);
 
         // for element "openContent" - local
         attrList = Container.getContainer(2);
@@ -994,7 +1164,7 @@
         attrList.put(SchemaSymbols.ATT_ID, allAttrs[ATT_ID_N]);
         // mode = (none | interleave | suffix) : interleave
         attrList.put(SchemaSymbols.ATT_MODE, allAttrs[ATT_MODE1_D]);
-        /*fEleAttrs11MapL*/fEleAttrsMapL.put(SchemaSymbols.ELT_OPENCONTENT, attrList);
+        fEleAttrs11MapL.put(SchemaSymbols.ELT_OPENCONTENT, attrList);
     }
 
     // used to resolver namespace prefixes
@@ -1070,7 +1240,8 @@
             reportSchemaError("s4s-elt-schema-ns", new Object[] {elName}, element);
         }
 
-        Hashtable eleAttrsMap = fEleAttrsMapG;
+        Hashtable eleAttrsMap = (fSchemaHandler.fSchemaVersion < Constants.SCHEMA_VERSION_1_1)
+               ? fEleAttrsMapG : fEleAttrs11MapG;
         String lookupName = elName;
 
         // REVISIT: only local element and attribute are different from others.
@@ -1078,7 +1249,8 @@
         //          are only allowed to have one of name or ref, or neither of them.
         //          we'd better move such checking to the traverser.
         if (!isGlobal) {
-            eleAttrsMap = fEleAttrsMapL;
+            eleAttrsMap = (fSchemaHandler.fSchemaVersion < Constants.SCHEMA_VERSION_1_1)
+                ? fEleAttrsMapL : fEleAttrs11MapL;
             if (elName.equals(SchemaSymbols.ELT_ELEMENT)) {
                 if (DOMUtil.getAttr(element, SchemaSymbols.ATT_REF) != null)
                     lookupName = ELEMENT_R;
@@ -1621,7 +1793,7 @@
             retValue = null;
             if (value.equals(SchemaSymbols.ATTVAL_TWOPOUNDTARGETNS)) {
                 retValue = schemaDoc.fTargetNamespace;
-            } else if (value.equals(SchemaSymbols.ATTVAL_TWOPOUNDDDEFAULTNS)) {
+            } else if (value.equals(SchemaSymbols.ATTVAL_TWOPOUNDDEFAULTNS)) {
                 retValue = schemaDoc.fValidationContext.getURI(XMLSymbols.EMPTY_STRING);
                 if (retValue != null) {
                     retValue = fSymbolTable.addSymbol((String)retValue);

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=697134&r1=697133&r2=697134&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 Fri Sep 19 08:36:02 2008
@@ -274,6 +274,21 @@
         Element child = null;
         
         try {
+            // XML Schema 1.1 - {attribute uses}
+            //
+            // If the defaultAttributesApply [attribute] of the <complexType> element is not present
+            // or has actual value 'true', and the <schema> ancestor has an defaultAttributes attribute,
+            // then properties {attribute uses} and {attribute wildcard} are computed as if there were
+            // an <attributeGroup> [child] with empty content and a ref [attribute] whose actual value is
+            // the same as that of the defaultAttributes [attribute].
+            if (fSchemaHandler.fSchemaVersion == Constants.SCHEMA_VERSION_1_1) {
+                /* NOTE: default value is true; i.e. if attribute is missing its value defaults to true */
+                Boolean defaultAttributeAppliesAttr = (Boolean) attrValues[XSAttributeChecker.ATTIDX_DEFAULTATTRAPPLY];
+                if (defaultAttributeAppliesAttr.booleanValue() == true && schemaDoc.fDefaultAGroup != null) {
+                    mergeAttributes(schemaDoc.fDefaultAGroup, fAttrGrp, fName, true, complexTypeDecl);
+                }
+            }
+
             // ---------------------------------------------------------------
             // First, handle any ANNOTATION declaration and get next child
             // ---------------------------------------------------------------

Modified: xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
URL: http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java?rev=697134&r1=697133&r2=697134&view=diff
==============================================================================
--- xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java (original)
+++ xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java Fri Sep 19 08:36:02 2008
@@ -39,6 +39,7 @@
 import org.apache.xerces.impl.xs.SchemaSymbols;
 import org.apache.xerces.impl.xs.XMLSchemaException;
 import org.apache.xerces.impl.xs.XMLSchemaLoader;
+import org.apache.xerces.impl.xs.XSAttributeGroupDecl;
 import org.apache.xerces.impl.xs.XSComplexTypeDecl;
 import org.apache.xerces.impl.xs.XSDDescription;
 import org.apache.xerces.impl.xs.XSDeclarationPool;
@@ -1292,6 +1293,16 @@
             }
             Element currRoot = currDoc;
             boolean sawAnnotation = false;
+
+            // if XML Schema 1.1, set default attribute group 
+            if (fSchemaVersion == Constants.SCHEMA_VERSION_1_1) {
+                // Check that we have a 'defaultAttributes' and that we have not already processed it
+                if (currSchemaDoc.fDefaultAttributes != null && currSchemaDoc.fDefaultAGroup != null) {
+                    currSchemaDoc.fDefaultAGroup = (XSAttributeGroupDecl) getGlobalDecl(
+                            currSchemaDoc, XSDHandler.ATTRIBUTEGROUP_TYPE, currSchemaDoc.fDefaultAttributes, currRoot);
+                }
+            }
+
             // traverse this schema's global decls
             for (Element globalComp =
                 DOMUtil.getFirstVisibleChildElement(currRoot, fHiddenNodes);



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