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