1 /*
   2  * Copyright (c) 1997, 2011, 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  */
  25 
  26 /* this file is generated by RelaxNGCC */
  27 package com.sun.xml.internal.xsom.impl.parser.state;
  28 import org.xml.sax.SAXException;
  29 import org.xml.sax.XMLReader;
  30 import org.xml.sax.Attributes;
  31 import com.sun.xml.internal.xsom.impl.parser.NGCCRuntimeEx;
  32 
  33     import com.sun.xml.internal.xsom.*;
  34     import com.sun.xml.internal.xsom.parser.*;
  35     import com.sun.xml.internal.xsom.impl.*;
  36     import com.sun.xml.internal.xsom.impl.parser.*;
  37     import org.xml.sax.Locator;
  38     import org.xml.sax.ContentHandler;
  39     import org.xml.sax.helpers.*;
  40     import java.util.*;
  41     import java.math.BigInteger;
  42 
  43 
  44 
  45 class complexType extends NGCCHandler {
  46     private Integer finalValue;
  47     private String name;
  48     private String abstractValue;
  49     private Integer blockValue;
  50     private XSFacet facet;
  51     private ForeignAttributesImpl fa;
  52     private AnnotationImpl annotation;
  53     private ContentTypeImpl explicitContent;
  54     private UName baseTypeName;
  55     private String mixedValue;
  56     protected final NGCCRuntimeEx $runtime;
  57     private int $_ngcc_current_state;
  58     protected String $uri;
  59     protected String $localName;
  60     protected String $qname;
  61 
  62     public final NGCCRuntime getRuntime() {
  63         return($runtime);
  64     }
  65 
  66     public complexType(NGCCHandler parent, NGCCEventSource source, NGCCRuntimeEx runtime, int cookie) {
  67         super(source, parent, cookie);
  68         $runtime = runtime;
  69         $_ngcc_current_state = 88;
  70     }
  71 
  72     public complexType(NGCCRuntimeEx runtime) {
  73         this(null, runtime, runtime, -1);
  74     }
  75 
  76     private void action0()throws SAXException {
  77 
  78             result.setContentType(explicitContent);
  79 
  80 }
  81 
  82     private void action1()throws SAXException {
  83 
  84             baseType = $runtime.parser.schemaSet.anyType;
  85             makeResult(XSType.RESTRICTION);
  86 
  87 }
  88 
  89     private void action2()throws SAXException {
  90 
  91                 result.setExplicitContent(explicitContent);
  92                 result.setContentType(
  93                   buildComplexExtensionContentModel(explicitContent));
  94 
  95 }
  96 
  97     private void action3()throws SAXException {
  98 
  99                   baseType = new DelayedRef.Type(
 100                     $runtime, locator2, $runtime.currentSchema, baseTypeName );
 101                   makeResult(XSType.EXTENSION);
 102 
 103 }
 104 
 105     private void action4()throws SAXException {
 106         locator2 = $runtime.copyLocator();
 107 }
 108 
 109     private void action5()throws SAXException {
 110 
 111                 result.setContentType(explicitContent);
 112 
 113 }
 114 
 115     private void action6()throws SAXException {
 116 
 117                   baseType = new DelayedRef.Type(
 118                     $runtime, locator2, $runtime.currentSchema, baseTypeName );
 119                   makeResult(XSType.RESTRICTION);
 120 
 121 }
 122 
 123     private void action7()throws SAXException {
 124         locator2 = $runtime.copyLocator();
 125 }
 126 
 127     private void action8()throws SAXException {
 128 
 129                 contentType = new BaseContentRef($runtime,baseType);
 130                 makeResult(XSType.EXTENSION);
 131                 result.setContentType(contentType);
 132 
 133 }
 134 
 135     private void action9()throws SAXException {
 136 
 137                   baseType = new DelayedRef.Type(
 138                     $runtime, locator2, $runtime.currentSchema, baseTypeName );
 139 
 140 }
 141 
 142     private void action10()throws SAXException {
 143         locator2 = $runtime.copyLocator();
 144 }
 145 
 146     private void action11()throws SAXException {
 147 
 148                 makeResult(XSType.RESTRICTION);
 149                 result.setContentType(contentType);
 150 
 151 }
 152 
 153     private void action12()throws SAXException {
 154         contentSimpleType.addFacet(facet);
 155 }
 156 
 157     private void action13()throws SAXException {
 158 
 159                 if(baseContentType==null) {
 160                   // contentType of the base type, which must be a complex type
 161                   baseContentType = new BaseContentSimpleTypeRef(baseType);
 162                 }
 163 
 164                 contentSimpleType = new RestrictionSimpleTypeImpl(
 165                   $runtime.document, null/*?*/, locator2, null,
 166                   null, true, Collections.EMPTY_SET, baseContentType );
 167                 contentType = contentSimpleType;
 168 
 169 }
 170 
 171     private void action14()throws SAXException {
 172 
 173                   baseType = new DelayedRef.Type(
 174                     $runtime, locator2, $runtime.currentSchema, baseTypeName );
 175 
 176 }
 177 
 178     private void action15()throws SAXException {
 179         locator2 = $runtime.copyLocator();
 180 }
 181 
 182     private void action16()throws SAXException {
 183         locator = $runtime.copyLocator();
 184 }
 185 
 186     public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException {
 187         int $ai;
 188         $uri = $__uri;
 189         $localName = $__local;
 190         $qname = $__qname;
 191         switch($_ngcc_current_state) {
 192         case 65:
 193             {
 194                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
 195                     NGCCHandler h = new annotation(this, super._source, $runtime, 81, null,AnnotationContext.COMPLEXTYPE_DECL);
 196                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 197                 }
 198                 else {
 199                     $_ngcc_current_state = 2;
 200                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 201                 }
 202             }
 203             break;
 204         case 29:
 205             {
 206                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
 207                     $runtime.consumeAttribute($ai);
 208                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 209                 }
 210                 else {
 211                     $_ngcc_current_state = 28;
 212                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 213                 }
 214             }
 215             break;
 216         case 76:
 217             {
 218                 if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
 219                     $runtime.consumeAttribute($ai);
 220                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 221                 }
 222                 else {
 223                     $_ngcc_current_state = 72;
 224                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 225                 }
 226             }
 227             break;
 228         case 88:
 229             {
 230                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
 231                     $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
 232                     action16();
 233                     $_ngcc_current_state = 84;
 234                 }
 235                 else {
 236                     unexpectedEnterElement($__qname);
 237                 }
 238             }
 239             break;
 240         case 2:
 241             {
 242                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleContent"))) {
 243                     $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
 244                     $_ngcc_current_state = 63;
 245                 }
 246                 else {
 247                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexContent"))) {
 248                         $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
 249                         $_ngcc_current_state = 29;
 250                     }
 251                     else {
 252                         if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__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("element")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))))))))) {
 253                             action1();
 254                             NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 4, result);
 255                             spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 256                         }
 257                         else {
 258                             unexpectedEnterElement($__qname);
 259                         }
 260                     }
 261                 }
 262             }
 263             break;
 264         case 47:
 265             {
 266                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))))) {
 267                     NGCCHandler h = new attributeUses(this, super._source, $runtime, 53, result);
 268                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 269                 }
 270                 else {
 271                     unexpectedEnterElement($__qname);
 272                 }
 273             }
 274             break;
 275         case 38:
 276             {
 277                 action8();
 278                 $_ngcc_current_state = 37;
 279                 $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 280             }
 281             break;
 282         case 49:
 283             {
 284                 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")))) {
 285                     NGCCHandler h = new facet(this, super._source, $runtime, 57);
 286                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 287                 }
 288                 else {
 289                     $_ngcc_current_state = 48;
 290                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 291                 }
 292             }
 293             break;
 294         case 18:
 295             {
 296                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__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("element")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))))))))) {
 297                     NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 18, result);
 298                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 299                 }
 300                 else {
 301                     unexpectedEnterElement($__qname);
 302                 }
 303             }
 304             break;
 305         case 51:
 306             {
 307                 action13();
 308                 $_ngcc_current_state = 49;
 309                 $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 310             }
 311             break;
 312         case 54:
 313             {
 314                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
 315                     NGCCHandler h = new annotation(this, super._source, $runtime, 64, annotation,AnnotationContext.COMPLEXTYPE_DECL);
 316                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 317                 }
 318                 else {
 319                     $_ngcc_current_state = 52;
 320                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 321                 }
 322             }
 323             break;
 324         case 68:
 325             {
 326                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
 327                     $runtime.consumeAttribute($ai);
 328                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 329                 }
 330                 else {
 331                     $_ngcc_current_state = 67;
 332                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 333                 }
 334             }
 335             break;
 336         case 56:
 337             {
 338                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__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("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"))))))))) {
 339                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 66, fa);
 340                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 341                 }
 342                 else {
 343                     unexpectedEnterElement($__qname);
 344                 }
 345             }
 346             break;
 347         case 84:
 348             {
 349                 if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
 350                     $runtime.consumeAttribute($ai);
 351                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 352                 }
 353                 else {
 354                     $_ngcc_current_state = 80;
 355                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 356                 }
 357             }
 358             break;
 359         case 52:
 360             {
 361                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
 362                     NGCCHandler h = new simpleType(this, super._source, $runtime, 61);
 363                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 364                 }
 365                 else {
 366                     $_ngcc_current_state = 51;
 367                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 368                 }
 369             }
 370             break;
 371         case 12:
 372             {
 373                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__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("element")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")))))))))) {
 374                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 11, fa);
 375                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 376                 }
 377                 else {
 378                     unexpectedEnterElement($__qname);
 379                 }
 380             }
 381             break;
 382         case 41:
 383             {
 384                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")))))) {
 385                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 46, fa);
 386                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 387                 }
 388                 else {
 389                     unexpectedEnterElement($__qname);
 390                 }
 391             }
 392             break;
 393         case 10:
 394             {
 395                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
 396                     NGCCHandler h = new annotation(this, super._source, $runtime, 9, annotation,AnnotationContext.COMPLEXTYPE_DECL);
 397                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 398                 }
 399                 else {
 400                     $_ngcc_current_state = 9;
 401                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 402                 }
 403             }
 404             break;
 405         case 0:
 406             {
 407                 revertToParentFromEnterElement(result, super._cookie, $__uri, $__local, $__qname, $attrs);
 408             }
 409             break;
 410         case 80:
 411             {
 412                 if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
 413                     $runtime.consumeAttribute($ai);
 414                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 415                 }
 416                 else {
 417                     $_ngcc_current_state = 76;
 418                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 419                 }
 420             }
 421             break;
 422         case 28:
 423             {
 424                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))))) {
 425                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 31, fa);
 426                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 427                 }
 428                 else {
 429                     unexpectedEnterElement($__qname);
 430                 }
 431             }
 432             break;
 433         case 72:
 434             {
 435                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
 436                     $runtime.consumeAttribute($ai);
 437                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 438                 }
 439                 else {
 440                     $_ngcc_current_state = 68;
 441                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 442                 }
 443             }
 444             break;
 445         case 63:
 446             {
 447                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))))) {
 448                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 75, fa);
 449                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 450                 }
 451                 else {
 452                     unexpectedEnterElement($__qname);
 453                 }
 454             }
 455             break;
 456         case 59:
 457             {
 458                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
 459                     $runtime.consumeAttribute($ai);
 460                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 461                 }
 462                 else {
 463                     unexpectedEnterElement($__qname);
 464                 }
 465             }
 466             break;
 467         case 19:
 468             {
 469                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
 470                     NGCCHandler h = new annotation(this, super._source, $runtime, 20, annotation,AnnotationContext.COMPLEXTYPE_DECL);
 471                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 472                 }
 473                 else {
 474                     $_ngcc_current_state = 18;
 475                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 476                 }
 477             }
 478             break;
 479         case 39:
 480             {
 481                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
 482                     NGCCHandler h = new annotation(this, super._source, $runtime, 44, annotation,AnnotationContext.COMPLEXTYPE_DECL);
 483                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 484                 }
 485                 else {
 486                     $_ngcc_current_state = 38;
 487                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 488                 }
 489             }
 490             break;
 491         case 44:
 492             {
 493                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
 494                     $runtime.consumeAttribute($ai);
 495                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 496                 }
 497                 else {
 498                     unexpectedEnterElement($__qname);
 499                 }
 500             }
 501             break;
 502         case 21:
 503             {
 504                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__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("element")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")))))))))) {
 505                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 22, fa);
 506                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 507                 }
 508                 else {
 509                     unexpectedEnterElement($__qname);
 510                 }
 511             }
 512             break;
 513         case 48:
 514             {
 515                 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")))) {
 516                     NGCCHandler h = new facet(this, super._source, $runtime, 56);
 517                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 518                 }
 519                 else {
 520                     action11();
 521                     $_ngcc_current_state = 47;
 522                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 523                 }
 524             }
 525             break;
 526         case 61:
 527             {
 528                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
 529                     NGCCHandler h = new annotation(this, super._source, $runtime, 73, annotation,AnnotationContext.COMPLEXTYPE_DECL);
 530                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 531                 }
 532                 else {
 533                     $_ngcc_current_state = 35;
 534                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 535                 }
 536             }
 537             break;
 538         case 26:
 539             {
 540                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
 541                     NGCCHandler h = new annotation(this, super._source, $runtime, 29, annotation,AnnotationContext.COMPLEXTYPE_DECL);
 542                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 543                 }
 544                 else {
 545                     $_ngcc_current_state = 7;
 546                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 547                 }
 548             }
 549             break;
 550         case 37:
 551             {
 552                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))))) {
 553                     NGCCHandler h = new attributeUses(this, super._source, $runtime, 41, result);
 554                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 555                 }
 556                 else {
 557                     unexpectedEnterElement($__qname);
 558                 }
 559             }
 560             break;
 561         case 67:
 562             {
 563                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("any")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleContent")) || (((($__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("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexContent")))))))))))) {
 564                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 83, fa);
 565                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 566                 }
 567                 else {
 568                     unexpectedEnterElement($__qname);
 569                 }
 570             }
 571             break;
 572         case 7:
 573             {
 574                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
 575                     $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
 576                     action7();
 577                     $_ngcc_current_state = 24;
 578                 }
 579                 else {
 580                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
 581                         $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
 582                         action4();
 583                         $_ngcc_current_state = 15;
 584                     }
 585                     else {
 586                         unexpectedEnterElement($__qname);
 587                     }
 588                 }
 589             }
 590             break;
 591         case 9:
 592             {
 593                 if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("anyAttribute")) || (($__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("element")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))))))))) {
 594                     NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 7, result);
 595                     spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
 596                 }
 597                 else {
 598                     unexpectedEnterElement($__qname);
 599                 }
 600             }
 601             break;
 602         case 35:
 603             {
 604                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
 605                     $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
 606                     action15();
 607                     $_ngcc_current_state = 59;
 608                 }
 609                 else {
 610                     if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
 611                         $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
 612                         action10();
 613                         $_ngcc_current_state = 44;
 614                     }
 615                     else {
 616                         unexpectedEnterElement($__qname);
 617                     }
 618                 }
 619             }
 620             break;
 621         case 24:
 622             {
 623                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
 624                     $runtime.consumeAttribute($ai);
 625                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 626                 }
 627                 else {
 628                     unexpectedEnterElement($__qname);
 629                 }
 630             }
 631             break;
 632         case 15:
 633             {
 634                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
 635                     $runtime.consumeAttribute($ai);
 636                     $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
 637                 }
 638                 else {
 639                     unexpectedEnterElement($__qname);
 640                 }
 641             }
 642             break;
 643         default:
 644             {
 645                 unexpectedEnterElement($__qname);
 646             }
 647             break;
 648         }
 649     }
 650 
 651     public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException {
 652         int $ai;
 653         $uri = $__uri;
 654         $localName = $__local;
 655         $qname = $__qname;
 656         switch($_ngcc_current_state) {
 657         case 65:
 658             {
 659                 $_ngcc_current_state = 2;
 660                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 661             }
 662             break;
 663         case 29:
 664             {
 665                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
 666                     $runtime.consumeAttribute($ai);
 667                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 668                 }
 669                 else {
 670                     $_ngcc_current_state = 28;
 671                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 672                 }
 673             }
 674             break;
 675         case 34:
 676             {
 677                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleContent"))) {
 678                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
 679                     $_ngcc_current_state = 1;
 680                 }
 681                 else {
 682                     unexpectedLeaveElement($__qname);
 683                 }
 684             }
 685             break;
 686         case 76:
 687             {
 688                 if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
 689                     $runtime.consumeAttribute($ai);
 690                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 691                 }
 692                 else {
 693                     $_ngcc_current_state = 72;
 694                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 695                 }
 696             }
 697             break;
 698         case 2:
 699             {
 700                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
 701                     action1();
 702                     NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 4, result);
 703                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
 704                 }
 705                 else {
 706                     unexpectedLeaveElement($__qname);
 707                 }
 708             }
 709             break;
 710         case 46:
 711             {
 712                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
 713                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
 714                     $_ngcc_current_state = 34;
 715                 }
 716                 else {
 717                     unexpectedLeaveElement($__qname);
 718                 }
 719             }
 720             break;
 721         case 47:
 722             {
 723                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
 724                     NGCCHandler h = new attributeUses(this, super._source, $runtime, 53, result);
 725                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
 726                 }
 727                 else {
 728                     unexpectedLeaveElement($__qname);
 729                 }
 730             }
 731             break;
 732         case 38:
 733             {
 734                 action8();
 735                 $_ngcc_current_state = 37;
 736                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 737             }
 738             break;
 739         case 49:
 740             {
 741                 $_ngcc_current_state = 48;
 742                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 743             }
 744             break;
 745         case 18:
 746             {
 747                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
 748                     NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 18, result);
 749                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
 750                 }
 751                 else {
 752                     unexpectedLeaveElement($__qname);
 753                 }
 754             }
 755             break;
 756         case 51:
 757             {
 758                 action13();
 759                 $_ngcc_current_state = 49;
 760                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 761             }
 762             break;
 763         case 54:
 764             {
 765                 $_ngcc_current_state = 52;
 766                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 767             }
 768             break;
 769         case 68:
 770             {
 771                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
 772                     $runtime.consumeAttribute($ai);
 773                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 774                 }
 775                 else {
 776                     $_ngcc_current_state = 67;
 777                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 778                 }
 779             }
 780             break;
 781         case 56:
 782             {
 783                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
 784                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 66, fa);
 785                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
 786                 }
 787                 else {
 788                     unexpectedLeaveElement($__qname);
 789                 }
 790             }
 791             break;
 792         case 84:
 793             {
 794                 if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
 795                     $runtime.consumeAttribute($ai);
 796                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 797                 }
 798                 else {
 799                     $_ngcc_current_state = 80;
 800                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 801                 }
 802             }
 803             break;
 804         case 52:
 805             {
 806                 $_ngcc_current_state = 51;
 807                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 808             }
 809             break;
 810         case 12:
 811             {
 812                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
 813                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 11, fa);
 814                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
 815                 }
 816                 else {
 817                     unexpectedLeaveElement($__qname);
 818                 }
 819             }
 820             break;
 821         case 41:
 822             {
 823                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
 824                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 46, fa);
 825                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
 826                 }
 827                 else {
 828                     unexpectedLeaveElement($__qname);
 829                 }
 830             }
 831             break;
 832         case 36:
 833             {
 834                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
 835                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
 836                     $_ngcc_current_state = 34;
 837                 }
 838                 else {
 839                     unexpectedLeaveElement($__qname);
 840                 }
 841             }
 842             break;
 843         case 10:
 844             {
 845                 $_ngcc_current_state = 9;
 846                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 847             }
 848             break;
 849         case 0:
 850             {
 851                 revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
 852             }
 853             break;
 854         case 80:
 855             {
 856                 if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
 857                     $runtime.consumeAttribute($ai);
 858                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 859                 }
 860                 else {
 861                     $_ngcc_current_state = 76;
 862                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 863                 }
 864             }
 865             break;
 866         case 72:
 867             {
 868                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
 869                     $runtime.consumeAttribute($ai);
 870                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 871                 }
 872                 else {
 873                     $_ngcc_current_state = 68;
 874                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 875                 }
 876             }
 877             break;
 878         case 59:
 879             {
 880                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
 881                     $runtime.consumeAttribute($ai);
 882                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 883                 }
 884                 else {
 885                     unexpectedLeaveElement($__qname);
 886                 }
 887             }
 888             break;
 889         case 6:
 890             {
 891                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexContent"))) {
 892                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
 893                     $_ngcc_current_state = 1;
 894                 }
 895                 else {
 896                     unexpectedLeaveElement($__qname);
 897                 }
 898             }
 899             break;
 900         case 1:
 901             {
 902                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
 903                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
 904                     $_ngcc_current_state = 0;
 905                 }
 906                 else {
 907                     unexpectedLeaveElement($__qname);
 908                 }
 909             }
 910             break;
 911         case 19:
 912             {
 913                 $_ngcc_current_state = 18;
 914                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 915             }
 916             break;
 917         case 39:
 918             {
 919                 $_ngcc_current_state = 38;
 920                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 921             }
 922             break;
 923         case 44:
 924             {
 925                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
 926                     $runtime.consumeAttribute($ai);
 927                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 928                 }
 929                 else {
 930                     unexpectedLeaveElement($__qname);
 931                 }
 932             }
 933             break;
 934         case 21:
 935             {
 936                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
 937                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 22, fa);
 938                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
 939                 }
 940                 else {
 941                     unexpectedLeaveElement($__qname);
 942                 }
 943             }
 944             break;
 945         case 48:
 946             {
 947                 action11();
 948                 $_ngcc_current_state = 47;
 949                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 950             }
 951             break;
 952         case 61:
 953             {
 954                 $_ngcc_current_state = 35;
 955                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 956             }
 957             break;
 958         case 26:
 959             {
 960                 $_ngcc_current_state = 7;
 961                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
 962             }
 963             break;
 964         case 37:
 965             {
 966                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
 967                     NGCCHandler h = new attributeUses(this, super._source, $runtime, 41, result);
 968                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
 969                 }
 970                 else {
 971                     unexpectedLeaveElement($__qname);
 972                 }
 973             }
 974             break;
 975         case 67:
 976             {
 977                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
 978                     NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 83, fa);
 979                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
 980                 }
 981                 else {
 982                     unexpectedLeaveElement($__qname);
 983                 }
 984             }
 985             break;
 986         case 17:
 987             {
 988                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
 989                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
 990                     $_ngcc_current_state = 6;
 991                 }
 992                 else {
 993                     unexpectedLeaveElement($__qname);
 994                 }
 995             }
 996             break;
 997         case 8:
 998             {
 999                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
1000                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
1001                     $_ngcc_current_state = 6;
1002                 }
1003                 else {
1004                     unexpectedLeaveElement($__qname);
1005                 }
1006             }
1007             break;
1008         case 9:
1009             {
1010                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("extension"))) {
1011                     NGCCHandler h = new complexType_complexContent_body(this, super._source, $runtime, 7, result);
1012                     spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
1013                 }
1014                 else {
1015                     unexpectedLeaveElement($__qname);
1016                 }
1017             }
1018             break;
1019         case 24:
1020             {
1021                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
1022                     $runtime.consumeAttribute($ai);
1023                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
1024                 }
1025                 else {
1026                     unexpectedLeaveElement($__qname);
1027                 }
1028             }
1029             break;
1030         case 15:
1031             {
1032                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
1033                     $runtime.consumeAttribute($ai);
1034                     $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
1035                 }
1036                 else {
1037                     unexpectedLeaveElement($__qname);
1038                 }
1039             }
1040             break;
1041         default:
1042             {
1043                 unexpectedLeaveElement($__qname);
1044             }
1045             break;
1046         }
1047     }
1048 
1049     public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
1050         int $ai;
1051         $uri = $__uri;
1052         $localName = $__local;
1053         $qname = $__qname;
1054         switch($_ngcc_current_state) {
1055         case 65:
1056             {
1057                 $_ngcc_current_state = 2;
1058                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1059             }
1060             break;
1061         case 72:
1062             {
1063                 if(($__uri.equals("") && $__local.equals("mixed"))) {
1064                     $_ngcc_current_state = 74;
1065                 }
1066                 else {
1067                     $_ngcc_current_state = 68;
1068                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1069                 }
1070             }
1071             break;
1072         case 29:
1073             {
1074                 if(($__uri.equals("") && $__local.equals("mixed"))) {
1075                     $_ngcc_current_state = 31;
1076                 }
1077                 else {
1078                     $_ngcc_current_state = 28;
1079                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1080                 }
1081             }
1082             break;
1083         case 76:
1084             {
1085                 if(($__uri.equals("") && $__local.equals("final"))) {
1086                     $_ngcc_current_state = 78;
1087                 }
1088                 else {
1089                     $_ngcc_current_state = 72;
1090                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1091                 }
1092             }
1093             break;
1094         case 59:
1095             {
1096                 if(($__uri.equals("") && $__local.equals("base"))) {
1097                     $_ngcc_current_state = 58;
1098                 }
1099                 else {
1100                     unexpectedEnterAttribute($__qname);
1101                 }
1102             }
1103             break;
1104         case 19:
1105             {
1106                 $_ngcc_current_state = 18;
1107                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1108             }
1109             break;
1110         case 49:
1111             {
1112                 $_ngcc_current_state = 48;
1113                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1114             }
1115             break;
1116         case 38:
1117             {
1118                 action8();
1119                 $_ngcc_current_state = 37;
1120                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1121             }
1122             break;
1123         case 39:
1124             {
1125                 $_ngcc_current_state = 38;
1126                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1127             }
1128             break;
1129         case 44:
1130             {
1131                 if(($__uri.equals("") && $__local.equals("base"))) {
1132                     $_ngcc_current_state = 43;
1133                 }
1134                 else {
1135                     unexpectedEnterAttribute($__qname);
1136                 }
1137             }
1138             break;
1139         case 48:
1140             {
1141                 action11();
1142                 $_ngcc_current_state = 47;
1143                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1144             }
1145             break;
1146         case 61:
1147             {
1148                 $_ngcc_current_state = 35;
1149                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1150             }
1151             break;
1152         case 51:
1153             {
1154                 action13();
1155                 $_ngcc_current_state = 49;
1156                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1157             }
1158             break;
1159         case 26:
1160             {
1161                 $_ngcc_current_state = 7;
1162                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1163             }
1164             break;
1165         case 54:
1166             {
1167                 $_ngcc_current_state = 52;
1168                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1169             }
1170             break;
1171         case 68:
1172             {
1173                 if(($__uri.equals("") && $__local.equals("name"))) {
1174                     $_ngcc_current_state = 70;
1175                 }
1176                 else {
1177                     $_ngcc_current_state = 67;
1178                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1179                 }
1180             }
1181             break;
1182         case 84:
1183             {
1184                 if(($__uri.equals("") && $__local.equals("abstract"))) {
1185                     $_ngcc_current_state = 86;
1186                 }
1187                 else {
1188                     $_ngcc_current_state = 80;
1189                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1190                 }
1191             }
1192             break;
1193         case 52:
1194             {
1195                 $_ngcc_current_state = 51;
1196                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1197             }
1198             break;
1199         case 10:
1200             {
1201                 $_ngcc_current_state = 9;
1202                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1203             }
1204             break;
1205         case 0:
1206             {
1207                 revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
1208             }
1209             break;
1210         case 80:
1211             {
1212                 if(($__uri.equals("") && $__local.equals("block"))) {
1213                     $_ngcc_current_state = 82;
1214                 }
1215                 else {
1216                     $_ngcc_current_state = 76;
1217                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1218                 }
1219             }
1220             break;
1221         case 24:
1222             {
1223                 if(($__uri.equals("") && $__local.equals("base"))) {
1224                     $_ngcc_current_state = 23;
1225                 }
1226                 else {
1227                     unexpectedEnterAttribute($__qname);
1228                 }
1229             }
1230             break;
1231         case 15:
1232             {
1233                 if(($__uri.equals("") && $__local.equals("base"))) {
1234                     $_ngcc_current_state = 14;
1235                 }
1236                 else {
1237                     unexpectedEnterAttribute($__qname);
1238                 }
1239             }
1240             break;
1241         default:
1242             {
1243                 unexpectedEnterAttribute($__qname);
1244             }
1245             break;
1246         }
1247     }
1248 
1249     public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
1250         int $ai;
1251         $uri = $__uri;
1252         $localName = $__local;
1253         $qname = $__qname;
1254         switch($_ngcc_current_state) {
1255         case 22:
1256             {
1257                 if(($__uri.equals("") && $__local.equals("base"))) {
1258                     $_ngcc_current_state = 21;
1259                 }
1260                 else {
1261                     unexpectedLeaveAttribute($__qname);
1262                 }
1263             }
1264             break;
1265         case 65:
1266             {
1267                 $_ngcc_current_state = 2;
1268                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1269             }
1270             break;
1271         case 29:
1272             {
1273                 $_ngcc_current_state = 28;
1274                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1275             }
1276             break;
1277         case 76:
1278             {
1279                 $_ngcc_current_state = 72;
1280                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1281             }
1282             break;
1283         case 38:
1284             {
1285                 action8();
1286                 $_ngcc_current_state = 37;
1287                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1288             }
1289             break;
1290         case 49:
1291             {
1292                 $_ngcc_current_state = 48;
1293                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1294             }
1295             break;
1296         case 85:
1297             {
1298                 if(($__uri.equals("") && $__local.equals("abstract"))) {
1299                     $_ngcc_current_state = 80;
1300                 }
1301                 else {
1302                     unexpectedLeaveAttribute($__qname);
1303                 }
1304             }
1305             break;
1306         case 13:
1307             {
1308                 if(($__uri.equals("") && $__local.equals("base"))) {
1309                     $_ngcc_current_state = 12;
1310                 }
1311                 else {
1312                     unexpectedLeaveAttribute($__qname);
1313                 }
1314             }
1315             break;
1316         case 51:
1317             {
1318                 action13();
1319                 $_ngcc_current_state = 49;
1320                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1321             }
1322             break;
1323         case 54:
1324             {
1325                 $_ngcc_current_state = 52;
1326                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1327             }
1328             break;
1329         case 68:
1330             {
1331                 $_ngcc_current_state = 67;
1332                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1333             }
1334             break;
1335         case 84:
1336             {
1337                 $_ngcc_current_state = 80;
1338                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1339             }
1340             break;
1341         case 30:
1342             {
1343                 if(($__uri.equals("") && $__local.equals("mixed"))) {
1344                     $_ngcc_current_state = 28;
1345                 }
1346                 else {
1347                     unexpectedLeaveAttribute($__qname);
1348                 }
1349             }
1350             break;
1351         case 52:
1352             {
1353                 $_ngcc_current_state = 51;
1354                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1355             }
1356             break;
1357         case 10:
1358             {
1359                 $_ngcc_current_state = 9;
1360                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1361             }
1362             break;
1363         case 0:
1364             {
1365                 revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
1366             }
1367             break;
1368         case 80:
1369             {
1370                 $_ngcc_current_state = 76;
1371                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1372             }
1373             break;
1374         case 57:
1375             {
1376                 if(($__uri.equals("") && $__local.equals("base"))) {
1377                     $_ngcc_current_state = 56;
1378                 }
1379                 else {
1380                     unexpectedLeaveAttribute($__qname);
1381                 }
1382             }
1383             break;
1384         case 81:
1385             {
1386                 if(($__uri.equals("") && $__local.equals("block"))) {
1387                     $_ngcc_current_state = 76;
1388                 }
1389                 else {
1390                     unexpectedLeaveAttribute($__qname);
1391                 }
1392             }
1393             break;
1394         case 72:
1395             {
1396                 $_ngcc_current_state = 68;
1397                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1398             }
1399             break;
1400         case 19:
1401             {
1402                 $_ngcc_current_state = 18;
1403                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1404             }
1405             break;
1406         case 39:
1407             {
1408                 $_ngcc_current_state = 38;
1409                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1410             }
1411             break;
1412         case 42:
1413             {
1414                 if(($__uri.equals("") && $__local.equals("base"))) {
1415                     $_ngcc_current_state = 41;
1416                 }
1417                 else {
1418                     unexpectedLeaveAttribute($__qname);
1419                 }
1420             }
1421             break;
1422         case 77:
1423             {
1424                 if(($__uri.equals("") && $__local.equals("final"))) {
1425                     $_ngcc_current_state = 72;
1426                 }
1427                 else {
1428                     unexpectedLeaveAttribute($__qname);
1429                 }
1430             }
1431             break;
1432         case 48:
1433             {
1434                 action11();
1435                 $_ngcc_current_state = 47;
1436                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1437             }
1438             break;
1439         case 61:
1440             {
1441                 $_ngcc_current_state = 35;
1442                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1443             }
1444             break;
1445         case 26:
1446             {
1447                 $_ngcc_current_state = 7;
1448                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1449             }
1450             break;
1451         case 69:
1452             {
1453                 if(($__uri.equals("") && $__local.equals("name"))) {
1454                     $_ngcc_current_state = 67;
1455                 }
1456                 else {
1457                     unexpectedLeaveAttribute($__qname);
1458                 }
1459             }
1460             break;
1461         case 73:
1462             {
1463                 if(($__uri.equals("") && $__local.equals("mixed"))) {
1464                     $_ngcc_current_state = 68;
1465                 }
1466                 else {
1467                     unexpectedLeaveAttribute($__qname);
1468                 }
1469             }
1470             break;
1471         default:
1472             {
1473                 unexpectedLeaveAttribute($__qname);
1474             }
1475             break;
1476         }
1477     }
1478 
1479     public void text(String $value) throws SAXException {
1480         int $ai;
1481         switch($_ngcc_current_state) {
1482         case 65:
1483             {
1484                 $_ngcc_current_state = 2;
1485                 $runtime.sendText(super._cookie, $value);
1486             }
1487             break;
1488         case 29:
1489             {
1490                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
1491                     $runtime.consumeAttribute($ai);
1492                     $runtime.sendText(super._cookie, $value);
1493                 }
1494                 else {
1495                     $_ngcc_current_state = 28;
1496                     $runtime.sendText(super._cookie, $value);
1497                 }
1498             }
1499             break;
1500         case 76:
1501             {
1502                 if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
1503                     $runtime.consumeAttribute($ai);
1504                     $runtime.sendText(super._cookie, $value);
1505                 }
1506                 else {
1507                     $_ngcc_current_state = 72;
1508                     $runtime.sendText(super._cookie, $value);
1509                 }
1510             }
1511             break;
1512         case 23:
1513             {
1514                 NGCCHandler h = new qname(this, super._source, $runtime, 24);
1515                 spawnChildFromText(h, $value);
1516             }
1517             break;
1518         case 38:
1519             {
1520                 action8();
1521                 $_ngcc_current_state = 37;
1522                 $runtime.sendText(super._cookie, $value);
1523             }
1524             break;
1525         case 49:
1526             {
1527                 $_ngcc_current_state = 48;
1528                 $runtime.sendText(super._cookie, $value);
1529             }
1530             break;
1531         case 43:
1532             {
1533                 NGCCHandler h = new qname(this, super._source, $runtime, 48);
1534                 spawnChildFromText(h, $value);
1535             }
1536             break;
1537         case 51:
1538             {
1539                 action13();
1540                 $_ngcc_current_state = 49;
1541                 $runtime.sendText(super._cookie, $value);
1542             }
1543             break;
1544         case 54:
1545             {
1546                 $_ngcc_current_state = 52;
1547                 $runtime.sendText(super._cookie, $value);
1548             }
1549             break;
1550         case 68:
1551             {
1552                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
1553                     $runtime.consumeAttribute($ai);
1554                     $runtime.sendText(super._cookie, $value);
1555                 }
1556                 else {
1557                     $_ngcc_current_state = 67;
1558                     $runtime.sendText(super._cookie, $value);
1559                 }
1560             }
1561             break;
1562         case 84:
1563             {
1564                 if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
1565                     $runtime.consumeAttribute($ai);
1566                     $runtime.sendText(super._cookie, $value);
1567                 }
1568                 else {
1569                     $_ngcc_current_state = 80;
1570                     $runtime.sendText(super._cookie, $value);
1571                 }
1572             }
1573             break;
1574         case 52:
1575             {
1576                 $_ngcc_current_state = 51;
1577                 $runtime.sendText(super._cookie, $value);
1578             }
1579             break;
1580         case 10:
1581             {
1582                 $_ngcc_current_state = 9;
1583                 $runtime.sendText(super._cookie, $value);
1584             }
1585             break;
1586         case 0:
1587             {
1588                 revertToParentFromText(result, super._cookie, $value);
1589             }
1590             break;
1591         case 80:
1592             {
1593                 if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
1594                     $runtime.consumeAttribute($ai);
1595                     $runtime.sendText(super._cookie, $value);
1596                 }
1597                 else {
1598                     $_ngcc_current_state = 76;
1599                     $runtime.sendText(super._cookie, $value);
1600                 }
1601             }
1602             break;
1603         case 58:
1604             {
1605                 NGCCHandler h = new qname(this, super._source, $runtime, 68);
1606                 spawnChildFromText(h, $value);
1607             }
1608             break;
1609         case 31:
1610             {
1611                 mixedValue = $value;
1612                 $_ngcc_current_state = 30;
1613             }
1614             break;
1615         case 72:
1616             {
1617                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
1618                     $runtime.consumeAttribute($ai);
1619                     $runtime.sendText(super._cookie, $value);
1620                 }
1621                 else {
1622                     $_ngcc_current_state = 68;
1623                     $runtime.sendText(super._cookie, $value);
1624                 }
1625             }
1626             break;
1627         case 70:
1628             {
1629                 name = $value;
1630                 $_ngcc_current_state = 69;
1631             }
1632             break;
1633         case 86:
1634             {
1635                 abstractValue = $value;
1636                 $_ngcc_current_state = 85;
1637             }
1638             break;
1639         case 59:
1640             {
1641                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
1642                     $runtime.consumeAttribute($ai);
1643                     $runtime.sendText(super._cookie, $value);
1644                 }
1645             }
1646             break;
1647         case 19:
1648             {
1649                 $_ngcc_current_state = 18;
1650                 $runtime.sendText(super._cookie, $value);
1651             }
1652             break;
1653         case 39:
1654             {
1655                 $_ngcc_current_state = 38;
1656                 $runtime.sendText(super._cookie, $value);
1657             }
1658             break;
1659         case 44:
1660             {
1661                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
1662                     $runtime.consumeAttribute($ai);
1663                     $runtime.sendText(super._cookie, $value);
1664                 }
1665             }
1666             break;
1667         case 14:
1668             {
1669                 NGCCHandler h = new qname(this, super._source, $runtime, 13);
1670                 spawnChildFromText(h, $value);
1671             }
1672             break;
1673         case 48:
1674             {
1675                 action11();
1676                 $_ngcc_current_state = 47;
1677                 $runtime.sendText(super._cookie, $value);
1678             }
1679             break;
1680         case 61:
1681             {
1682                 $_ngcc_current_state = 35;
1683                 $runtime.sendText(super._cookie, $value);
1684             }
1685             break;
1686         case 26:
1687             {
1688                 $_ngcc_current_state = 7;
1689                 $runtime.sendText(super._cookie, $value);
1690             }
1691             break;
1692         case 82:
1693             {
1694                 NGCCHandler h = new erSet(this, super._source, $runtime, 100);
1695                 spawnChildFromText(h, $value);
1696             }
1697             break;
1698         case 78:
1699             {
1700                 NGCCHandler h = new erSet(this, super._source, $runtime, 95);
1701                 spawnChildFromText(h, $value);
1702             }
1703             break;
1704         case 24:
1705             {
1706                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
1707                     $runtime.consumeAttribute($ai);
1708                     $runtime.sendText(super._cookie, $value);
1709                 }
1710             }
1711             break;
1712         case 74:
1713             {
1714                 mixedValue = $value;
1715                 $_ngcc_current_state = 73;
1716             }
1717             break;
1718         case 15:
1719             {
1720                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
1721                     $runtime.consumeAttribute($ai);
1722                     $runtime.sendText(super._cookie, $value);
1723                 }
1724             }
1725             break;
1726         }
1727     }
1728 
1729     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
1730         switch($__cookie__) {
1731         case 53:
1732             {
1733                 $_ngcc_current_state = 46;
1734             }
1735             break;
1736         case 18:
1737             {
1738                 explicitContent = ((ContentTypeImpl)$__result__);
1739                 action5();
1740                 $_ngcc_current_state = 17;
1741             }
1742             break;
1743         case 61:
1744             {
1745                 baseContentType = ((SimpleTypeImpl)$__result__);
1746                 $_ngcc_current_state = 51;
1747             }
1748             break;
1749         case 11:
1750             {
1751                 fa = ((ForeignAttributesImpl)$__result__);
1752                 $_ngcc_current_state = 10;
1753             }
1754             break;
1755         case 9:
1756             {
1757                 annotation = ((AnnotationImpl)$__result__);
1758                 $_ngcc_current_state = 9;
1759             }
1760             break;
1761         case 44:
1762             {
1763                 annotation = ((AnnotationImpl)$__result__);
1764                 $_ngcc_current_state = 38;
1765             }
1766             break;
1767         case 13:
1768             {
1769                 baseTypeName = ((UName)$__result__);
1770                 action3();
1771                 $_ngcc_current_state = 13;
1772             }
1773             break;
1774         case 56:
1775             {
1776                 facet = ((XSFacet)$__result__);
1777                 action12();
1778                 $_ngcc_current_state = 48;
1779             }
1780             break;
1781         case 29:
1782             {
1783                 annotation = ((AnnotationImpl)$__result__);
1784                 $_ngcc_current_state = 7;
1785             }
1786             break;
1787         case 95:
1788             {
1789                 finalValue = ((Integer)$__result__);
1790                 $_ngcc_current_state = 77;
1791             }
1792             break;
1793         case 83:
1794             {
1795                 fa = ((ForeignAttributesImpl)$__result__);
1796                 $_ngcc_current_state = 65;
1797             }
1798             break;
1799         case 7:
1800             {
1801                 explicitContent = ((ContentTypeImpl)$__result__);
1802                 action2();
1803                 $_ngcc_current_state = 8;
1804             }
1805             break;
1806         case 81:
1807             {
1808                 annotation = ((AnnotationImpl)$__result__);
1809                 $_ngcc_current_state = 2;
1810             }
1811             break;
1812         case 24:
1813             {
1814                 baseTypeName = ((UName)$__result__);
1815                 action6();
1816                 $_ngcc_current_state = 22;
1817             }
1818             break;
1819         case 4:
1820             {
1821                 explicitContent = ((ContentTypeImpl)$__result__);
1822                 action0();
1823                 $_ngcc_current_state = 1;
1824             }
1825             break;
1826         case 57:
1827             {
1828                 facet = ((XSFacet)$__result__);
1829                 action12();
1830                 $_ngcc_current_state = 48;
1831             }
1832             break;
1833         case 48:
1834             {
1835                 baseTypeName = ((UName)$__result__);
1836                 action9();
1837                 $_ngcc_current_state = 42;
1838             }
1839             break;
1840         case 64:
1841             {
1842                 annotation = ((AnnotationImpl)$__result__);
1843                 $_ngcc_current_state = 52;
1844             }
1845             break;
1846         case 66:
1847             {
1848                 fa = ((ForeignAttributesImpl)$__result__);
1849                 $_ngcc_current_state = 54;
1850             }
1851             break;
1852         case 46:
1853             {
1854                 fa = ((ForeignAttributesImpl)$__result__);
1855                 $_ngcc_current_state = 39;
1856             }
1857             break;
1858         case 68:
1859             {
1860                 baseTypeName = ((UName)$__result__);
1861                 action14();
1862                 $_ngcc_current_state = 57;
1863             }
1864             break;
1865         case 31:
1866             {
1867                 fa = ((ForeignAttributesImpl)$__result__);
1868                 $_ngcc_current_state = 26;
1869             }
1870             break;
1871         case 75:
1872             {
1873                 fa = ((ForeignAttributesImpl)$__result__);
1874                 $_ngcc_current_state = 61;
1875             }
1876             break;
1877         case 20:
1878             {
1879                 annotation = ((AnnotationImpl)$__result__);
1880                 $_ngcc_current_state = 18;
1881             }
1882             break;
1883         case 22:
1884             {
1885                 fa = ((ForeignAttributesImpl)$__result__);
1886                 $_ngcc_current_state = 19;
1887             }
1888             break;
1889         case 73:
1890             {
1891                 annotation = ((AnnotationImpl)$__result__);
1892                 $_ngcc_current_state = 35;
1893             }
1894             break;
1895         case 100:
1896             {
1897                 blockValue = ((Integer)$__result__);
1898                 $_ngcc_current_state = 81;
1899             }
1900             break;
1901         case 41:
1902             {
1903                 $_ngcc_current_state = 36;
1904             }
1905             break;
1906         }
1907     }
1908 
1909     public boolean accepted() {
1910         return(($_ngcc_current_state == 0));
1911     }
1912 
1913 
1914       private ComplexTypeImpl result;
1915       private Ref.Type baseType;
1916       private Ref.ContentType contentType;
1917 
1918       // local variables for simpleContent/restriction
1919       private Ref.SimpleType baseContentType;
1920       private RestrictionSimpleTypeImpl contentSimpleType;
1921 
1922       private Locator locator,locator2;
1923 
1924       private static class BaseContentSimpleTypeRef implements Ref.SimpleType {
1925         private final Ref.Type baseType;
1926         private BaseContentSimpleTypeRef(Ref.Type _baseType ) { this.baseType = _baseType; }
1927         public XSSimpleType getType() {
1928           return (XSSimpleType)((XSComplexType)baseType.getType()).getContentType();
1929         }
1930       }
1931 
1932 
1933       // baseType and contentType must be computed before calling this method.
1934       private void makeResult( int derivationMethod ) {
1935 
1936         if(finalValue==null)
1937           finalValue = $runtime.finalDefault;
1938         if(blockValue==null)
1939           blockValue = $runtime.blockDefault;
1940 
1941         result = new ComplexTypeImpl(
1942             $runtime.document,
1943             annotation,
1944             locator,
1945             fa,
1946             name,
1947             name==null,
1948             $runtime.parseBoolean(abstractValue),
1949             derivationMethod,
1950             baseType,
1951             finalValue,
1952             blockValue,
1953             $runtime.parseBoolean(mixedValue)
1954         );
1955       }
1956 
1957       // I had to make them static inner classes (as opposed to anonymous ones),
1958       // so that they will not keep references to parser.
1959 
1960       private static class BaseComplexTypeContentRef implements Ref.ContentType {
1961         private final Ref.Type baseType;
1962         private BaseComplexTypeContentRef(Ref.Type _baseType) { this.baseType = _baseType; }
1963         public XSContentType getContentType() {
1964             return ((XSComplexType)baseType.getType()).getContentType();
1965         }
1966       }
1967       private static class InheritBaseContentTypeRef implements Ref.ContentType {
1968         private final Ref.Type baseType;
1969         private final XSContentType empty;
1970         private final XSContentType expContent;
1971         private final SchemaDocumentImpl currentDocument;
1972         private InheritBaseContentTypeRef(
1973           Ref.Type _baseType,XSContentType _explicitContent,NGCCRuntimeEx $runtime) {
1974 
1975           this.baseType = _baseType;
1976           this.currentDocument = $runtime.document;
1977           expContent = _explicitContent;
1978           this.empty = $runtime.parser.schemaSet.empty;
1979         }
1980           public XSContentType getContentType() {
1981               XSContentType baseContentType =
1982                   ((XSComplexType)baseType.getType()).getContentType();
1983               if(baseContentType==empty)
1984                   return expContent;
1985               else
1986                   return new ParticleImpl( currentDocument, null, new ModelGroupImpl(
1987                     currentDocument,
1988                       null, null, null, XSModelGroup.SEQUENCE,
1989                       new ParticleImpl[]{
1990                           (ParticleImpl)baseContentType,
1991                           (ParticleImpl)expContent}), null );
1992           }
1993       };
1994 
1995       private Ref.ContentType buildComplexExtensionContentModel( XSContentType explicitContent ) {
1996 
1997         if(explicitContent==$runtime.parser.schemaSet.empty)
1998           return new BaseComplexTypeContentRef(baseType);
1999         else
2000           return new InheritBaseContentTypeRef(baseType,explicitContent,$runtime);
2001       }
2002 
2003 }