1 /*
   2  * Copyright (c) 1997, 2016, 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 
  29 import com.sun.xml.internal.xsom.*;
  30 import com.sun.xml.internal.xsom.impl.*;
  31 import com.sun.xml.internal.xsom.impl.parser.*;
  32 import com.sun.xml.internal.xsom.parser.*;
  33 import java.util.*;
  34 
  35 import org.xml.sax.Attributes;
  36 import org.xml.sax.Locator;
  37 import org.xml.sax.SAXException;
  38 
  39 
  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;
  56 
  57     public final NGCCRuntime getRuntime() {
  58         return($runtime);
  59     }
  60 
  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     }
  66 
  67     public complexType(NGCCRuntimeEx runtime) {
  68         this(null, runtime, runtime, -1);
  69     }
  70 
  71     private void action0()throws SAXException {
  72 
  73             result.setContentType(explicitContent);
  74 
  75 }
  76 
  77     private void action1()throws SAXException {
  78 
  79             baseType = $runtime.parser.schemaSet.anyType;
  80             makeResult(XSType.RESTRICTION);
  81 
  82 }
  83 
  84     private void action2()throws SAXException {
  85 
  86                 result.setExplicitContent(explicitContent);
  87                 result.setContentType(
  88                   buildComplexExtensionContentModel(explicitContent));
  89 
  90 }
  91 
  92     private void action3()throws SAXException {
  93 
  94                   baseType = new DelayedRef.Type(
  95                     $runtime, locator2, $runtime.currentSchema, baseTypeName );
  96                   makeResult(XSType.EXTENSION);
  97 
  98 }
  99 
 100     private void action4()throws SAXException {
 101         locator2 = $runtime.copyLocator();
 102 }
 103 
 104     private void action5()throws SAXException {
 105 
 106                 result.setContentType(explicitContent);
 107 
 108 }
 109 
 110     private void action6()throws SAXException {
 111 
 112                   baseType = new DelayedRef.Type(
 113                     $runtime, locator2, $runtime.currentSchema, baseTypeName );
 114                   makeResult(XSType.RESTRICTION);
 115 
 116 }
 117 
 118     private void action7()throws SAXException {
 119         locator2 = $runtime.copyLocator();
 120 }
 121 
 122     private void action8()throws SAXException {
 123 
 124                 contentType = new BaseContentRef($runtime,baseType);
 125                 makeResult(XSType.EXTENSION);
 126                 result.setContentType(contentType);
 127 
 128 }
 129 
 130     private void action9()throws SAXException {
 131 
 132                   baseType = new DelayedRef.Type(
 133                     $runtime, locator2, $runtime.currentSchema, baseTypeName );
 134 
 135 }
 136 
 137     private void action10()throws SAXException {
 138         locator2 = $runtime.copyLocator();
 139 }
 140 
 141     private void action11()throws SAXException {
 142 
 143                 makeResult(XSType.RESTRICTION);
 144                 result.setContentType(contentType);
 145 
 146 }
 147 
 148     private void action12()throws SAXException {
 149         contentSimpleType.addFacet(facet);
 150 }
 151 
 152     private void action13()throws SAXException {
 153 
 154                 if(baseContentType==null) {
 155                   // contentType of the base type, which must be a complex type
 156                   baseContentType = new BaseContentSimpleTypeRef(baseType);
 157                 }
 158 
 159                 contentSimpleType = new RestrictionSimpleTypeImpl(
 160                   $runtime.document, null/*?*/, locator2, null,
 161                   null, true, Collections.EMPTY_SET, baseContentType );
 162                 contentType = contentSimpleType;
 163 
 164 }
 165 
 166     private void action14()throws SAXException {
 167 
 168                   baseType = new DelayedRef.Type(
 169                     $runtime, locator2, $runtime.currentSchema, baseTypeName );
 170 
 171 }
 172 
 173     private void action15()throws SAXException {
 174         locator2 = $runtime.copyLocator();
 175 }
 176 
 177     private void action16()throws SAXException {
 178         locator = $runtime.copyLocator();
 179 }
 180 
 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     }
 645 
 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:
