1/*
2 * Copyright (c) 1997, 2013, 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 */
27package com.sun.xml.internal.xsom.impl.parser.state;
28import org.xml.sax.SAXException;
29import org.xml.sax.XMLReader;
30import org.xml.sax.Attributes;
31import com.sun.xml.internal.xsom.impl.parser.NGCCRuntimeEx;
32import javax.xml.parsers.SAXParserFactory;
33import org.xml.sax.XMLReader;
34
35    import com.sun.xml.internal.xsom.*;
36    import com.sun.xml.internal.xsom.parser.*;
37    import com.sun.xml.internal.xsom.impl.*;
38    import com.sun.xml.internal.xsom.impl.parser.*;
39    import org.xml.sax.Locator;
40    import org.xml.sax.ContentHandler;
41    import org.xml.sax.helpers.*;
42    import java.util.*;
43    import java.math.BigInteger;
44
45
46
47public class Schema extends NGCCHandler {
48    private Integer finalDefault;
49    private boolean efd;
50    private boolean afd;
51    private Integer blockDefault;
52    private ForeignAttributesImpl fa;
53    private boolean includeMode;
54    private AnnotationImpl anno;
55    private ComplexTypeImpl ct;
56    private ElementDecl e;
57    private String defaultValue;
58    private XSNotation notation;
59    private AttGroupDeclImpl ag;
60    private String fixedValue;
61    private ModelGroupDeclImpl group;
62    private AttributeDeclImpl ad;
63    private SimpleTypeImpl st;
64    private String expectedNamespace;
65    protected final NGCCRuntimeEx $runtime;
66    private int $_ngcc_current_state;
67    protected String $uri;
68    protected String $localName;
69    protected String $qname;
70
71    public final NGCCRuntime getRuntime() {
72        return($runtime);
73    }
74
75    public Schema(NGCCHandler parent, NGCCEventSource source, NGCCRuntimeEx runtime, int cookie, boolean _includeMode, String _expectedNamespace) {
76        super(source, parent, cookie);
77        $runtime = runtime;
78        this.includeMode = _includeMode;
79        this.expectedNamespace = _expectedNamespace;
80        $_ngcc_current_state = 57;
81    }
82
83    public Schema(NGCCRuntimeEx runtime, boolean _includeMode, String _expectedNamespace) {
84        this(null, runtime, runtime, -1, _includeMode, _expectedNamespace);
85    }
86
87    private void action0()throws SAXException {
88        $runtime.checkDoubleDefError( $runtime.currentSchema.getAttGroupDecl(ag.getName()) );
89            $runtime.currentSchema.addAttGroupDecl(ag,false);
90}
91
92    private void action1()throws SAXException {
93        $runtime.currentSchema.addNotation(notation);
94}
95
96    private void action2()throws SAXException {
97        $runtime.checkDoubleDefError( $runtime.currentSchema.getModelGroupDecl(group.getName()) );
98            $runtime.currentSchema.addModelGroupDecl(group,false);
99}
100
101    private void action3()throws SAXException {
102        $runtime.checkDoubleDefError( $runtime.currentSchema.getAttributeDecl(ad.getName()) );
103            $runtime.currentSchema.addAttributeDecl(ad);
104}
105
106    private void action4()throws SAXException {
107        locator = $runtime.copyLocator();
108            defaultValue = null;
109            fixedValue = null;
110}
111
112    private void action5()throws SAXException {
113        $runtime.checkDoubleDefError( $runtime.currentSchema.getType(ct.getName()) );
114            $runtime.currentSchema.addComplexType(ct,false);
115}
116
117    private void action6()throws SAXException {
118        $runtime.checkDoubleDefError( $runtime.currentSchema.getType(st.getName()) );
119            $runtime.currentSchema.addSimpleType(st,false);
120}
121
122    private void action7()throws SAXException {
123        $runtime.checkDoubleDefError( $runtime.currentSchema.getElementDecl(e.getName()) );
124            $runtime.currentSchema.addElementDecl(e);
125}
126
127    private void action8()throws SAXException {
128        locator = $runtime.copyLocator();
129}
130
131    private void action9()throws SAXException {
132        $runtime.currentSchema.setAnnotation(anno);
133}
134
135    private void action10()throws SAXException {
136        $runtime.currentSchema.addForeignAttributes(fa);
137}
138
139    private void action11()throws SAXException {
140        $runtime.finalDefault=this.finalDefault.intValue();
141}
142
143    private void action12()throws SAXException {
144        $runtime.blockDefault=this.blockDefault.intValue();
145}
146
147    private void action13()throws SAXException {
148        $runtime.elementFormDefault = efd;
149}
150
151    private void action14()throws SAXException {
152        $runtime.attributeFormDefault = afd;
153}
154
155    private void action15()throws SAXException {
156        Attributes test = $runtime.getCurrentAttributes();
157        String tns = test.getValue("targetNamespace");
158
159      if(!includeMode) {
160        // importing
161        if(tns==null) tns=""; // if not present, then the empty namespace
162        $runtime.currentSchema = $runtime.parser.schemaSet.createSchema(tns,$runtime.copyLocator());
163        if(expectedNamespace!=null && !expectedNamespace.equals(tns)) {
164          $runtime.reportError(
165            Messages.format("UnexpectedTargetnamespace.Import", tns, expectedNamespace, tns ),
166            $runtime.getLocator());
167        }
168      } else {
169        // including
170
171        // check the consistency of @targetNamespace.
172        // @targetNamespace must be null or equal to the target namespace of the schema
173        if(tns!=null && expectedNamespace!=null && !expectedNamespace.equals(tns)) {
174          $runtime.reportError(
175            Messages.format("UnexpectedTargetnamespace.Include", tns, expectedNamespace, tns ) );
176        }
177        $runtime.chameleonMode = true;
178      }
179
180      // multiple inclusion test.
181      if( $runtime.hasAlreadyBeenRead() ) {
182          // skip this document
183          $runtime.redirectSubtree(new DefaultHandler(),"","","" );
184          return;
185      }
186
187      anno = (AnnotationImpl)$runtime.currentSchema.getAnnotation();
188      $runtime.blockDefault = 0;
189      $runtime.finalDefault = 0;
190}
191
192    public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException {
193        int $ai;
194        $uri = $__uri;
195        $localName = $__local;
196        $qname = $__qname;
197        switch($_ngcc_current_state) {
198        case 49:
199            {
200                if(($ai = $runtime.getAttributeIndex("","attributeFormDefault"))>=0) {
201                    $runtime.consumeAttribute($ai);
202                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
203                }
204                else {
205                    $_ngcc_current_state = 45;
206                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
207                }
208            }
209            break;
210        case 36:
211            {
212                if((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("notation")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("include")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("redefine")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup")) || (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("import"))))))))))))) {
213                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 527, null);
214                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
215                }
216                else {
217                    unexpectedEnterElement($__qname);
218                }
219            }
220            break;
221        case 0:
222            {
223                revertToParentFromEnterElement(this, super._cookie, $__uri, $__local, $__qname, $attrs);
224            }
225            break;
226        case 16:
227            {
228                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
229                    $runtime.consumeAttribute($ai);
230                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
231                }
232                else {
233                    $_ngcc_current_state = 12;
234                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
235                }
236            }
237            break;
238        case 53:
239            {
240                if(($ai = $runtime.getAttributeIndex("","targetNamespace"))>=0) {
241                    $runtime.consumeAttribute($ai);
242                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
243                }
244                else {
245                    $_ngcc_current_state = 49;
246                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
247                }
248            }
249            break;
250        case 37:
251            {
252                if(($ai = $runtime.getAttributeIndex("","finalDefault"))>=0) {
253                    $runtime.consumeAttribute($ai);
254                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
255                }
256                else {
257                    $_ngcc_current_state = 36;
258                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
259                }
260            }
261            break;
262        case 12:
263            {
264                if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
265                    $runtime.consumeAttribute($ai);
266                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
267                }
268                else {
269                    $_ngcc_current_state = 11;
270                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
271                }
272            }
273            break;
274        case 45:
275            {
276                if(($ai = $runtime.getAttributeIndex("","elementFormDefault"))>=0) {
277                    $runtime.consumeAttribute($ai);
278                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
279                }
280                else {
281                    $_ngcc_current_state = 41;
282                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
283                }
284            }
285            break;
286        case 41:
287            {
288                if(($ai = $runtime.getAttributeIndex("","blockDefault"))>=0) {
289                    $runtime.consumeAttribute($ai);
290                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
291                }
292                else {
293                    $_ngcc_current_state = 37;
294                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
295                }
296            }
297            break;
298        case 2:
299            {
300                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
301                    NGCCHandler h = new annotation(this, super._source, $runtime, 515, anno,AnnotationContext.SCHEMA);
302                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
303                }
304                else {
305                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("include"))) {
306                        NGCCHandler h = new includeDecl(this, super._source, $runtime, 516);
307                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
308                    }
309                    else {
310                        if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("import"))) {
311                            NGCCHandler h = new importDecl(this, super._source, $runtime, 517);
312                            spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
313                        }
314                        else {
315                            if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("redefine"))) {
316                                NGCCHandler h = new redefine(this, super._source, $runtime, 518);
317                                spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
318                            }
319                            else {
320                                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) {
321                                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
322                                    action8();
323                                    $_ngcc_current_state = 27;
324                                }
325                                else {
326                                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
327                                        NGCCHandler h = new simpleType(this, super._source, $runtime, 520);
328                                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
329                                    }
330                                    else {
331                                        if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
332                                            NGCCHandler h = new complexType(this, super._source, $runtime, 521);
333                                            spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
334                                        }
335                                        else {
336                                            if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) {
337                                                $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
338                                                action4();
339                                                $_ngcc_current_state = 16;
340                                            }
341                                            else {
342                                                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) {
343                                                    NGCCHandler h = new group(this, super._source, $runtime, 523);
344                                                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
345                                                }
346                                                else {
347                                                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("notation"))) {
348                                                        NGCCHandler h = new notation(this, super._source, $runtime, 524);
349                                                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
350                                                    }
351                                                    else {
352                                                        if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
353                                                            NGCCHandler h = new attributeGroupDecl(this, super._source, $runtime, 525);
354                                                            spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
355                                                        }
356                                                        else {
357                                                            $_ngcc_current_state = 1;
358                                                            $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
359                                                        }
360                                                    }
361                                                }
362                                            }
363                                        }
364                                    }
365                                }
366                            }
367                        }
368                    }
369                }
370            }
371            break;
372        case 27:
373            {
374                if((($ai = $runtime.getAttributeIndex("","default"))>=0 || (($ai = $runtime.getAttributeIndex("","fixed"))>=0 || (($ai = $runtime.getAttributeIndex("","form"))>=0 || (($ai = $runtime.getAttributeIndex("","final"))>=0 || (($ai = $runtime.getAttributeIndex("","block"))>=0 || (($ai = $runtime.getAttributeIndex("","name"))>=0 || ($ai = $runtime.getAttributeIndex("","abstract"))>=0))))))) {
375                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 439, locator,true);
376                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
377                }
378                else {
379                    unexpectedEnterElement($__qname);
380                }
381            }
382            break;
383        case 57:
384            {
385                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("schema"))) {
386                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
387                    action15();
388                    $_ngcc_current_state = 53;
389                }
390                else {
391                    unexpectedEnterElement($__qname);
392                }
393            }
394            break;
395        case 11:
396            {
397                if((($ai = $runtime.getAttributeIndex("","name"))>=0 || ($ai = $runtime.getAttributeIndex("","form"))>=0)) {
398                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 421, locator,false,defaultValue,fixedValue);
399                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
400                }
401                else {
402                    unexpectedEnterElement($__qname);
403                }
404            }
405            break;
406        case 1:
407            {
408                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
409                    NGCCHandler h = new annotation(this, super._source, $runtime, 504, anno,AnnotationContext.SCHEMA);
410                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
411                }
412                else {
413                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("include"))) {
414                        NGCCHandler h = new includeDecl(this, super._source, $runtime, 505);
415                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
416                    }
417                    else {
418                        if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("import"))) {
419                            NGCCHandler h = new importDecl(this, super._source, $runtime, 506);
420                            spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
421                        }
422                        else {
423                            if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("redefine"))) {
424                                NGCCHandler h = new redefine(this, super._source, $runtime, 507);
425                                spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
426                            }
427                            else {
428                                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) {
429                                    $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
430                                    action8();
431                                    $_ngcc_current_state = 27;
432                                }
433                                else {
434                                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
435                                        NGCCHandler h = new simpleType(this, super._source, $runtime, 509);
436                                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
437                                    }
438                                    else {
439                                        if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
440                                            NGCCHandler h = new complexType(this, super._source, $runtime, 510);
441                                            spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
442                                        }
443                                        else {
444                                            if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) {
445                                                $runtime.onEnterElementConsumed($__uri, $__local, $__qname, $attrs);
446                                                action4();
447                                                $_ngcc_current_state = 16;
448                                            }
449                                            else {
450                                                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("group"))) {
451                                                    NGCCHandler h = new group(this, super._source, $runtime, 512);
452                                                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
453                                                }
454                                                else {
455                                                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("notation"))) {
456                                                        NGCCHandler h = new notation(this, super._source, $runtime, 513);
457                                                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
458                                                    }
459                                                    else {
460                                                        if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attributeGroup"))) {
461                                                            NGCCHandler h = new attributeGroupDecl(this, super._source, $runtime, 514);
462                                                            spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
463                                                        }
464                                                        else {
465                                                            unexpectedEnterElement($__qname);
466                                                        }
467                                                    }
468                                                }
469                                            }
470                                        }
471                                    }
472                                }
473                            }
474                        }
475                    }
476                }
477            }
478            break;
479        default:
480            {
481                unexpectedEnterElement($__qname);
482            }
483            break;
484        }
485    }
486
487    public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException {
488        int $ai;
489        $uri = $__uri;
490        $localName = $__local;
491        $qname = $__qname;
492        switch($_ngcc_current_state) {
493        case 49:
494            {
495                if(($ai = $runtime.getAttributeIndex("","attributeFormDefault"))>=0) {
496                    $runtime.consumeAttribute($ai);
497                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
498                }
499                else {
500                    $_ngcc_current_state = 45;
501                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
502                }
503            }
504            break;
505        case 36:
506            {
507                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("schema"))) {
508                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 527, null);
509                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
510                }
511                else {
512                    unexpectedLeaveElement($__qname);
513                }
514            }
515            break;
516        case 0:
517            {
518                revertToParentFromLeaveElement(this, super._cookie, $__uri, $__local, $__qname);
519            }
520            break;
521        case 10:
522            {
523                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) {
524                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
525                    $_ngcc_current_state = 1;
526                }
527                else {
528                    unexpectedLeaveElement($__qname);
529                }
530            }
531            break;
532        case 16:
533            {
534                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
535                    $runtime.consumeAttribute($ai);
536                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
537                }
538                else {
539                    $_ngcc_current_state = 12;
540                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
541                }
542            }
543            break;
544        case 53:
545            {
546                if(($ai = $runtime.getAttributeIndex("","targetNamespace"))>=0) {
547                    $runtime.consumeAttribute($ai);
548                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
549                }
550                else {
551                    $_ngcc_current_state = 49;
552                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
553                }
554            }
555            break;
556        case 26:
557            {
558                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) {
559                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
560                    $_ngcc_current_state = 1;
561                }
562                else {
563                    unexpectedLeaveElement($__qname);
564                }
565            }
566            break;
567        case 37:
568            {
569                if(($ai = $runtime.getAttributeIndex("","finalDefault"))>=0) {
570                    $runtime.consumeAttribute($ai);
571                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
572                }
573                else {
574                    $_ngcc_current_state = 36;
575                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
576                }
577            }
578            break;
579        case 12:
580            {
581                if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
582                    $runtime.consumeAttribute($ai);
583                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
584                }
585                else {
586                    $_ngcc_current_state = 11;
587                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
588                }
589            }
590            break;
591        case 45:
592            {
593                if(($ai = $runtime.getAttributeIndex("","elementFormDefault"))>=0) {
594                    $runtime.consumeAttribute($ai);
595                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
596                }
597                else {
598                    $_ngcc_current_state = 41;
599                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
600                }
601            }
602            break;
603        case 41:
604            {
605                if(($ai = $runtime.getAttributeIndex("","blockDefault"))>=0) {
606                    $runtime.consumeAttribute($ai);
607                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
608                }
609                else {
610                    $_ngcc_current_state = 37;
611                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
612                }
613            }
614            break;
615        case 2:
616            {
617                $_ngcc_current_state = 1;
618                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
619            }
620            break;
621        case 27:
622            {
623                if(((($ai = $runtime.getAttributeIndex("","default"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","fixed"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","form"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","final"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","block"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || ((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element"))) || (($ai = $runtime.getAttributeIndex("","abstract"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("element")))))))))) {
624                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 439, locator,true);
625                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
626                }
627                else {
628                    unexpectedLeaveElement($__qname);
629                }
630            }
631            break;
632        case 11:
633            {
634                if(((($ai = $runtime.getAttributeIndex("","name"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))) || (($ai = $runtime.getAttributeIndex("","form"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("attribute"))))) {
635                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 421, locator,false,defaultValue,fixedValue);
636                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
637                }
638                else {
639                    unexpectedLeaveElement($__qname);
640                }
641            }
642            break;
643        case 1:
644            {
645                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("schema"))) {
646                    $runtime.onLeaveElementConsumed($__uri, $__local, $__qname);
647                    $_ngcc_current_state = 0;
648                }
649                else {
650                    unexpectedLeaveElement($__qname);
651                }
652            }
653            break;
654        default:
655            {
656                unexpectedLeaveElement($__qname);
657            }
658            break;
659        }
660    }
661
662    public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
663        int $ai;
664        $uri = $__uri;
665        $localName = $__local;
666        $qname = $__qname;
667        switch($_ngcc_current_state) {
668        case 49:
669            {
670                if(($__uri.equals("") && $__local.equals("attributeFormDefault"))) {
671                    $_ngcc_current_state = 51;
672                }
673                else {
674                    $_ngcc_current_state = 45;
675                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
676                }
677            }
678            break;
679        case 45:
680            {
681                if(($__uri.equals("") && $__local.equals("elementFormDefault"))) {
682                    $_ngcc_current_state = 47;
683                }
684                else {
685                    $_ngcc_current_state = 41;
686                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
687                }
688            }
689            break;
690        case 41:
691            {
692                if(($__uri.equals("") && $__local.equals("blockDefault"))) {
693                    $_ngcc_current_state = 43;
694                }
695                else {
696                    $_ngcc_current_state = 37;
697                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
698                }
699            }
700            break;
701        case 2:
702            {
703                $_ngcc_current_state = 1;
704                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
705            }
706            break;
707        case 27:
708            {
709                if((($__uri.equals("") && $__local.equals("default")) || (($__uri.equals("") && $__local.equals("fixed")) || (($__uri.equals("") && $__local.equals("form")) || (($__uri.equals("") && $__local.equals("final")) || (($__uri.equals("") && $__local.equals("block")) || (($__uri.equals("") && $__local.equals("name")) || ($__uri.equals("") && $__local.equals("abstract"))))))))) {
710                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 439, locator,true);
711                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
712                }
713                else {
714                    unexpectedEnterAttribute($__qname);
715                }
716            }
717            break;
718        case 0:
719            {
720                revertToParentFromEnterAttribute(this, super._cookie, $__uri, $__local, $__qname);
721            }
722            break;
723        case 16:
724            {
725                if(($__uri.equals("") && $__local.equals("default"))) {
726                    $_ngcc_current_state = 18;
727                }
728                else {
729                    $_ngcc_current_state = 12;
730                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
731                }
732            }
733            break;
734        case 37:
735            {
736                if(($__uri.equals("") && $__local.equals("finalDefault"))) {
737                    $_ngcc_current_state = 39;
738                }
739                else {
740                    $_ngcc_current_state = 36;
741                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
742                }
743            }
744            break;
745        case 53:
746            {
747                if(($__uri.equals("") && $__local.equals("targetNamespace"))) {
748                    $_ngcc_current_state = 55;
749                }
750                else {
751                    $_ngcc_current_state = 49;
752                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
753                }
754            }
755            break;
756        case 11:
757            {
758                if((($__uri.equals("") && $__local.equals("name")) || ($__uri.equals("") && $__local.equals("form")))) {
759                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 421, locator,false,defaultValue,fixedValue);
760                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
761                }
762                else {
763                    unexpectedEnterAttribute($__qname);
764                }
765            }
766            break;
767        case 12:
768            {
769                if(($__uri.equals("") && $__local.equals("fixed"))) {
770                    $_ngcc_current_state = 14;
771                }
772                else {
773                    $_ngcc_current_state = 11;
774                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
775                }
776            }
777            break;
778        default:
779            {
780                unexpectedEnterAttribute($__qname);
781            }
782            break;
783        }
784    }
785
786    public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
787        int $ai;
788        $uri = $__uri;
789        $localName = $__local;
790        $qname = $__qname;
791        switch($_ngcc_current_state) {
792        case 49:
793            {
794                $_ngcc_current_state = 45;
795                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
796            }
797            break;
798        case 38:
799            {
800                if(($__uri.equals("") && $__local.equals("finalDefault"))) {
801                    $_ngcc_current_state = 36;
802                }
803                else {
804                    unexpectedLeaveAttribute($__qname);
805                }
806            }
807            break;
808        case 0:
809            {
810                revertToParentFromLeaveAttribute(this, super._cookie, $__uri, $__local, $__qname);
811            }
812            break;
813        case 16:
814            {
815                $_ngcc_current_state = 12;
816                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
817            }
818            break;
819        case 13:
820            {
821                if(($__uri.equals("") && $__local.equals("fixed"))) {
822                    $_ngcc_current_state = 11;
823                }
824                else {
825                    unexpectedLeaveAttribute($__qname);
826                }
827            }
828            break;
829        case 53:
830            {
831                $_ngcc_current_state = 49;
832                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
833            }
834            break;
835        case 37:
836            {
837                $_ngcc_current_state = 36;
838                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
839            }
840            break;
841        case 17:
842            {
843                if(($__uri.equals("") && $__local.equals("default"))) {
844                    $_ngcc_current_state = 12;
845                }
846                else {
847                    unexpectedLeaveAttribute($__qname);
848                }
849            }
850            break;
851        case 12:
852            {
853                $_ngcc_current_state = 11;
854                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
855            }
856            break;
857        case 50:
858            {
859                if(($__uri.equals("") && $__local.equals("attributeFormDefault"))) {
860                    $_ngcc_current_state = 45;
861                }
862                else {
863                    unexpectedLeaveAttribute($__qname);
864                }
865            }
866            break;
867        case 42:
868            {
869                if(($__uri.equals("") && $__local.equals("blockDefault"))) {
870                    $_ngcc_current_state = 37;
871                }
872                else {
873                    unexpectedLeaveAttribute($__qname);
874                }
875            }
876            break;
877        case 45:
878            {
879                $_ngcc_current_state = 41;
880                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
881            }
882            break;
883        case 41:
884            {
885                $_ngcc_current_state = 37;
886                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
887            }
888            break;
889        case 2:
890            {
891                $_ngcc_current_state = 1;
892                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
893            }
894            break;
895        case 54:
896            {
897                if(($__uri.equals("") && $__local.equals("targetNamespace"))) {
898                    $_ngcc_current_state = 49;
899                }
900                else {
901                    unexpectedLeaveAttribute($__qname);
902                }
903            }
904            break;
905        case 46:
906            {
907                if(($__uri.equals("") && $__local.equals("elementFormDefault"))) {
908                    $_ngcc_current_state = 41;
909                }
910                else {
911                    unexpectedLeaveAttribute($__qname);
912                }
913            }
914            break;
915        default:
916            {
917                unexpectedLeaveAttribute($__qname);
918            }
919            break;
920        }
921    }
922
923    public void text(String $value) throws SAXException {
924        int $ai;
925        switch($_ngcc_current_state) {
926        case 49:
927            {
928                if(($ai = $runtime.getAttributeIndex("","attributeFormDefault"))>=0) {
929                    $runtime.consumeAttribute($ai);
930                    $runtime.sendText(super._cookie, $value);
931                }
932                else {
933                    $_ngcc_current_state = 45;
934                    $runtime.sendText(super._cookie, $value);
935                }
936            }
937            break;
938        case 0:
939            {
940                revertToParentFromText(this, super._cookie, $value);
941            }
942            break;
943        case 47:
944            {
945                if($value.equals("unqualified")) {
946                    NGCCHandler h = new qualification(this, super._source, $runtime, 539);
947                    spawnChildFromText(h, $value);
948                }
949                else {
950                    if($value.equals("qualified")) {
951                        NGCCHandler h = new qualification(this, super._source, $runtime, 539);
952                        spawnChildFromText(h, $value);
953                    }
954                }
955            }
956            break;
957        case 43:
958            {
959                NGCCHandler h = new ersSet(this, super._source, $runtime, 534);
960                spawnChildFromText(h, $value);
961            }
962            break;
963        case 16:
964            {
965                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
966                    $runtime.consumeAttribute($ai);
967                    $runtime.sendText(super._cookie, $value);
968                }
969                else {
970                    $_ngcc_current_state = 12;
971                    $runtime.sendText(super._cookie, $value);
972                }
973            }
974            break;
975        case 53:
976            {
977                if(($ai = $runtime.getAttributeIndex("","targetNamespace"))>=0) {
978                    $runtime.consumeAttribute($ai);
979                    $runtime.sendText(super._cookie, $value);
980                }
981                else {
982                    $_ngcc_current_state = 49;
983                    $runtime.sendText(super._cookie, $value);
984                }
985            }
986            break;
987        case 37:
988            {
989                if(($ai = $runtime.getAttributeIndex("","finalDefault"))>=0) {
990                    $runtime.consumeAttribute($ai);
991                    $runtime.sendText(super._cookie, $value);
992                }
993                else {
994                    $_ngcc_current_state = 36;
995                    $runtime.sendText(super._cookie, $value);
996                }
997            }
998            break;
999        case 12:
1000            {
1001                if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
1002                    $runtime.consumeAttribute($ai);
1003                    $runtime.sendText(super._cookie, $value);
1004                }
1005                else {
1006                    $_ngcc_current_state = 11;
1007                    $runtime.sendText(super._cookie, $value);
1008                }
1009            }
1010            break;
1011        case 14:
1012            {
1013                fixedValue = $value;
1014                $_ngcc_current_state = 13;
1015            }
1016            break;
1017        case 45:
1018            {
1019                if(($ai = $runtime.getAttributeIndex("","elementFormDefault"))>=0) {
1020                    $runtime.consumeAttribute($ai);
1021                    $runtime.sendText(super._cookie, $value);
1022                }
1023                else {
1024                    $_ngcc_current_state = 41;
1025                    $runtime.sendText(super._cookie, $value);
1026                }
1027            }
1028            break;
1029        case 41:
1030            {
1031                if(($ai = $runtime.getAttributeIndex("","blockDefault"))>=0) {
1032                    $runtime.consumeAttribute($ai);
1033                    $runtime.sendText(super._cookie, $value);
1034                }
1035                else {
1036                    $_ngcc_current_state = 37;
1037                    $runtime.sendText(super._cookie, $value);
1038                }
1039            }
1040            break;
1041        case 55:
1042            {
1043                $_ngcc_current_state = 54;
1044            }
1045            break;
1046        case 2:
1047            {
1048                $_ngcc_current_state = 1;
1049                $runtime.sendText(super._cookie, $value);
1050            }
1051            break;
1052        case 27:
1053            {
1054                if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
1055                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 439, locator,true);
1056                    spawnChildFromText(h, $value);
1057                }
1058                else {
1059                    if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
1060                        NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 439, locator,true);
1061                        spawnChildFromText(h, $value);
1062                    }
1063                    else {
1064                        if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
1065                            NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 439, locator,true);
1066                            spawnChildFromText(h, $value);
1067                        }
1068                        else {
1069                            if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
1070                                NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 439, locator,true);
1071                                spawnChildFromText(h, $value);
1072                            }
1073                            else {
1074                                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
1075                                    NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 439, locator,true);
1076                                    spawnChildFromText(h, $value);
1077                                }
1078                                else {
1079                                    if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
1080                                        NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 439, locator,true);
1081                                        spawnChildFromText(h, $value);
1082                                    }
1083                                    else {
1084                                        if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
1085                                            NGCCHandler h = new elementDeclBody(this, super._source, $runtime, 439, locator,true);
1086                                            spawnChildFromText(h, $value);
1087                                        }
1088                                    }
1089                                }
1090                            }
1091                        }
1092                    }
1093                }
1094            }
1095            break;
1096        case 39:
1097            {
1098                NGCCHandler h = new erSet(this, super._source, $runtime, 529);
1099                spawnChildFromText(h, $value);
1100            }
1101            break;
1102        case 51:
1103            {
1104                if($value.equals("unqualified")) {
1105                    NGCCHandler h = new qualification(this, super._source, $runtime, 544);
1106                    spawnChildFromText(h, $value);
1107                }
1108                else {
1109                    if($value.equals("qualified")) {
1110                        NGCCHandler h = new qualification(this, super._source, $runtime, 544);
1111                        spawnChildFromText(h, $value);
1112                    }
1113                }
1114            }
1115            break;
1116        case 18:
1117            {
1118                defaultValue = $value;
1119                $_ngcc_current_state = 17;
1120            }
1121            break;
1122        case 11:
1123            {
1124                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
1125                    NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 421, locator,false,defaultValue,fixedValue);
1126                    spawnChildFromText(h, $value);
1127                }
1128                else {
1129                    if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
1130                        NGCCHandler h = new attributeDeclBody(this, super._source, $runtime, 421, locator,false,defaultValue,fixedValue);
1131                        spawnChildFromText(h, $value);
1132                    }
1133                }
1134            }
1135            break;
1136        }
1137    }
1138
1139    public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
1140        switch($__cookie__) {
1141        case 527:
1142            {
1143                fa = ((ForeignAttributesImpl)$__result__);
1144                action10();
1145                $_ngcc_current_state = 2;
1146            }
1147            break;
1148        case 534:
1149            {
1150                blockDefault = ((Integer)$__result__);
1151                action12();
1152                $_ngcc_current_state = 42;
1153            }
1154            break;
1155        case 439:
1156            {
1157                e = ((ElementDecl)$__result__);
1158                action7();
1159                $_ngcc_current_state = 26;
1160            }
1161            break;
1162        case 544:
1163            {
1164                afd = ((Boolean)$__result__).booleanValue();
1165                action14();
1166                $_ngcc_current_state = 50;
1167            }
1168            break;
1169        case 421:
1170            {
1171                ad = ((AttributeDeclImpl)$__result__);
1172                action3();
1173                $_ngcc_current_state = 10;
1174            }
1175            break;
1176        case 504:
1177            {
1178                anno = ((AnnotationImpl)$__result__);
1179                action9();
1180                $_ngcc_current_state = 1;
1181            }
1182            break;
1183        case 505:
1184            {
1185                $_ngcc_current_state = 1;
1186            }
1187            break;
1188        case 506:
1189            {
1190                $_ngcc_current_state = 1;
1191            }
1192            break;
1193        case 507:
1194            {
1195                $_ngcc_current_state = 1;
1196            }
1197            break;
1198        case 509:
1199            {
1200                st = ((SimpleTypeImpl)$__result__);
1201                action6();
1202                $_ngcc_current_state = 1;
1203            }
1204            break;
1205        case 510:
1206            {
1207                ct = ((ComplexTypeImpl)$__result__);
1208                action5();
1209                $_ngcc_current_state = 1;
1210            }
1211            break;
1212        case 512:
1213            {
1214                group = ((ModelGroupDeclImpl)$__result__);
1215                action2();
1216                $_ngcc_current_state = 1;
1217            }
1218            break;
1219        case 513:
1220            {
1221                notation = ((XSNotation)$__result__);
1222                action1();
1223                $_ngcc_current_state = 1;
1224            }
1225            break;
1226        case 514:
1227            {
1228                ag = ((AttGroupDeclImpl)$__result__);
1229                action0();
1230                $_ngcc_current_state = 1;
1231            }
1232            break;
1233        case 539:
1234            {
1235                efd = ((Boolean)$__result__).booleanValue();
1236                action13();
1237                $_ngcc_current_state = 46;
1238            }
1239            break;
1240        case 515:
1241            {
1242                anno = ((AnnotationImpl)$__result__);
1243                action9();
1244                $_ngcc_current_state = 1;
1245            }
1246            break;
1247        case 516:
1248            {
1249                $_ngcc_current_state = 1;
1250            }
1251            break;
1252        case 517:
1253            {
1254                $_ngcc_current_state = 1;
1255            }
1256            break;
1257        case 518:
1258            {
1259                $_ngcc_current_state = 1;
1260            }
1261            break;
1262        case 520:
1263            {
1264                st = ((SimpleTypeImpl)$__result__);
1265                action6();
1266                $_ngcc_current_state = 1;
1267            }
1268            break;
1269        case 521:
1270            {
1271                ct = ((ComplexTypeImpl)$__result__);
1272                action5();
1273                $_ngcc_current_state = 1;
1274            }
1275            break;
1276        case 523:
1277            {
1278                group = ((ModelGroupDeclImpl)$__result__);
1279                action2();
1280                $_ngcc_current_state = 1;
1281            }
1282            break;
1283        case 524:
1284            {
1285                notation = ((XSNotation)$__result__);
1286                action1();
1287                $_ngcc_current_state = 1;
1288            }
1289            break;
1290        case 525:
1291            {
1292                ag = ((AttGroupDeclImpl)$__result__);
1293                action0();
1294                $_ngcc_current_state = 1;
1295            }
1296            break;
1297        case 529:
1298            {
1299                finalDefault = ((Integer)$__result__);
1300                action11();
1301                $_ngcc_current_state = 38;
1302            }
1303            break;
1304        }
1305    }
1306
1307    public boolean accepted() {
1308        return(($_ngcc_current_state == 0));
1309    }
1310
1311
1312      private String tns=null;  // it defaults to the no namespace.
1313      private Locator locator;
1314
1315}
1316