src/share/jaxws_classes/com/sun/xml/internal/xsom/impl/parser/state/complexType.java

Mon, 02 Oct 2017 14:20:23 +0100

author
aefimov
date
Mon, 02 Oct 2017 14:20:23 +0100
changeset 1518
d9877e4e1f2b
parent 1445
06086cb6c349
child 1546
dc8316632248
permissions
-rw-r--r--

8159240: XSOM parser incorrectly processes type names with whitespaces
Reviewed-by: coffeys

     1 /*
     2  * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     8  * particular file as subject to the "Classpath" exception as provided
     9  * by Oracle in the LICENSE file that accompanied this code.
    10  *
    11  * This code is distributed in the hope that it will be useful, but WITHOUT
    12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    14  * version 2 for more details (a copy is included in the LICENSE file that
    15  * accompanied this code).
    16  *
    17  * You should have received a copy of the GNU General Public License version
    18  * 2 along with this work; if not, write to the Free Software Foundation,
    19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    20  *
    21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    22  * or visit www.oracle.com if you need additional information or have any
    23  * questions.
    24  */
    26 /* this file is generated by RelaxNGCC */
    27 package com.sun.xml.internal.xsom.impl.parser.state;
    29 import com.sun.xml.internal.bind.WhiteSpaceProcessor;
    30 import com.sun.xml.internal.xsom.*;
    31 import com.sun.xml.internal.xsom.impl.*;
    32 import com.sun.xml.internal.xsom.impl.parser.*;
    33 import com.sun.xml.internal.xsom.parser.*;
    35 import java.util.Collections;
    36 import org.xml.sax.Attributes;
    37 import org.xml.sax.Locator;
    38 import org.xml.sax.SAXException;
    40 class complexType extends NGCCHandler {
    41     private Integer finalValue;
    42     private String name;
    43     private String abstractValue;
    44     private Integer blockValue;
    45     private XSFacet facet;
    46     private ForeignAttributesImpl fa;
    47     private AnnotationImpl annotation;
    48     private ContentTypeImpl explicitContent;
    49     private UName baseTypeName;
    50     private String mixedValue;
    51     protected final NGCCRuntimeEx $runtime;
    52     private int $_ngcc_current_state;
    53     protected String $uri;
    54     protected String $localName;
    55     protected String $qname;
    57     public final NGCCRuntime getRuntime() {
    58         return($runtime);
    59     }
    61     public complexType(NGCCHandler parent, NGCCEventSource source, NGCCRuntimeEx runtime, int cookie) {
    62         super(source, parent, cookie);
    63         $runtime = runtime;
    64         $_ngcc_current_state = 88;
    65     }
    67     public complexType(NGCCRuntimeEx runtime) {
    68         this(null, runtime, runtime, -1);
    69     }
    71     private void action0()throws SAXException {
    73             result.setContentType(explicitContent);
    75 }
    77     private void action1()throws SAXException {
    79             baseType = $runtime.parser.schemaSet.anyType;
    80             makeResult(XSType.RESTRICTION);
    82 }
    84     private void action2()throws SAXException {
    86                 result.setExplicitContent(explicitContent);
    87                 result.setContentType(
    88                   buildComplexExtensionContentModel(explicitContent));
    90 }
    92     private void action3()throws SAXException {
    94                   baseType = new DelayedRef.Type(
    95                     $runtime, locator2, $runtime.currentSchema, baseTypeName );
    96                   makeResult(XSType.EXTENSION);
    98 }
   100     private void action4()throws SAXException {
   101         locator2 = $runtime.copyLocator();
   102 }
   104     private void action5()throws SAXException {
   106                 result.setContentType(explicitContent);
   108 }
   110     private void action6()throws SAXException {
   112                   baseType = new DelayedRef.Type(
   113                     $runtime, locator2, $runtime.currentSchema, baseTypeName );
   114                   makeResult(XSType.RESTRICTION);
   116 }
   118     private void action7()throws SAXException {
   119         locator2 = $runtime.copyLocator();
   120 }
   122     private void action8()throws SAXException {
   124                 contentType = new BaseContentRef($runtime,baseType);
   125                 makeResult(XSType.EXTENSION);
   126                 result.setContentType(contentType);
   128 }
   130     private void action9()throws SAXException {
   132                   baseType = new DelayedRef.Type(
   133                     $runtime, locator2, $runtime.currentSchema, baseTypeName );
   135 }
   137     private void action10()throws SAXException {
   138         locator2 = $runtime.copyLocator();
   139 }
   141     private void action11()throws SAXException {
   143                 makeResult(XSType.RESTRICTION);
   144                 result.setContentType(contentType);
   146 }
   148     private void action12()throws SAXException {
   149         contentSimpleType.addFacet(facet);
   150 }
   152     private void action13()throws SAXException {
   154                 if(baseContentType==null) {
   155                   // contentType of the base type, which must be a complex type
   156                   baseContentType = new BaseContentSimpleTypeRef(baseType);
   157                 }
   159                 contentSimpleType = new RestrictionSimpleTypeImpl(
   160                   $runtime.document, null/*?*/, locator2, null,
   161                   null, true, Collections.EMPTY_SET, baseContentType );
   162                 contentType = contentSimpleType;
   164 }
   166     private void action14()throws SAXException {
   168                   baseType = new DelayedRef.Type(
   169                     $runtime, locator2, $runtime.currentSchema, baseTypeName );
   171 }
   173     private void action15()throws SAXException {
   174         locator2 = $runtime.copyLocator();
   175 }
   177     private void action16()throws SAXException {
   178         locator = $runtime.copyLocator();
   179 }
   181     public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException {
   182         int $ai;
   183         $uri = $__uri;
   184         $localName = $__local;
   185         $qname = $__qname;
   186         switch($_ngcc_current_state) {
   187         case 54:
   188             {
   189                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
   190                     NGCCHandler h = new annotation(this, super._source, $runtime, 617, annotation,AnnotationContext.COMPLEXTYPE_DECL);
   191                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   192                 }
   193                 else {
   194                     $_ngcc_current_state = 52;
   195                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   196                 }
   197             }
   198             break;
   199         case 76:
   200             {
   201                 if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
   202                     $runtime.consumeAttribute($ai);
   203                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   204                 }
   205                 else {
   206                     $_ngcc_current_state = 72;
   207                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   208                 }
   209             }
   210             break;
   211         case 49:
   212             {
   213                 if((((((((((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minExclusive")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxExclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("totalDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("fractionDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("length"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("enumeration"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("whiteSpace"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("pattern")))) {
   214                     NGCCHandler h = new facet(this, super._source, $runtime, 610);
   215                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   216                 }
   217                 else {
   218                     $_ngcc_current_state = 48;
   219                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   220                 }
   221             }
   222             break;
   223         case 7:
   224             {
   225                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
   226                     $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
   227                     action7();
   228                     $_ngcc_current_state = 24;
   229                 }
   230                 else {
   231                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
   232                         $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
   233                         action4();
   234                         $_ngcc_current_state = 15;
   235                     }
   236                     else {
   237                         unexpectedEnterElement($__qname);
   238                     }
   239                 }
   240             }
   241             break;
   242         case 61:
   243             {
   244                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
   245                     NGCCHandler h = new annotation(this, super._source, $runtime, 626, annotation,AnnotationContext.COMPLEXTYPE_DECL);
   246                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   247                 }
   248                 else {
   249                     $_ngcc_current_state = 35;
   250                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   251                 }
   252             }
   253             break;
   254         case 18:
   255             {
   256                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))))))) {
   257                     NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 571, result);
   258                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   259                 }
   260                 else {
   261                     unexpectedEnterElement($__qname);
   262                 }
   263             }
   264             break;
   265         case 12:
   266             {
   267                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")))))))))) {
   268                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 564, fa);
   269                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   270                 }
   271                 else {
   272                     unexpectedEnterElement($__qname);
   273                 }
   274             }
   275             break;
   276         case 26:
   277             {
   278                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
   279                     NGCCHandler h = new annotation(this, super._source, $runtime, 582, annotation,AnnotationContext.COMPLEXTYPE_DECL);
   280                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   281                 }
   282                 else {
   283                     $_ngcc_current_state = 7;
   284                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   285                 }
   286             }
   287             break;
   288         case 38:
   289             {
   290                 action8();
   291                 $_ngcc_current_state = 37;
   292                 $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   293             }
   294             break;
   295         case 44:
   296             {
   297                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
   298                     $runtime.consumeAttribute($ai);
   299                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   300                 }
   301                 else {
   302                     unexpectedEnterElement($__qname);
   303                 }
   304             }
   305             break;
   306         case 68:
   307             {
   308                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
   309                     $runtime.consumeAttribute($ai);
   310                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   311                 }
   312                 else {
   313                     $_ngcc_current_state = 67;
   314                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   315                 }
   316             }
   317             break;
   318         case 35:
   319             {
   320                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
   321                     $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
   322                     action15();
   323                     $_ngcc_current_state = 59;
   324                 }
   325                 else {
   326                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
   327                         $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
   328                         action10();
   329                         $_ngcc_current_state = 44;
   330                     }
   331                     else {
   332                         unexpectedEnterElement($__qname);
   333                     }
   334                 }
   335             }
   336             break;
   337         case 80:
   338             {
   339                 if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
   340                     $runtime.consumeAttribute($ai);
   341                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   342                 }
   343                 else {
   344                     $_ngcc_current_state = 76;
   345                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   346                 }
   347             }
   348             break;
   349         case 63:
   350             {
   351                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))))) {
   352                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 628, fa);
   353                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   354                 }
   355                 else {
   356                     unexpectedEnterElement($__qname);
   357                 }
   358             }
   359             break;
   360         case 88:
   361             {
   362                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
   363                     $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
   364                     action16();
   365                     $_ngcc_current_state = 84;
   366                 }
   367                 else {
   368                     unexpectedEnterElement($__qname);
   369                 }
   370             }
   371             break;
   372         case 84:
   373             {
   374                 if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
   375                     $runtime.consumeAttribute($ai);
   376                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   377                 }
   378                 else {
   379                     $_ngcc_current_state = 80;
   380                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   381                 }
   382             }
   383             break;
   384         case 37:
   385             {
   386                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))) {
   387                     NGCCHandler h = new attributeUses(this, super._source, $runtime, 594, result);
   388                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   389                 }
   390                 else {
   391                     unexpectedEnterElement($__qname);
   392                 }
   393             }
   394             break;
   395         case 9:
   396             {
   397                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))))))) {
   398                     NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 560, result);
   399                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   400                 }
   401                 else {
   402                     unexpectedEnterElement($__qname);
   403                 }
   404             }
   405             break;
   406         case 19:
   407             {
   408                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
   409                     NGCCHandler h = new annotation(this, super._source, $runtime, 573, annotation,AnnotationContext.COMPLEXTYPE_DECL);
   410                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   411                 }
   412                 else {
   413                     $_ngcc_current_state = 18;
   414                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   415                 }
   416             }
   417             break;
   418         case 15:
   419             {
   420                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
   421                     $runtime.consumeAttribute($ai);
   422                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   423                 }
   424                 else {
   425                     unexpectedEnterElement($__qname);
   426                 }
   427             }
   428             break;
   429         case 48:
   430             {
   431                 if((((((((((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minExclusive")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxExclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("totalDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("fractionDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("length"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("enumeration"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("whiteSpace"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("pattern")))) {
   432                     NGCCHandler h = new facet(this, super._source, $runtime, 609);
   433                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   434                 }
   435                 else {
   436                     action11();
   437                     $_ngcc_current_state = 47;
   438                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   439                 }
   440             }
   441             break;
   442         case 47:
   443             {
   444                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))) {
   445                     NGCCHandler h = new attributeUses(this, super._source, $runtime, 606, result);
   446                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   447                 }
   448                 else {
   449                     unexpectedEnterElement($__qname);
   450                 }
   451             }
   452             break;
   453         case 24:
   454             {
   455                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
   456                     $runtime.consumeAttribute($ai);
   457                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   458                 }
   459                 else {
   460                     unexpectedEnterElement($__qname);
   461                 }
   462             }
   463             break;
   464         case 28:
   465             {
   466                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))))) {
   467                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 584, fa);
   468                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   469                 }
   470                 else {
   471                     unexpectedEnterElement($__qname);
   472                 }
   473             }
   474             break;
   475         case 29:
   476             {
   477                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
   478                     $runtime.consumeAttribute($ai);
   479                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   480                 }
   481                 else {
   482                     $_ngcc_current_state = 28;
   483                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   484                 }
   485             }
   486             break;
   487         case 67:
   488             {
   489                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleContent")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexContent")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")))))))))))) {
   490                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 636, fa);
   491                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   492                 }
   493                 else {
   494                     unexpectedEnterElement($__qname);
   495                 }
   496             }
   497             break;
   498         case 10:
   499             {
   500                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
   501                     NGCCHandler h = new annotation(this, super._source, $runtime, 562, annotation,AnnotationContext.COMPLEXTYPE_DECL);
   502                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   503                 }
   504                 else {
   505                     $_ngcc_current_state = 9;
   506                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   507                 }
   508             }
   509             break;
   510         case 41:
   511             {
   512                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")))))) {
   513                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 599, fa);
   514                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   515                 }
   516                 else {
   517                     unexpectedEnterElement($__qname);
   518                 }
   519             }
   520             break;
   521         case 2:
   522             {
   523                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleContent"))) {
   524                     $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
   525                     $_ngcc_current_state = 63;
   526                 }
   527                 else {
   528                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexContent"))) {
   529                         $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
   530                         $_ngcc_current_state = 29;
   531                     }
   532                     else {
   533                         if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))))))) {
   534                             action1();
   535                             NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 557, result);
   536                             spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   537                         }
   538                         else {
   539                             unexpectedEnterElement($__qname);
   540                         }
   541                     }
   542                 }
   543             }
   544             break;
   545         case 21:
   546             {
   547                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("all")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("choice"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("sequence"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")))))))))) {
   548                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 575, fa);
   549                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   550                 }
   551                 else {
   552                     unexpectedEnterElement($__qname);
   553                 }
   554             }
   555             break;
   556         case 72:
   557             {
   558                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
   559                     $runtime.consumeAttribute($ai);
   560                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   561                 }
   562                 else {
   563                     $_ngcc_current_state = 68;
   564                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   565                 }
   566             }
   567             break;
   568         case 56:
   569             {
   570                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || ((((((((((((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minExclusive")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxExclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxInclusive"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("totalDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("fractionDigits"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("length"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("maxLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("minLength"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("enumeration"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("whiteSpace"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("pattern"))) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")))))))) {
   571                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 619, fa);
   572                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   573                 }
   574                 else {
   575                     unexpectedEnterElement($__qname);
   576                 }
   577             }
   578             break;
   579         case 39:
   580             {
   581                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
   582                     NGCCHandler h = new annotation(this, super._source, $runtime, 597, annotation,AnnotationContext.COMPLEXTYPE_DECL);
   583                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   584                 }
   585                 else {
   586                     $_ngcc_current_state = 38;
   587                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   588                 }
   589             }
   590             break;
   591         case 59:
   592             {
   593                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
   594                     $runtime.consumeAttribute($ai);
   595                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   596                 }
   597                 else {
   598                     unexpectedEnterElement($__qname);
   599                 }
   600             }
   601             break;
   602         case 52:
   603             {
   604                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
   605                     NGCCHandler h = new simpleType(this, super._source, $runtime, 614);
   606                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   607                 }
   608                 else {
   609                     $_ngcc_current_state = 51;
   610                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   611                 }
   612             }
   613             break;
   614         case 0:
   615             {
   616                 revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
   617             }
   618             break;
   619         case 51:
   620             {
   621                 action13();
   622                 $_ngcc_current_state = 49;
   623                 $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   624             }
   625             break;
   626         case 65:
   627             {
   628                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
   629                     NGCCHandler h = new annotation(this, super._source, $runtime, 634, null,AnnotationContext.COMPLEXTYPE_DECL);
   630                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
   631                 }
   632                 else {
   633                     $_ngcc_current_state = 2;
   634                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
   635                 }
   636             }
   637             break;
   638         default:
   639             {
   640                 unexpectedEnterElement($__qname);
   641             }
   642             break;
   643         }
   644     }
   646     public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException {
   647         int $ai;
   648         $uri = $__uri;
   649         $localName = $__local;
   650         $qname = $__qname;
   651         switch($_ngcc_current_state) {
   652         case 54:
   653             {
   654                 $_ngcc_current_state = 52;
   655                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   656             }
   657             break;
   658         case 76:
   659             {
   660                 if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
   661                     $runtime.consumeAttribute($ai);
   662                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   663                 }
   664                 else {
   665                     $_ngcc_current_state = 72;
   666                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   667                 }
   668             }
   669             break;
   670         case 49:
   671             {
   672                 $_ngcc_current_state = 48;
   673                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   674             }
   675             break;
   676         case 6:
   677             {
   678                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexContent"))) {
   679                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
   680                     $_ngcc_current_state = 1;
   681                 }
   682                 else {
   683                     unexpectedLeaveElement($__qname);
   684                 }
   685             }
   686             break;
   687         case 61:
   688             {
   689                 $_ngcc_current_state = 35;
   690                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   691             }
   692             break;
   693         case 46:
   694             {
   695                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
   696                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
   697                     $_ngcc_current_state = 34;
   698                 }
   699                 else {
   700                     unexpectedLeaveElement($__qname);
   701                 }
   702             }
   703             break;
   704         case 36:
   705             {
   706                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
   707                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
   708                     $_ngcc_current_state = 34;
   709                 }
   710                 else {
   711                     unexpectedLeaveElement($__qname);
   712                 }
   713             }
   714             break;
   715         case 18:
   716             {
   717                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
   718                     NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 571, result);
   719                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
   720                 }
   721                 else {
   722                     unexpectedLeaveElement($__qname);
   723                 }
   724             }
   725             break;
   726         case 12:
   727             {
   728                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
   729                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 564, fa);
   730                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
   731                 }
   732                 else {
   733                     unexpectedLeaveElement($__qname);
   734                 }
   735             }
   736             break;
   737         case 26:
   738             {
   739                 $_ngcc_current_state = 7;
   740                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   741             }
   742             break;
   743         case 34:
   744             {
   745                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleContent"))) {
   746                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
   747                     $_ngcc_current_state = 1;
   748                 }
   749                 else {
   750                     unexpectedLeaveElement($__qname);
   751                 }
   752             }
   753             break;
   754         case 38:
   755             {
   756                 action8();
   757                 $_ngcc_current_state = 37;
   758                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   759             }
   760             break;
   761         case 44:
   762             {
   763                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
   764                     $runtime.consumeAttribute($ai);
   765                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   766                 }
   767                 else {
   768                     unexpectedLeaveElement($__qname);
   769                 }
   770             }
   771             break;
   772         case 68:
   773             {
   774                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
   775                     $runtime.consumeAttribute($ai);
   776                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   777                 }
   778                 else {
   779                     $_ngcc_current_state = 67;
   780                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   781                 }
   782             }
   783             break;
   784         case 1:
   785             {
   786                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
   787                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
   788                     $_ngcc_current_state = 0;
   789                 }
   790                 else {
   791                     unexpectedLeaveElement($__qname);
   792                 }
   793             }
   794             break;
   795         case 80:
   796             {
   797                 if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
   798                     $runtime.consumeAttribute($ai);
   799                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   800                 }
   801                 else {
   802                     $_ngcc_current_state = 76;
   803                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   804                 }
   805             }
   806             break;
   807         case 37:
   808             {
   809                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
   810                     NGCCHandler h = new attributeUses(this, super._source, $runtime, 594, result);
   811                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
   812                 }
   813                 else {
   814                     unexpectedLeaveElement($__qname);
   815                 }
   816             }
   817             break;
   818         case 84:
   819             {
   820                 if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
   821                     $runtime.consumeAttribute($ai);
   822                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   823                 }
   824                 else {
   825                     $_ngcc_current_state = 80;
   826                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   827                 }
   828             }
   829             break;
   830         case 9:
   831             {
   832                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
   833                     NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 560, result);
   834                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
   835                 }
   836                 else {
   837                     unexpectedLeaveElement($__qname);
   838                 }
   839             }
   840             break;
   841         case 19:
   842             {
   843                 $_ngcc_current_state = 18;
   844                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   845             }
   846             break;
   847         case 15:
   848             {
   849                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
   850                     $runtime.consumeAttribute($ai);
   851                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   852                 }
   853                 else {
   854                     unexpectedLeaveElement($__qname);
   855                 }
   856             }
   857             break;
   858         case 48:
   859             {
   860                 action11();
   861                 $_ngcc_current_state = 47;
   862                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   863             }
   864             break;
   865         case 47:
   866             {
   867                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
   868                     NGCCHandler h = new attributeUses(this, super._source, $runtime, 606, result);
   869                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
   870                 }
   871                 else {
   872                     unexpectedLeaveElement($__qname);
   873                 }
   874             }
   875             break;
   876         case 8:
   877             {
   878                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
   879                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
   880                     $_ngcc_current_state = 6;
   881                 }
   882                 else {
   883                     unexpectedLeaveElement($__qname);
   884                 }
   885             }
   886             break;
   887         case 24:
   888             {
   889                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
   890                     $runtime.consumeAttribute($ai);
   891                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   892                 }
   893                 else {
   894                     unexpectedLeaveElement($__qname);
   895                 }
   896             }
   897             break;
   898         case 29:
   899             {
   900                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
   901                     $runtime.consumeAttribute($ai);
   902                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   903                 }
   904                 else {
   905                     $_ngcc_current_state = 28;
   906                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   907                 }
   908             }
   909             break;
   910         case 67:
   911             {
   912                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
   913                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 636, fa);
   914                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
   915                 }
   916                 else {
   917                     unexpectedLeaveElement($__qname);
   918                 }
   919             }
   920             break;
   921         case 10:
   922             {
   923                 $_ngcc_current_state = 9;
   924                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   925             }
   926             break;
   927         case 41:
   928             {
   929                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
   930                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 599, fa);
   931                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
   932                 }
   933                 else {
   934                     unexpectedLeaveElement($__qname);
   935                 }
   936             }
   937             break;
   938         case 2:
   939             {
   940                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
   941                     action1();
   942                     NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 557, result);
   943                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
   944                 }
   945                 else {
   946                     unexpectedLeaveElement($__qname);
   947                 }
   948             }
   949             break;
   950         case 21:
   951             {
   952                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
   953                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 575, fa);
   954                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
   955                 }
   956                 else {
   957                     unexpectedLeaveElement($__qname);
   958                 }
   959             }
   960             break;
   961         case 72:
   962             {
   963                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
   964                     $runtime.consumeAttribute($ai);
   965                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   966                 }
   967                 else {
   968                     $_ngcc_current_state = 68;
   969                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   970                 }
   971             }
   972             break;
   973         case 56:
   974             {
   975                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
   976                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 619, fa);
   977                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
   978                 }
   979                 else {
   980                     unexpectedLeaveElement($__qname);
   981                 }
   982             }
   983             break;
   984         case 39:
   985             {
   986                 $_ngcc_current_state = 38;
   987                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   988             }
   989             break;
   990         case 59:
   991             {
   992                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
   993                     $runtime.consumeAttribute($ai);
   994                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
   995                 }
   996                 else {
   997                     unexpectedLeaveElement($__qname);
   998                 }
   999             }
  1000             break;
  1001         case 52:
  1003                 $_ngcc_current_state = 51;
  1004                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
  1006             break;
  1007         case 17:
  1009                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
  1010                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
  1011                     $_ngcc_current_state = 6;
  1013                 else {
  1014                     unexpectedLeaveElement($__qname);
  1017             break;
  1018         case 0:
  1020                 revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
  1022             break;
  1023         case 51:
  1025                 action13();
  1026                 $_ngcc_current_state = 49;
  1027                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
  1029             break;
  1030         case 65:
  1032                 $_ngcc_current_state = 2;
  1033                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
  1035             break;
  1036         default:
  1038                 unexpectedLeaveElement($__qname);
  1040             break;
  1044     public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
  1045         int $ai;
  1046         $uri = $__uri;
  1047         $localName = $__local;
  1048         $qname = $__qname;
  1049         switch($_ngcc_current_state) {
  1050         case 29:
  1052                 if(($__uri.equals("") && $__local.equals("mixed"))) {
  1053                     $_ngcc_current_state = 31;
  1055                 else {
  1056                     $_ngcc_current_state = 28;
  1057                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1060             break;
  1061         case 54:
  1063                 $_ngcc_current_state = 52;
  1064                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1066             break;
  1067         case 10:
  1069                 $_ngcc_current_state = 9;
  1070                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1072             break;
  1073         case 76:
  1075                 if(($__uri.equals("") && $__local.equals("final"))) {
  1076                     $_ngcc_current_state = 78;
  1078                 else {
  1079                     $_ngcc_current_state = 72;
  1080                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1083             break;
  1084         case 49:
  1086                 $_ngcc_current_state = 48;
  1087                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1089             break;
  1090         case 61:
  1092                 $_ngcc_current_state = 35;
  1093                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1095             break;
  1096         case 72:
  1098                 if(($__uri.equals("") && $__local.equals("mixed"))) {
  1099                     $_ngcc_current_state = 74;
  1101                 else {
  1102                     $_ngcc_current_state = 68;
  1103                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1106             break;
  1107         case 39:
  1109                 $_ngcc_current_state = 38;
  1110                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1112             break;
  1113         case 59:
  1115                 if(($__uri.equals("") && $__local.equals("base"))) {
  1116                     $_ngcc_current_state = 58;
  1118                 else {
  1119                     unexpectedEnterAttribute($__qname);
  1122             break;
  1123         case 26:
  1125                 $_ngcc_current_state = 7;
  1126                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1128             break;
  1129         case 38:
  1131                 action8();
  1132                 $_ngcc_current_state = 37;
  1133                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1135             break;
  1136         case 44:
  1138                 if(($__uri.equals("") && $__local.equals("base"))) {
  1139                     $_ngcc_current_state = 43;
  1141                 else {
  1142                     unexpectedEnterAttribute($__qname);
  1145             break;
  1146         case 68:
  1148                 if(($__uri.equals("") && $__local.equals("name"))) {
  1149                     $_ngcc_current_state = 70;
  1151                 else {
  1152                     $_ngcc_current_state = 67;
  1153                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1156             break;
  1157         case 52:
  1159                 $_ngcc_current_state = 51;
  1160                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1162             break;
  1163         case 0:
  1165                 revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
  1167             break;
  1168         case 51:
  1170                 action13();
  1171                 $_ngcc_current_state = 49;
  1172                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1174             break;
  1175         case 80:
  1177                 if(($__uri.equals("") && $__local.equals("block"))) {
  1178                     $_ngcc_current_state = 82;
  1180                 else {
  1181                     $_ngcc_current_state = 76;
  1182                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1185             break;
  1186         case 84:
  1188                 if(($__uri.equals("") && $__local.equals("abstract"))) {
  1189                     $_ngcc_current_state = 86;
  1191                 else {
  1192                     $_ngcc_current_state = 80;
  1193                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1196             break;
  1197         case 19:
  1199                 $_ngcc_current_state = 18;
  1200                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1202             break;
  1203         case 15:
  1205                 if(($__uri.equals("") && $__local.equals("base"))) {
  1206                     $_ngcc_current_state = 14;
  1208                 else {
  1209                     unexpectedEnterAttribute($__qname);
  1212             break;
  1213         case 65:
  1215                 $_ngcc_current_state = 2;
  1216                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1218             break;
  1219         case 48:
  1221                 action11();
  1222                 $_ngcc_current_state = 47;
  1223                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
  1225             break;
  1226         case 24:
  1228                 if(($__uri.equals("") && $__local.equals("base"))) {
  1229                     $_ngcc_current_state = 23;
  1231                 else {
  1232                     unexpectedEnterAttribute($__qname);
  1235             break;
  1236         default:
  1238                 unexpectedEnterAttribute($__qname);
  1240             break;
  1244     public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
  1245         int $ai;
  1246         $uri = $__uri;
  1247         $localName = $__local;
  1248         $qname = $__qname;
  1249         switch($_ngcc_current_state) {
  1250         case 54:
  1252                 $_ngcc_current_state = 52;
  1253                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1255             break;
  1256         case 76:
  1258                 $_ngcc_current_state = 72;
  1259                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1261             break;
  1262         case 49:
  1264                 $_ngcc_current_state = 48;
  1265                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1267             break;
  1268         case 30:
  1270                 if(($__uri.equals("") && $__local.equals("mixed"))) {
  1271                     $_ngcc_current_state = 28;
  1273                 else {
  1274                     unexpectedLeaveAttribute($__qname);
  1277             break;
  1278         case 73:
  1280                 if(($__uri.equals("") && $__local.equals("mixed"))) {
  1281                     $_ngcc_current_state = 68;
  1283                 else {
  1284                     unexpectedLeaveAttribute($__qname);
  1287             break;
  1288         case 61:
  1290                 $_ngcc_current_state = 35;
  1291                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1293             break;
  1294         case 26:
  1296                 $_ngcc_current_state = 7;
  1297                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1299             break;
  1300         case 38:
  1302                 action8();
  1303                 $_ngcc_current_state = 37;
  1304                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1306             break;
  1307         case 68:
  1309                 $_ngcc_current_state = 67;
  1310                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1312             break;
  1313         case 13:
  1315                 if(($__uri.equals("") && $__local.equals("base"))) {
  1316                     $_ngcc_current_state = 12;
  1318                 else {
  1319                     unexpectedLeaveAttribute($__qname);
  1322             break;
  1323         case 85:
  1325                 if(($__uri.equals("") && $__local.equals("abstract"))) {
  1326                     $_ngcc_current_state = 80;
  1328                 else {
  1329                     unexpectedLeaveAttribute($__qname);
  1332             break;
  1333         case 80:
  1335                 $_ngcc_current_state = 76;
  1336                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1338             break;
  1339         case 84:
  1341                 $_ngcc_current_state = 80;
  1342                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1344             break;
  1345         case 19:
  1347                 $_ngcc_current_state = 18;
  1348                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1350             break;
  1351         case 48:
  1353                 action11();
  1354                 $_ngcc_current_state = 47;
  1355                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1357             break;
  1358         case 29:
  1360                 $_ngcc_current_state = 28;
  1361                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1363             break;
  1364         case 10:
  1366                 $_ngcc_current_state = 9;
  1367                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1369             break;
  1370         case 77:
  1372                 if(($__uri.equals("") && $__local.equals("final"))) {
  1373                     $_ngcc_current_state = 72;
  1375                 else {
  1376                     unexpectedLeaveAttribute($__qname);
  1379             break;
  1380         case 72:
  1382                 $_ngcc_current_state = 68;
  1383                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1385             break;
  1386         case 69:
  1388                 if(($__uri.equals("") && $__local.equals("name"))) {
  1389                     $_ngcc_current_state = 67;
  1391                 else {
  1392                     unexpectedLeaveAttribute($__qname);
  1395             break;
  1396         case 39:
  1398                 $_ngcc_current_state = 38;
  1399                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1401             break;
  1402         case 22:
  1404                 if(($__uri.equals("") && $__local.equals("base"))) {
  1405                     $_ngcc_current_state = 21;
  1407                 else {
  1408                     unexpectedLeaveAttribute($__qname);
  1411             break;
  1412         case 81:
  1414                 if(($__uri.equals("") && $__local.equals("block"))) {
  1415                     $_ngcc_current_state = 76;
  1417                 else {
  1418                     unexpectedLeaveAttribute($__qname);
  1421             break;
  1422         case 42:
  1424                 if(($__uri.equals("") && $__local.equals("base"))) {
  1425                     $_ngcc_current_state = 41;
  1427                 else {
  1428                     unexpectedLeaveAttribute($__qname);
  1431             break;
  1432         case 52:
  1434                 $_ngcc_current_state = 51;
  1435                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1437             break;
  1438         case 0:
  1440                 revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
  1442             break;
  1443         case 51:
  1445                 action13();
  1446                 $_ngcc_current_state = 49;
  1447                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1449             break;
  1450         case 57:
  1452                 if(($__uri.equals("") && $__local.equals("base"))) {
  1453                     $_ngcc_current_state = 56;
  1455                 else {
  1456                     unexpectedLeaveAttribute($__qname);
  1459             break;
  1460         case 65:
  1462                 $_ngcc_current_state = 2;
  1463                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
  1465             break;
  1466         default:
  1468                 unexpectedLeaveAttribute($__qname);
  1470             break;
  1474     public void text(String $value) throws SAXException {
  1475         int $ai;
  1476         switch($_ngcc_current_state) {
  1477         case 58:
  1479                 NGCCHandler h = new qname(this, super._source, $runtime, 621);
  1480                 spawnChildFromText(h, $value);
  1482             break;
  1483         case 54:
  1485                 $_ngcc_current_state = 52;
  1486                 $runtime.sendText(super._cookie, $value);
  1488             break;
  1489         case 31:
  1491                 mixedValue = $value;
  1492                 $_ngcc_current_state = 30;
  1494             break;
  1495         case 76:
  1497                 if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
  1498                     $runtime.consumeAttribute($ai);
  1499                     $runtime.sendText(super._cookie, $value);
  1501                 else {
  1502                     $_ngcc_current_state = 72;
  1503                     $runtime.sendText(super._cookie, $value);
  1506             break;
  1507         case 49:
  1509                 $_ngcc_current_state = 48;
  1510                 $runtime.sendText(super._cookie, $value);
  1512             break;
  1513         case 61:
  1515                 $_ngcc_current_state = 35;
  1516                 $runtime.sendText(super._cookie, $value);
  1518             break;
  1519         case 26:
  1521                 $_ngcc_current_state = 7;
  1522                 $runtime.sendText(super._cookie, $value);
  1524             break;
  1525         case 38:
  1527                 action8();
  1528                 $_ngcc_current_state = 37;
  1529                 $runtime.sendText(super._cookie, $value);
  1531             break;
  1532         case 44:
  1534                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
  1535                     $runtime.consumeAttribute($ai);
  1536                     $runtime.sendText(super._cookie, $value);
  1539             break;
  1540         case 68:
  1542                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
  1543                     $runtime.consumeAttribute($ai);
  1544                     $runtime.sendText(super._cookie, $value);
  1546                 else {
  1547                     $_ngcc_current_state = 67;
  1548                     $runtime.sendText(super._cookie, $value);
  1551             break;
  1552         case 80:
  1554                 if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
  1555                     $runtime.consumeAttribute($ai);
  1556                     $runtime.sendText(super._cookie, $value);
  1558                 else {
  1559                     $_ngcc_current_state = 76;
  1560                     $runtime.sendText(super._cookie, $value);
  1563             break;
  1564         case 84:
  1566                 if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
  1567                     $runtime.consumeAttribute($ai);
  1568                     $runtime.sendText(super._cookie, $value);
  1570                 else {
  1571                     $_ngcc_current_state = 80;
  1572                     $runtime.sendText(super._cookie, $value);
  1575             break;
  1576         case 19:
  1578                 $_ngcc_current_state = 18;
  1579                 $runtime.sendText(super._cookie, $value);
  1581             break;
  1582         case 15:
  1584                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
  1585                     $runtime.consumeAttribute($ai);
  1586                     $runtime.sendText(super._cookie, $value);
  1589             break;
  1590         case 86:
  1592                 abstractValue = $value;
  1593                 $_ngcc_current_state = 85;
  1595             break;
  1596         case 48:
  1598                 action11();
  1599                 $_ngcc_current_state = 47;
  1600                 $runtime.sendText(super._cookie, $value);
  1602             break;
  1603         case 24:
  1605                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
  1606                     $runtime.consumeAttribute($ai);
  1607                     $runtime.sendText(super._cookie, $value);
  1610             break;
  1611         case 29:
  1613                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
  1614                     $runtime.consumeAttribute($ai);
  1615                     $runtime.sendText(super._cookie, $value);
  1617                 else {
  1618                     $_ngcc_current_state = 28;
  1619                     $runtime.sendText(super._cookie, $value);
  1622             break;
  1623         case 10:
  1625                 $_ngcc_current_state = 9;
  1626                 $runtime.sendText(super._cookie, $value);
  1628             break;
  1629         case 72:
  1631                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
  1632                     $runtime.consumeAttribute($ai);
  1633                     $runtime.sendText(super._cookie, $value);
  1635                 else {
  1636                     $_ngcc_current_state = 68;
  1637                     $runtime.sendText(super._cookie, $value);
  1640             break;
  1641         case 43:
  1643                 NGCCHandler h = new qname(this, super._source, $runtime, 601);
  1644                 spawnChildFromText(h, $value);
  1646             break;
  1647         case 39:
  1649                 $_ngcc_current_state = 38;
  1650                 $runtime.sendText(super._cookie, $value);
  1652             break;
  1653         case 59:
  1655                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
  1656                     $runtime.consumeAttribute($ai);
  1657                     $runtime.sendText(super._cookie, $value);
  1660             break;
  1661         case 23:
  1663                 NGCCHandler h = new qname(this, super._source, $runtime, 577);
  1664                 spawnChildFromText(h, $value);
  1666             break;
  1667         case 52:
  1669                 $_ngcc_current_state = 51;
  1670                 $runtime.sendText(super._cookie, $value);
  1672             break;
  1673         case 78:
  1675                 NGCCHandler h = new erSet(this, super._source, $runtime, 648);
  1676                 spawnChildFromText(h, $value);
  1678             break;
  1679         case 70:
  1681                 name = WhiteSpaceProcessor.collapse($value);
  1682                 $_ngcc_current_state = 69;
  1684             break;
  1685         case 82:
  1687                 NGCCHandler h = new erSet(this, super._source, $runtime, 653);
  1688                 spawnChildFromText(h, $value);
  1690             break;
  1691         case 0:
  1693                 revertToParentFromText(result, super._cookie, $value);
  1695             break;
  1696         case 51:
  1698                 action13();
  1699                 $_ngcc_current_state = 49;
  1700                 $runtime.sendText(super._cookie, $value);
  1702             break;
  1703         case 65:
  1705                 $_ngcc_current_state = 2;
  1706                 $runtime.sendText(super._cookie, $value);
  1708             break;
  1709         case 74:
  1711                 mixedValue = $value;
  1712                 $_ngcc_current_state = 73;
  1714             break;
  1715         case 14:
  1717                 NGCCHandler h = new qname(this, super._source, $runtime, 566);
  1718                 spawnChildFromText(h, $value);
  1720             break;
  1724     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
  1725         switch($__cookie__) {
  1726         case 573:
  1728                 annotation = ((AnnotationImpl)$__result__);
  1729                 $_ngcc_current_state = 18;
  1731             break;
  1732         case 636:
  1734                 fa = ((ForeignAttributesImpl)$__result__);
  1735                 $_ngcc_current_state = 65;
  1737             break;
  1738         case 562:
  1740                 annotation = ((AnnotationImpl)$__result__);
  1741                 $_ngcc_current_state = 9;
  1743             break;
  1744         case 577:
  1746                 baseTypeName = ((UName)$__result__);
  1747                 action6();
  1748                 $_ngcc_current_state = 22;
  1750             break;
  1751         case 648:
  1753                 finalValue = ((Integer)$__result__);
  1754                 $_ngcc_current_state = 77;
  1756             break;
  1757         case 614:
  1759                 baseContentType = ((SimpleTypeImpl)$__result__);
  1760                 $_ngcc_current_state = 51;
  1762             break;
  1763         case 653:
  1765                 blockValue = ((Integer)$__result__);
  1766                 $_ngcc_current_state = 81;
  1768             break;
  1769         case 566:
  1771                 baseTypeName = ((UName)$__result__);
  1772                 action3();
  1773                 $_ngcc_current_state = 13;
  1775             break;
  1776         case 621:
  1778                 baseTypeName = ((UName)$__result__);
  1779                 action14();
  1780                 $_ngcc_current_state = 57;
  1782             break;
  1783         case 617:
  1785                 annotation = ((AnnotationImpl)$__result__);
  1786                 $_ngcc_current_state = 52;
  1788             break;
  1789         case 610:
  1791                 facet = ((XSFacet)$__result__);
  1792                 action12();
  1793                 $_ngcc_current_state = 48;
  1795             break;
  1796         case 626:
  1798                 annotation = ((AnnotationImpl)$__result__);
  1799                 $_ngcc_current_state = 35;
  1801             break;
  1802         case 571:
  1804                 explicitContent = ((ContentTypeImpl)$__result__);
  1805                 action5();
  1806                 $_ngcc_current_state = 17;
  1808             break;
  1809         case 564:
  1811                 fa = ((ForeignAttributesImpl)$__result__);
  1812                 $_ngcc_current_state = 10;
  1814             break;
  1815         case 582:
  1817                 annotation = ((AnnotationImpl)$__result__);
  1818                 $_ngcc_current_state = 7;
  1820             break;
  1821         case 628:
  1823                 fa = ((ForeignAttributesImpl)$__result__);
  1824                 $_ngcc_current_state = 61;
  1826             break;
  1827         case 594:
  1829                 $_ngcc_current_state = 36;
  1831             break;
  1832         case 560:
  1834                 explicitContent = ((ContentTypeImpl)$__result__);
  1835                 action2();
  1836                 $_ngcc_current_state = 8;
  1838             break;
  1839         case 606:
  1841                 $_ngcc_current_state = 46;
  1843             break;
  1844         case 609:
  1846                 facet = ((XSFacet)$__result__);
  1847                 action12();
  1848                 $_ngcc_current_state = 48;
  1850             break;
  1851         case 584:
  1853                 fa = ((ForeignAttributesImpl)$__result__);
  1854                 $_ngcc_current_state = 26;
  1856             break;
  1857         case 599:
  1859                 fa = ((ForeignAttributesImpl)$__result__);
  1860                 $_ngcc_current_state = 39;
  1862             break;
  1863         case 557:
  1865                 explicitContent = ((ContentTypeImpl)$__result__);
  1866                 action0();
  1867                 $_ngcc_current_state = 1;
  1869             break;
  1870         case 575:
  1872                 fa = ((ForeignAttributesImpl)$__result__);
  1873                 $_ngcc_current_state = 19;
  1875             break;
  1876         case 601:
  1878                 baseTypeName = ((UName)$__result__);
  1879                 action9();
  1880                 $_ngcc_current_state = 42;
  1882             break;
  1883         case 619:
  1885                 fa = ((ForeignAttributesImpl)$__result__);
  1886                 $_ngcc_current_state = 54;
  1888             break;
  1889         case 597:
  1891                 annotation = ((AnnotationImpl)$__result__);
  1892                 $_ngcc_current_state = 38;
  1894             break;
  1895         case 634:
  1897                 annotation = ((AnnotationImpl)$__result__);
  1898                 $_ngcc_current_state = 2;
  1900             break;
  1904     public boolean accepted() {
  1905         return(($_ngcc_current_state == 0));
  1909       private ComplexTypeImpl result;
  1910       private Ref.Type baseType;
  1911       private Ref.ContentType contentType;
  1913       // local variables for simpleContent/restriction
  1914       private Ref.SimpleType baseContentType;
  1915       private RestrictionSimpleTypeImpl contentSimpleType;
  1917       private Locator locator,locator2;
  1919       private static class BaseContentSimpleTypeRef implements Ref.SimpleType {
  1920         private final Ref.Type baseType;
  1921         private BaseContentSimpleTypeRef(Ref.Type _baseType ) { this.baseType = _baseType; }
  1922         public XSSimpleType getType() {
  1923           return (XSSimpleType)((XSComplexType)baseType.getType()).getContentType();
  1928       // baseType and contentType must be computed before calling this method.
  1929       private void makeResult( int derivationMethod ) {
  1931         if(finalValue==null)
  1932           finalValue = $runtime.finalDefault;
  1933         if(blockValue==null)
  1934           blockValue = $runtime.blockDefault;
  1936         result = new ComplexTypeImpl(
  1937             $runtime.document,
  1938             annotation,
  1939             locator,
  1940             fa,
  1941             name,
  1942             name==null,
  1943             $runtime.parseBoolean(abstractValue),
  1944             derivationMethod,
  1945             baseType,
  1946             finalValue,
  1947             blockValue,
  1948             $runtime.parseBoolean(mixedValue)
  1949         );
  1952       // I had to make them static inner classes (as opposed to anonymous ones),
  1953       // so that they will not keep references to parser.
  1955       private static class BaseComplexTypeContentRef implements Ref.ContentType {
  1956         private final Ref.Type baseType;
  1957         private BaseComplexTypeContentRef(Ref.Type _baseType) { this.baseType = _baseType; }
  1958         public XSContentType getContentType() {
  1959             return ((XSComplexType)baseType.getType()).getContentType();
  1962       private static class InheritBaseContentTypeRef implements Ref.ContentType {
  1963         private final Ref.Type baseType;
  1964         private final XSContentType empty;
  1965         private final XSContentType expContent;
  1966         private final SchemaDocumentImpl currentDocument;
  1967         private InheritBaseContentTypeRef(
  1968           Ref.Type _baseType,XSContentType _explicitContent,NGCCRuntimeEx $runtime) {
  1970           this.baseType = _baseType;
  1971           this.currentDocument = $runtime.document;
  1972           expContent = _explicitContent;
  1973           this.empty = $runtime.parser.schemaSet.empty;
  1975           public XSContentType getContentType() {
  1976               XSContentType baseContentType =
  1977                   ((XSComplexType)baseType.getType()).getContentType();
  1978               if(baseContentType==empty)
  1979                   return expContent;
  1980               else
  1981                   return new ParticleImpl( currentDocument, null, new ModelGroupImpl(
  1982                     currentDocument,
  1983                       null, null, null, XSModelGroup.SEQUENCE,
  1984                       new ParticleImpl[]{
  1985                           (ParticleImpl)baseContentType,
  1986                           (ParticleImpl)expContent}), null );
  1988       };
  1990       private Ref.ContentType buildComplexExtensionContentModel( XSContentType explicitContent ) {
  1992         if(explicitContent==$runtime.parser.schemaSet.empty)
  1993           return new BaseComplexTypeContentRef(baseType);
  1994         else
  1995           return new InheritBaseContentTypeRef(baseType,explicitContent,$runtime);

mercurial