1002             {
1003                 $_ngcc_current_state = 51;
1004                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
1005             }
1006             break;
1007         case 17:
1008             {
1009                 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("restriction"))) {
1010                     $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
1011                     $_ngcc_current_state = 6;
1012                 }
1013                 else {
1014                     unexpectedLeaveElement($__qname);
1015                 }
1016             }
1017             break;
1018         case 0:
1019             {
1020                 revertToParentFromLeaveElement(result, super._cookie, $__uri, $__local, $__qname);
1021             }
1022             break;
1023         case 51:
1024             {
1025                 action13();
1026                 $_ngcc_current_state = 49;
1027                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
1028             }
1029             break;
1030         case 65:
1031             {
1032                 $_ngcc_current_state = 2;
1033                 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
1034             }
1035             break;
1036         default:
1037             {
1038                 unexpectedLeaveElement($__qname);
1039             }
1040             break;
1041         }
1042     }
1043 
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:
1051             {
1052                 if(($__uri.equals("") && $__local.equals("mixed"))) {
1053                     $_ngcc_current_state = 31;
1054                 }
1055                 else {
1056                     $_ngcc_current_state = 28;
1057                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1058                 }
1059             }
1060             break;
1061         case 54:
1062             {
1063                 $_ngcc_current_state = 52;
1064                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1065             }
1066             break;
1067         case 10:
1068             {
1069                 $_ngcc_current_state = 9;
1070                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1071             }
1072             break;
1073         case 76:
1074             {
1075                 if(($__uri.equals("") && $__local.equals("final"))) {
1076                     $_ngcc_current_state = 78;
1077                 }
1078                 else {
1079                     $_ngcc_current_state = 72;
1080                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1081                 }
1082             }
1083             break;
1084         case 49:
1085             {
1086                 $_ngcc_current_state = 48;
1087                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1088             }
1089             break;
1090         case 61:
1091             {
1092                 $_ngcc_current_state = 35;
1093                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1094             }
1095             break;
1096         case 72:
1097             {
1098                 if(($__uri.equals("") && $__local.equals("mixed"))) {
1099                     $_ngcc_current_state = 74;
1100                 }
1101                 else {
1102                     $_ngcc_current_state = 68;
1103                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1104                 }
1105             }
1106             break;
1107         case 39:
1108             {
1109                 $_ngcc_current_state = 38;
1110                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1111             }
1112             break;
1113         case 59:
1114             {
1115                 if(($__uri.equals("") && $__local.equals("base"))) {
1116                     $_ngcc_current_state = 58;
1117                 }
1118                 else {
1119                     unexpectedEnterAttribute($__qname);
1120                 }
1121             }
1122             break;
1123         case 26:
1124             {
1125                 $_ngcc_current_state = 7;
1126                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1127             }
1128             break;
1129         case 38:
1130             {
1131                 action8();
1132                 $_ngcc_current_state = 37;
1133                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1134             }
1135             break;
1136         case 44:
1137             {
1138                 if(($__uri.equals("") && $__local.equals("base"))) {
1139                     $_ngcc_current_state = 43;
1140                 }
1141                 else {
1142                     unexpectedEnterAttribute($__qname);
1143                 }
1144             }
1145             break;
1146         case 68:
1147             {
1148                 if(($__uri.equals("") && $__local.equals("name"))) {
1149                     $_ngcc_current_state = 70;
1150                 }
1151                 else {
1152                     $_ngcc_current_state = 67;
1153                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1154                 }
1155             }
1156             break;
1157         case 52:
1158             {
1159                 $_ngcc_current_state = 51;
1160                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1161             }
1162             break;
1163         case 0:
1164             {
1165                 revertToParentFromEnterAttribute(result, super._cookie, $__uri, $__local, $__qname);
1166             }
1167             break;
1168         case 51:
1169             {
1170                 action13();
1171                 $_ngcc_current_state = 49;
1172                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1173             }
1174             break;
1175         case 80:
1176             {
1177                 if(($__uri.equals("") && $__local.equals("block"))) {
1178                     $_ngcc_current_state = 82;
1179                 }
1180                 else {
1181                     $_ngcc_current_state = 76;
1182                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1183                 }
1184             }
1185             break;
1186         case 84:
1187             {
1188                 if(($__uri.equals("") && $__local.equals("abstract"))) {
1189                     $_ngcc_current_state = 86;
1190                 }
1191                 else {
1192                     $_ngcc_current_state = 80;
1193                     $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1194                 }
1195             }
1196             break;
1197         case 19:
1198             {
1199                 $_ngcc_current_state = 18;
1200                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1201             }
1202             break;
1203         case 15:
1204             {
1205                 if(($__uri.equals("") && $__local.equals("base"))) {
1206                     $_ngcc_current_state = 14;
1207                 }
1208                 else {
1209                     unexpectedEnterAttribute($__qname);
1210                 }
1211             }
1212             break;
1213         case 65:
1214             {
1215                 $_ngcc_current_state = 2;
1216                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1217             }
1218             break;
1219         case 48:
1220             {
1221                 action11();
1222                 $_ngcc_current_state = 47;
1223                 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
1224             }
1225             break;
1226         case 24:
1227             {
1228                 if(($__uri.equals("") && $__local.equals("base"))) {
1229                     $_ngcc_current_state = 23;
1230                 }
1231                 else {
1232                     unexpectedEnterAttribute($__qname);
1233                 }
1234             }
1235             break;
1236         default:
1237             {
1238                 unexpectedEnterAttribute($__qname);
1239             }
1240             break;
1241         }
1242     }
1243 
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:
1251             {
1252                 $_ngcc_current_state = 52;
1253                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1254             }
1255             break;
1256         case 76:
1257             {
1258                 $_ngcc_current_state = 72;
1259                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1260             }
1261             break;
1262         case 49:
1263             {
1264                 $_ngcc_current_state = 48;
1265                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1266             }
1267             break;
1268         case 30:
1269             {
1270                 if(($__uri.equals("") && $__local.equals("mixed"))) {
1271                     $_ngcc_current_state = 28;
1272                 }
1273                 else {
1274                     unexpectedLeaveAttribute($__qname);
1275                 }
1276             }
1277             break;
1278         case 73:
1279             {
1280                 if(($__uri.equals("") && $__local.equals("mixed"))) {
1281                     $_ngcc_current_state = 68;
1282                 }
1283                 else {
1284                     unexpectedLeaveAttribute($__qname);
1285                 }
1286             }
1287             break;
1288         case 61:
1289             {
1290                 $_ngcc_current_state = 35;
1291                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1292             }
1293             break;
1294         case 26:
1295             {
1296                 $_ngcc_current_state = 7;
1297                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1298             }
1299             break;
1300         case 38:
1301             {
1302                 action8();
1303                 $_ngcc_current_state = 37;
1304                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1305             }
1306             break;
1307         case 68:
1308             {
1309                 $_ngcc_current_state = 67;
1310                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1311             }
1312             break;
1313         case 13:
1314             {
1315                 if(($__uri.equals("") && $__local.equals("base"))) {
1316                     $_ngcc_current_state = 12;
1317                 }
1318                 else {
1319                     unexpectedLeaveAttribute($__qname);
1320                 }
1321             }
1322             break;
1323         case 85:
1324             {
1325                 if(($__uri.equals("") && $__local.equals("abstract"))) {
1326                     $_ngcc_current_state = 80;
1327                 }
1328                 else {
1329                     unexpectedLeaveAttribute($__qname);
1330                 }
1331             }
1332             break;
1333         case 80:
1334             {
1335                 $_ngcc_current_state = 76;
1336                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1337             }
1338             break;
1339         case 84:
1340             {
1341                 $_ngcc_current_state = 80;
1342                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1343             }
1344             break;
1345         case 19:
1346             {
1347                 $_ngcc_current_state = 18;
1348                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1349             }
1350             break;
1351         case 48:
1352             {
1353                 action11();
1354                 $_ngcc_current_state = 47;
1355                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1356             }
1357             break;
1358         case 29:
1359             {
1360                 $_ngcc_current_state = 28;
1361                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1362             }
1363             break;
1364         case 10:
1365             {
1366                 $_ngcc_current_state = 9;
1367                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1368             }
1369             break;
1370         case 77:
1371             {
1372                 if(($__uri.equals("") && $__local.equals("final"))) {
1373                     $_ngcc_current_state = 72;
1374                 }
1375                 else {
1376                     unexpectedLeaveAttribute($__qname);
1377                 }
1378             }
1379             break;
1380         case 72:
1381             {
1382                 $_ngcc_current_state = 68;
1383                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1384             }
1385             break;
1386         case 69:
1387             {
1388                 if(($__uri.equals("") && $__local.equals("name"))) {
1389                     $_ngcc_current_state = 67;
1390                 }
1391                 else {
1392                     unexpectedLeaveAttribute($__qname);
1393                 }
1394             }
1395             break;
1396         case 39:
1397             {
1398                 $_ngcc_current_state = 38;
1399                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1400             }
1401             break;
1402         case 22:
1403             {
1404                 if(($__uri.equals("") && $__local.equals("base"))) {
1405                     $_ngcc_current_state = 21;
1406                 }
1407                 else {
1408                     unexpectedLeaveAttribute($__qname);
1409                 }
1410             }
1411             break;
1412         case 81:
1413             {
1414                 if(($__uri.equals("") && $__local.equals("block"))) {
1415                     $_ngcc_current_state = 76;
1416                 }
1417                 else {
1418                     unexpectedLeaveAttribute($__qname);
1419                 }
1420             }
1421             break;
1422         case 42:
1423             {
1424                 if(($__uri.equals("") && $__local.equals("base"))) {
1425                     $_ngcc_current_state = 41;
1426                 }
1427                 else {
1428                     unexpectedLeaveAttribute($__qname);
1429                 }
1430             }
1431             break;
1432         case 52:
1433             {
1434                 $_ngcc_current_state = 51;
1435                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1436             }
1437             break;
1438         case 0:
1439             {
1440                 revertToParentFromLeaveAttribute(result, super._cookie, $__uri, $__local, $__qname);
1441             }
1442             break;
1443         case 51:
1444             {
1445                 action13();
1446                 $_ngcc_current_state = 49;
1447                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1448             }
1449             break;
1450         case 57:
1451             {
1452                 if(($__uri.equals("") && $__local.equals("base"))) {
1453                     $_ngcc_current_state = 56;
1454                 }
1455                 else {
1456                     unexpectedLeaveAttribute($__qname);
1457                 }
1458             }
1459             break;
1460         case 65:
1461             {
1462                 $_ngcc_current_state = 2;
1463                 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
1464             }
1465             break;
1466         default:
1467             {
1468                 unexpectedLeaveAttribute($__qname);
1469             }
1470             break;
1471         }
1472     }
1473 
1474     public void text(String $value) throws SAXException {
1475         int $ai;
1476         switch($_ngcc_current_state) {
1477         case 58:
1478             {
1479                 NGCCHandler h = new qname(this, super._source, $runtime, 621);
1480                 spawnChildFromText(h, $value);
1481             }
1482             break;
1483         case 54:
1484             {
1485                 $_ngcc_current_state = 52;
1486                 $runtime.sendText(super._cookie, $value);
1487             }
1488             break;
1489         case 31:
1490             {
1491                 mixedValue = $value;
1492                 $_ngcc_current_state = 30;
1493             }
1494             break;
1495         case 76:
1496             {
1497                 if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
1498                     $runtime.consumeAttribute($ai);
1499                     $runtime.sendText(super._cookie, $value);
1500                 }
1501                 else {
1502                     $_ngcc_current_state = 72;
1503                     $runtime.sendText(super._cookie, $value);
1504                 }
1505             }
1506             break;
1507         case 49:
1508             {
1509                 $_ngcc_current_state = 48;
1510                 $runtime.sendText(super._cookie, $value);
1511             }
1512             break;
1513         case 61:
1514             {
1515                 $_ngcc_current_state = 35;
1516                 $runtime.sendText(super._cookie, $value);
1517             }
1518             break;
1519         case 26:
1520             {
1521                 $_ngcc_current_state = 7;
1522                 $runtime.sendText(super._cookie, $value);
1523             }
1524             break;
1525         case 38:
1526             {
1527                 action8();
1528                 $_ngcc_current_state = 37;
1529                 $runtime.sendText(super._cookie, $value);
1530             }
1531             break;
1532         case 44:
1533             {
1534                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
1535                     $runtime.consumeAttribute($ai);
1536                     $runtime.sendText(super._cookie, $value);
1537                 }
1538             }
1539             break;
1540         case 68:
1541             {
1542                 if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
1543                     $runtime.consumeAttribute($ai);
1544                     $runtime.sendText(super._cookie, $value);
1545                 }
1546                 else {
1547                     $_ngcc_current_state = 67;
1548                     $runtime.sendText(super._cookie, $value);
1549                 }
1550             }
1551             break;
1552         case 80:
1553             {
1554                 if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
1555                     $runtime.consumeAttribute($ai);
1556                     $runtime.sendText(super._cookie, $value);
1557                 }
1558                 else {
1559                     $_ngcc_current_state = 76;
1560                     $runtime.sendText(super._cookie, $value);
1561                 }
1562             }
1563             break;
1564         case 84:
1565             {
1566                 if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
1567                     $runtime.consumeAttribute($ai);
1568                     $runtime.sendText(super._cookie, $value);
1569                 }
1570                 else {
1571                     $_ngcc_current_state = 80;
1572                     $runtime.sendText(super._cookie, $value);
1573                 }
1574             }
1575             break;
1576         case 19:
1577             {
1578                 $_ngcc_current_state = 18;
1579                 $runtime.sendText(super._cookie, $value);
1580             }
1581             break;
1582         case 15:
1583             {
1584                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
1585                     $runtime.consumeAttribute($ai);
1586                     $runtime.sendText(super._cookie, $value);
1587                 }
1588             }
1589             break;
1590         case 86:
1591             {
1592                 abstractValue = $value;
1593                 $_ngcc_current_state = 85;
1594             }
1595             break;
1596         case 48:
1597             {
1598                 action11();
1599                 $_ngcc_current_state = 47;
1600                 $runtime.sendText(super._cookie, $value);
1601             }
1602             break;
1603         case 24:
1604             {
1605                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
1606                     $runtime.consumeAttribute($ai);
1607                     $runtime.sendText(super._cookie, $value);
1608                 }
1609             }
1610             break;
1611         case 29:
1612             {
1613                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
1614                     $runtime.consumeAttribute($ai);
1615                     $runtime.sendText(super._cookie, $value);
1616                 }
1617                 else {
1618                     $_ngcc_current_state = 28;
1619                     $runtime.sendText(super._cookie, $value);
1620                 }
1621             }
1622             break;
1623         case 10:
1624             {
1625                 $_ngcc_current_state = 9;
1626                 $runtime.sendText(super._cookie, $value);
1627             }
1628             break;
1629         case 72:
1630             {
1631                 if(($ai = $runtime.getAttributeIndex("","mixed"))>=0) {
1632                     $runtime.consumeAttribute($ai);
1633                     $runtime.sendText(super._cookie, $value);
1634                 }
1635                 else {
1636                     $_ngcc_current_state = 68;
1637                     $runtime.sendText(super._cookie, $value);
1638                 }
1639             }
1640             break;
1641         case 43:
1642             {
1643                 NGCCHandler h = new qname(this, super._source, $runtime, 601);
1644                 spawnChildFromText(h, $value);
1645             }
1646             break;
1647         case 39:
1648             {
1649                 $_ngcc_current_state = 38;
1650                 $runtime.sendText(super._cookie, $value);
1651             }
1652             break;
1653         case 59:
1654             {
1655                 if(($ai = $runtime.getAttributeIndex("","base"))>=0) {
1656                     $runtime.consumeAttribute($ai);
1657                     $runtime.sendText(super._cookie, $value);
1658                 }
1659             }
1660             break;
1661         case 23:
1662             {
1663                 NGCCHandler h = new qname(this, super._source, $runtime, 577);
1664                 spawnChildFromText(h, $value);
1665             }
1666             break;
1667         case 52:
1668             {
1669                 $_ngcc_current_state = 51;
1670                 $runtime.sendText(super._cookie, $value);
1671             }
1672             break;
1673         case 78:
1674             {
1675                 NGCCHandler h = new erSet(this, super._source, $runtime, 648);
1676                 spawnChildFromText(h, $value);
1677             }
1678             break;
1679         case 70:
1680             {
1681                 name = $runtime.collapse($value);
1682                 $_ngcc_current_state = 69;
1683             }
1684             break;
1685         case 82:
1686             {
1687                 NGCCHandler h = new erSet(this, super._source, $runtime, 653);
1688                 spawnChildFromText(h, $value);
1689             }
1690             break;
1691         case 0:
1692             {
1693                 revertToParentFromText(result, super._cookie, $value);
1694             }
1695             break;
1696         case 51:
1697             {
1698                 action13();
1699                 $_ngcc_current_state = 49;
1700                 $runtime.sendText(super._cookie, $value);
1701             }
1702             break;
1703         case 65:
1704             {
1705                 $_ngcc_current_state = 2;
1706                 $runtime.sendText(super._cookie, $value);
1707             }
1708             break;
1709         case 74:
1710             {
1711                 mixedValue = $value;
1712                 $_ngcc_current_state = 73;
1713             }
1714             break;
1715         case 14:
1716             {
1717                 NGCCHandler h = new qname(this, super._source, $runtime, 566);
1718                 spawnChildFromText(h, $value);
1719             }
1720             break;
1721         }
1722     }
1723 
1724     public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
1725         switch($__cookie__) {
1726         case 573:
1727             {
1728                 annotation = ((AnnotationImpl)$__result__);
1729                 $_ngcc_current_state = 18;
1730             }
1731             break;
1732         case 636:
1733             {
1734                 fa = ((ForeignAttributesImpl)$__result__);
1735                 $_ngcc_current_state = 65;
1736             }
1737             break;
1738         case 562:
1739             {
1740                 annotation = ((AnnotationImpl)$__result__);
1741                 $_ngcc_current_state = 9;
1742             }
1743             break;
1744         case 577:
1745             {
1746                 baseTypeName = ((UName)$__result__);
1747                 action6();
1748                 $_ngcc_current_state = 22;
1749             }
1750             break;
1751         case 648:
1752             {
1753                 finalValue = ((Integer)$__result__);
1754                 $_ngcc_current_state = 77;
1755             }
1756             break;
1757         case 614:
1758             {
1759                 baseContentType = ((SimpleTypeImpl)$__result__);
1760                 $_ngcc_current_state = 51;
1761             }
1762             break;
1763         case 653:
1764             {
1765                 blockValue = ((Integer)$__result__);
1766                 $_ngcc_current_state = 81;
1767             }
1768             break;
1769         case 566:
1770             {
1771                 baseTypeName = ((UName)$__result__);
1772                 action3();
1773                 $_ngcc_current_state = 13;
1774             }
1775             break;
1776         case 621:
1777             {
1778                 baseTypeName = ((UName)$__result__);
1779                 action14();
1780                 $_ngcc_current_state = 57;
1781             }
1782             break;
1783         case 617:
1784             {
1785                 annotation = ((AnnotationImpl)$__result__);
1786                 $_ngcc_current_state = 52;
1787             }
1788             break;
1789         case 610:
1790             {
1791                 facet = ((XSFacet)$__result__);
1792                 action12();
1793                 $_ngcc_current_state = 48;
1794             }
1795             break;
1796         case 626:
1797             {
1798                 annotation = ((AnnotationImpl)$__result__);
1799                 $_ngcc_current_state = 35;
1800             }
1801             break;
1802         case 571:
1803             {
1804                 explicitContent = ((ContentTypeImpl)$__result__);
1805                 action5();
1806                 $_ngcc_current_state = 17;
1807             }
1808             break;
1809         case 564:
1810             {
1811                 fa = ((ForeignAttributesImpl)$__result__);
1812                 $_ngcc_current_state = 10;
1813             }
1814             break;
1815         case 582:
1816             {
1817                 annotation = ((AnnotationImpl)$__result__);
1818                 $_ngcc_current_state = 7;
1819             }
1820             break;
1821         case 628:
1822             {
1823                 fa = ((ForeignAttributesImpl)$__result__);
1824                 $_ngcc_current_state = 61;
1825             }
1826             break;
1827         case 594:
1828             {
1829                 $_ngcc_current_state = 36;
1830             }
1831             break;
1832         case 560:
1833             {
1834                 explicitContent = ((ContentTypeImpl)$__result__);
1835                 action2();
1836                 $_ngcc_current_state = 8;
1837             }
1838             break;
1839         case 606:
1840             {
1841                 $_ngcc_current_state = 46;
1842             }
1843             break;
1844         case 609:
1845             {
1846                 facet = ((XSFacet)$__result__);
1847                 action12();
1848                 $_ngcc_current_state = 48;
1849             }
1850             break;
1851         case 584:
1852             {
1853                 fa = ((ForeignAttributesImpl)$__result__);
1854                 $_ngcc_current_state = 26;
1855             }
1856             break;
1857         case 599:
1858             {
1859                 fa = ((ForeignAttributesImpl)$__result__);
1860                 $_ngcc_current_state = 39;
1861             }
1862             break;
1863         case 557:
1864             {
1865                 explicitContent = ((ContentTypeImpl)$__result__);
1866                 action0();
1867                 $_ngcc_current_state = 1;
1868             }
1869             break;
1870         case 575:
1871             {
1872                 fa = ((ForeignAttributesImpl)$__result__);
1873                 $_ngcc_current_state = 19;
1874             }
1875             break;
1876         case 601:
1877             {
1878                 baseTypeName = ((UName)$__result__);
1879                 action9();
1880                 $_ngcc_current_state = 42;
1881             }
1882             break;
1883         case 619:
1884             {
1885                 fa = ((ForeignAttributesImpl)$__result__);
1886                 $_ngcc_current_state = 54;
1887             }
1888             break;
1889         case 597:
1890             {
1891                 annotation = ((AnnotationImpl)$__result__);
1892                 $_ngcc_current_state = 38;
1893             }
1894             break;
1895         case 634:
1896             {
1897                 annotation = ((AnnotationImpl)$__result__);
1898                 $_ngcc_current_state = 2;
1899             }
1900             break;
1901         }
1902     }
1903 
1904     public boolean accepted() {
1905         return(($_ngcc_current_state == 0));
1906     }
1907 
1908 
1909       private ComplexTypeImpl result;
1910       private Ref.Type baseType;
1911       private Ref.ContentType contentType;
1912 
1913       // local variables for simpleContent/restriction
1914       private Ref.SimpleType baseContentType;
1915       private RestrictionSimpleTypeImpl contentSimpleType;
1916 
1917       private Locator locator,locator2;
1918 
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();
1924         }
1925       }
1926 
1927 
1928       // baseType and contentType must be computed before calling this method.
1929       private void makeResult( int derivationMethod ) {
1930 
1931         if(finalValue==null)
1932           finalValue = $runtime.finalDefault;
1933         if(blockValue==null)
1934           blockValue = $runtime.blockDefault;
1935 
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         );
1950       }
1951 
1952       // I had to make them static inner classes (as opposed to anonymous ones),
1953       // so that they will not keep references to parser.
1954 
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();
1960         }
1961       }
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) {
1969 
1970           this.baseType = _baseType;
1971           this.currentDocument = $runtime.document;
1972           expContent = _explicitContent;
1973           this.empty = $runtime.parser.schemaSet.empty;
1974         }
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 );
1987           }
1988       };
1989 
1990       private Ref.ContentType buildComplexExtensionContentModel( XSContentType explicitContent ) {
1991 
1992         if(explicitContent==$runtime.parser.schemaSet.empty)
1993           return new BaseComplexTypeContentRef(baseType);
1994         else
1995           return new InheritBaseContentTypeRef(baseType,explicitContent,$runtime);
1996       }
1997 
1998 }