1/*
2 * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.  Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26/* this file is generated by RelaxNGCC */
27package com.sun.xml.internal.xsom.impl.parser.state;
28
29import com.sun.xml.internal.xsom.impl.*;
30import com.sun.xml.internal.xsom.impl.parser.*;
31import com.sun.xml.internal.xsom.parser.*;
32import java.util.*;
33
34import org.xml.sax.Attributes;
35import org.xml.sax.Locator;
36import org.xml.sax.SAXException;
37
38
39class elementDeclBody extends NGCCHandler {
40    private Integer finalValue;
41    private String name;
42    private String nillable;
43    private String abstractValue;
44    private Integer blockValue;
45    private ForeignAttributesImpl fa;
46    private AnnotationImpl annotation;
47    private Locator locator;
48    private String defaultValue;
49    private IdentityConstraintImpl idc;
50    private boolean isGlobal;
51    private String fixedValue;
52    private UName typeName;
53    private UName substRef;
54    protected final NGCCRuntimeEx $runtime;
55    private int $_ngcc_current_state;
56    protected String $uri;
57    protected String $localName;
58    protected String $qname;
59
60    public final NGCCRuntime getRuntime() {
61        return($runtime);
62    }
63
64    public elementDeclBody(NGCCHandler parent, NGCCEventSource source, NGCCRuntimeEx runtime, int cookie, Locator _locator, boolean _isGlobal) {
65        super(source, parent, cookie);
66        $runtime = runtime;
67        this.locator = _locator;
68        this.isGlobal = _isGlobal;
69        $_ngcc_current_state = 48;
70    }
71
72    public elementDeclBody(NGCCRuntimeEx runtime, Locator _locator, boolean _isGlobal) {
73        this(null, runtime, runtime, -1, _locator, _isGlobal);
74    }
75
76    private void action0()throws SAXException {
77        idcs.add(idc);
78}
79
80    private void action1()throws SAXException {
81
82            type = new DelayedRef.Type(
83              $runtime, locator, $runtime.currentSchema, typeName );
84
85}
86
87    private void action2()throws SAXException {
88
89          substHeadRef = new DelayedRef.Element(
90            $runtime, locator, $runtime.currentSchema, substRef );
91
92}
93
94    private void action3()throws SAXException {
95        formSpecified = true;
96}
97
98    public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException {
99        int $ai;
100        $uri = $__uri;
101        $localName = $__local;
102        $qname = $__qname;
103        switch($_ngcc_current_state) {
104        case 17:
105            {
106                if(($ai = $runtime.getAttributeIndex("","nillable"))>=0) {
107                    $runtime.consumeAttribute($ai);
108                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
109                }
110                else {
111                    $_ngcc_current_state = 13;
112                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
113                }
114            }
115            break;
116        case 28:
117            {
118                if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
119                    $runtime.consumeAttribute($ai);
120                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
121                }
122                else {
123                    $_ngcc_current_state = 24;
124                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
125                }
126            }
127            break;
128        case 0:
129            {
130                if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) {
131                    NGCCHandler h = new identityConstraint(this, super._source, $runtime, 6);
132                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
133                }
134                else {
135                    revertToParentFromEnterElement(makeResult(), super._cookie, $__uri, $__local, $__qname, $attrs);
136                }
137            }
138            break;
139        case 32:
140            {
141                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
142                    $runtime.consumeAttribute($ai);
143                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
144                }
145                else {
146                    $_ngcc_current_state = 28;
147                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
148                }
149            }
150            break;
151        case 24:
152            {
153                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
154                    $runtime.consumeAttribute($ai);
155                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
156                }
157                else {
158                    $_ngcc_current_state = 23;
159                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
160                }
161            }
162            break;
163        case 11:
164            {
165                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
166                    NGCCHandler h = new annotation(this, super._source, $runtime, 24, null,AnnotationContext.ELEMENT_DECL);
167                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
168                }
169                else {
170                    $_ngcc_current_state = 3;
171                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
172                }
173            }
174            break;
175        case 23:
176            {
177                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
178                    $runtime.consumeAttribute($ai);
179                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
180                }
181                else {
182                    unexpectedEnterElement($__qname);
183                }
184            }
185            break;
186        case 44:
187            {
188                if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
189                    $runtime.consumeAttribute($ai);
190                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
191                }
192                else {
193                    $_ngcc_current_state = 40;
194                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
195                }
196            }
197            break;
198        case 40:
199            {
200                if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
201                    $runtime.consumeAttribute($ai);
202                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
203                }
204                else {
205                    $_ngcc_current_state = 36;
206                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
207                }
208            }
209            break;
210        case 48:
211            {
212                if(((($ai = $runtime.getAttributeIndex("","default"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","fixed"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","form"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","block"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","final"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || ((($ai = $runtime.getAttributeIndex("","name"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) || (($ai = $runtime.getAttributeIndex("","abstract"))>=0 && (((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) || ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))))))))))) {
213                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 69, fa);
214                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
215                }
216                else {
217                    unexpectedEnterElement($__qname);
218                }
219            }
220            break;
221        case 1:
222            {
223                if(((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("key")) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("keyref"))) || ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("unique")))) {
224                    NGCCHandler h = new identityConstraint(this, super._source, $runtime, 7);
225                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
226                }
227                else {
228                    $_ngcc_current_state = 0;
229                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
230                }
231            }
232            break;
233        case 3:
234            {
235                if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("simpleType"))) {
236                    NGCCHandler h = new simpleType(this, super._source, $runtime, 19);
237                    spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
238                }
239                else {
240                    if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("complexType"))) {
241                        NGCCHandler h = new complexType(this, super._source, $runtime, 20);
242                        spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
243                    }
244                    else {
245                        if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
246                            $runtime.consumeAttribute($ai);
247                            $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
248                        }
249                        else {
250                            $_ngcc_current_state = 1;
251                            $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
252                        }
253                    }
254                }
255            }
256            break;
257        case 13:
258            {
259                if(($ai = $runtime.getAttributeIndex("","substitutionGroup"))>=0) {
260                    $runtime.consumeAttribute($ai);
261                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
262                }
263                else {
264                    $_ngcc_current_state = 11;
265                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
266                }
267            }
268            break;
269        case 36:
270            {
271                if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
272                    $runtime.consumeAttribute($ai);
273                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
274                }
275                else {
276                    $_ngcc_current_state = 32;
277                    $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
278                }
279            }
280            break;
281        default:
282            {
283                unexpectedEnterElement($__qname);
284            }
285            break;
286        }
287    }
288
289    public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException {
290        int $ai;
291        $uri = $__uri;
292        $localName = $__local;
293        $qname = $__qname;
294        switch($_ngcc_current_state) {
295        case 17:
296            {
297                if(($ai = $runtime.getAttributeIndex("","nillable"))>=0) {
298                    $runtime.consumeAttribute($ai);
299                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
300                }
301                else {
302                    $_ngcc_current_state = 13;
303                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
304                }
305            }
306            break;
307        case 28:
308            {
309                if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
310                    $runtime.consumeAttribute($ai);
311                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
312                }
313                else {
314                    $_ngcc_current_state = 24;
315                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
316                }
317            }
318            break;
319        case 0:
320            {
321                revertToParentFromLeaveElement(makeResult(), super._cookie, $__uri, $__local, $__qname);
322            }
323            break;
324        case 32:
325            {
326                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
327                    $runtime.consumeAttribute($ai);
328                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
329                }
330                else {
331                    $_ngcc_current_state = 28;
332                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
333                }
334            }
335            break;
336        case 24:
337            {
338                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
339                    $runtime.consumeAttribute($ai);
340                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
341                }
342                else {
343                    $_ngcc_current_state = 23;
344                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
345                }
346            }
347            break;
348        case 11:
349            {
350                $_ngcc_current_state = 3;
351                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
352            }
353            break;
354        case 23:
355            {
356                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
357                    $runtime.consumeAttribute($ai);
358                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
359                }
360                else {
361                    unexpectedLeaveElement($__qname);
362                }
363            }
364            break;
365        case 44:
366            {
367                if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
368                    $runtime.consumeAttribute($ai);
369                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
370                }
371                else {
372                    $_ngcc_current_state = 40;
373                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
374                }
375            }
376            break;
377        case 40:
378            {
379                if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
380                    $runtime.consumeAttribute($ai);
381                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
382                }
383                else {
384                    $_ngcc_current_state = 36;
385                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
386                }
387            }
388            break;
389        case 48:
390            {
391                if((($ai = $runtime.getAttributeIndex("","default"))>=0 || (($ai = $runtime.getAttributeIndex("","fixed"))>=0 || (($ai = $runtime.getAttributeIndex("","form"))>=0 || (($ai = $runtime.getAttributeIndex("","block"))>=0 || (($ai = $runtime.getAttributeIndex("","final"))>=0 || (($ai = $runtime.getAttributeIndex("","name"))>=0 || ($ai = $runtime.getAttributeIndex("","abstract"))>=0))))))) {
392                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 69, fa);
393                    spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
394                }
395                else {
396                    unexpectedLeaveElement($__qname);
397                }
398            }
399            break;
400        case 1:
401            {
402                $_ngcc_current_state = 0;
403                $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
404            }
405            break;
406        case 3:
407            {
408                if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
409                    $runtime.consumeAttribute($ai);
410                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
411                }
412                else {
413                    $_ngcc_current_state = 1;
414                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
415                }
416            }
417            break;
418        case 13:
419            {
420                if(($ai = $runtime.getAttributeIndex("","substitutionGroup"))>=0) {
421                    $runtime.consumeAttribute($ai);
422                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
423                }
424                else {
425                    $_ngcc_current_state = 11;
426                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
427                }
428            }
429            break;
430        case 36:
431            {
432                if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
433                    $runtime.consumeAttribute($ai);
434                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
435                }
436                else {
437                    $_ngcc_current_state = 32;
438                    $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
439                }
440            }
441            break;
442        default:
443            {
444                unexpectedLeaveElement($__qname);
445            }
446            break;
447        }
448    }
449
450    public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
451        int $ai;
452        $uri = $__uri;
453        $localName = $__local;
454        $qname = $__qname;
455        switch($_ngcc_current_state) {
456        case 17:
457            {
458                if(($__uri.equals("") && $__local.equals("nillable"))) {
459                    $_ngcc_current_state = 19;
460                }
461                else {
462                    $_ngcc_current_state = 13;
463                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
464                }
465            }
466            break;
467        case 28:
468            {
469                if(($__uri.equals("") && $__local.equals("fixed"))) {
470                    $_ngcc_current_state = 30;
471                }
472                else {
473                    $_ngcc_current_state = 24;
474                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
475                }
476            }
477            break;
478        case 0:
479            {
480                revertToParentFromEnterAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
481            }
482            break;
483        case 32:
484            {
485                if(($__uri.equals("") && $__local.equals("default"))) {
486                    $_ngcc_current_state = 34;
487                }
488                else {
489                    $_ngcc_current_state = 28;
490                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
491                }
492            }
493            break;
494        case 24:
495            {
496                if(($__uri.equals("") && $__local.equals("form"))) {
497                    $_ngcc_current_state = 26;
498                }
499                else {
500                    $_ngcc_current_state = 23;
501                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
502                }
503            }
504            break;
505        case 11:
506            {
507                $_ngcc_current_state = 3;
508                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
509            }
510            break;
511        case 23:
512            {
513                if(($__uri.equals("") && $__local.equals("name"))) {
514                    $_ngcc_current_state = 22;
515                }
516                else {
517                    unexpectedEnterAttribute($__qname);
518                }
519            }
520            break;
521        case 44:
522            {
523                if(($__uri.equals("") && $__local.equals("abstract"))) {
524                    $_ngcc_current_state = 46;
525                }
526                else {
527                    $_ngcc_current_state = 40;
528                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
529                }
530            }
531            break;
532        case 40:
533            {
534                if(($__uri.equals("") && $__local.equals("block"))) {
535                    $_ngcc_current_state = 42;
536                }
537                else {
538                    $_ngcc_current_state = 36;
539                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
540                }
541            }
542            break;
543        case 48:
544            {
545                if((($__uri.equals("") && $__local.equals("default")) || (($__uri.equals("") && $__local.equals("fixed")) || (($__uri.equals("") && $__local.equals("form")) || (($__uri.equals("") && $__local.equals("block")) || (($__uri.equals("") && $__local.equals("final")) || (($__uri.equals("") && $__local.equals("name")) || ($__uri.equals("") && $__local.equals("abstract"))))))))) {
546                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 69, fa);
547                    spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
548                }
549                else {
550                    unexpectedEnterAttribute($__qname);
551                }
552            }
553            break;
554        case 1:
555            {
556                $_ngcc_current_state = 0;
557                $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
558            }
559            break;
560        case 3:
561            {
562                if(($__uri.equals("") && $__local.equals("type"))) {
563                    $_ngcc_current_state = 6;
564                }
565                else {
566                    $_ngcc_current_state = 1;
567                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
568                }
569            }
570            break;
571        case 13:
572            {
573                if(($__uri.equals("") && $__local.equals("substitutionGroup"))) {
574                    $_ngcc_current_state = 15;
575                }
576                else {
577                    $_ngcc_current_state = 11;
578                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
579                }
580            }
581            break;
582        case 36:
583            {
584                if(($__uri.equals("") && $__local.equals("final"))) {
585                    $_ngcc_current_state = 38;
586                }
587                else {
588                    $_ngcc_current_state = 32;
589                    $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
590                }
591            }
592            break;
593        default:
594            {
595                unexpectedEnterAttribute($__qname);
596            }
597            break;
598        }
599    }
600
601    public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
602        int $ai;
603        $uri = $__uri;
604        $localName = $__local;
605        $qname = $__qname;
606        switch($_ngcc_current_state) {
607        case 21:
608            {
609                if(($__uri.equals("") && $__local.equals("name"))) {
610                    $_ngcc_current_state = 17;
611                }
612                else {
613                    unexpectedLeaveAttribute($__qname);
614                }
615            }
616            break;
617        case 17:
618            {
619                $_ngcc_current_state = 13;
620                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
621            }
622            break;
623        case 18:
624            {
625                if(($__uri.equals("") && $__local.equals("nillable"))) {
626                    $_ngcc_current_state = 13;
627                }
628                else {
629                    unexpectedLeaveAttribute($__qname);
630                }
631            }
632            break;
633        case 25:
634            {
635                if(($__uri.equals("") && $__local.equals("form"))) {
636                    $_ngcc_current_state = 23;
637                }
638                else {
639                    unexpectedLeaveAttribute($__qname);
640                }
641            }
642            break;
643        case 41:
644            {
645                if(($__uri.equals("") && $__local.equals("block"))) {
646                    $_ngcc_current_state = 36;
647                }
648                else {
649                    unexpectedLeaveAttribute($__qname);
650                }
651            }
652            break;
653        case 28:
654            {
655                $_ngcc_current_state = 24;
656                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
657            }
658            break;
659        case 32:
660            {
661                $_ngcc_current_state = 28;
662                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
663            }
664            break;
665        case 0:
666            {
667                revertToParentFromLeaveAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
668            }
669            break;
670        case 24:
671            {
672                $_ngcc_current_state = 23;
673                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
674            }
675            break;
676        case 11:
677            {
678                $_ngcc_current_state = 3;
679                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
680            }
681            break;
682        case 33:
683            {
684                if(($__uri.equals("") && $__local.equals("default"))) {
685                    $_ngcc_current_state = 28;
686                }
687                else {
688                    unexpectedLeaveAttribute($__qname);
689                }
690            }
691            break;
692        case 37:
693            {
694                if(($__uri.equals("") && $__local.equals("final"))) {
695                    $_ngcc_current_state = 32;
696                }
697                else {
698                    unexpectedLeaveAttribute($__qname);
699                }
700            }
701            break;
702        case 44:
703            {
704                $_ngcc_current_state = 40;
705                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
706            }
707            break;
708        case 14:
709            {
710                if(($__uri.equals("") && $__local.equals("substitutionGroup"))) {
711                    $_ngcc_current_state = 11;
712                }
713                else {
714                    unexpectedLeaveAttribute($__qname);
715                }
716            }
717            break;
718        case 40:
719            {
720                $_ngcc_current_state = 36;
721                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
722            }
723            break;
724        case 45:
725            {
726                if(($__uri.equals("") && $__local.equals("abstract"))) {
727                    $_ngcc_current_state = 40;
728                }
729                else {
730                    unexpectedLeaveAttribute($__qname);
731                }
732            }
733            break;
734        case 1:
735            {
736                $_ngcc_current_state = 0;
737                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
738            }
739            break;
740        case 3:
741            {
742                $_ngcc_current_state = 1;
743                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
744            }
745            break;
746        case 13:
747            {
748                $_ngcc_current_state = 11;
749                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
750            }
751            break;
752        case 36:
753            {
754                $_ngcc_current_state = 32;
755                $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
756            }
757            break;
758        case 5:
759            {
760                if(($__uri.equals("") && $__local.equals("type"))) {
761                    $_ngcc_current_state = 1;
762                    action1();
763                }
764                else {
765                    unexpectedLeaveAttribute($__qname);
766                }
767            }
768            break;
769        case 29:
770            {
771                if(($__uri.equals("") && $__local.equals("fixed"))) {
772                    $_ngcc_current_state = 24;
773                }
774                else {
775                    unexpectedLeaveAttribute($__qname);
776                }
777            }
778            break;
779        default:
780            {
781                unexpectedLeaveAttribute($__qname);
782            }
783            break;
784        }
785    }
786
787    public void text(String $value) throws SAXException {
788        int $ai;
789        switch($_ngcc_current_state) {
790        case 17:
791            {
792                if(($ai = $runtime.getAttributeIndex("","nillable"))>=0) {
793                    $runtime.consumeAttribute($ai);
794                    $runtime.sendText(super._cookie, $value);
795                }
796                else {
797                    $_ngcc_current_state = 13;
798                    $runtime.sendText(super._cookie, $value);
799                }
800            }
801            break;
802        case 34:
803            {
804                defaultValue = $value;
805                $_ngcc_current_state = 33;
806            }
807            break;
808        case 22:
809            {
810                name = $runtime.collapse($value);
811                $_ngcc_current_state = 21;
812            }
813            break;
814        case 28:
815            {
816                if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
817                    $runtime.consumeAttribute($ai);
818                    $runtime.sendText(super._cookie, $value);
819                }
820                else {
821                    $_ngcc_current_state = 24;
822                    $runtime.sendText(super._cookie, $value);
823                }
824            }
825            break;
826        case 32:
827            {
828                if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
829                    $runtime.consumeAttribute($ai);
830                    $runtime.sendText(super._cookie, $value);
831                }
832                else {
833                    $_ngcc_current_state = 28;
834                    $runtime.sendText(super._cookie, $value);
835                }
836            }
837            break;
838        case 0:
839            {
840                revertToParentFromText(makeResult(), super._cookie, $value);
841            }
842            break;
843        case 6:
844            {
845                NGCCHandler h = new qname(this, super._source, $runtime, 10);
846                spawnChildFromText(h, $value);
847            }
848            break;
849        case 24:
850            {
851                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
852                    $runtime.consumeAttribute($ai);
853                    $runtime.sendText(super._cookie, $value);
854                }
855                else {
856                    $_ngcc_current_state = 23;
857                    $runtime.sendText(super._cookie, $value);
858                }
859            }
860            break;
861        case 11:
862            {
863                $_ngcc_current_state = 3;
864                $runtime.sendText(super._cookie, $value);
865            }
866            break;
867        case 23:
868            {
869                if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
870                    $runtime.consumeAttribute($ai);
871                    $runtime.sendText(super._cookie, $value);
872                }
873            }
874            break;
875        case 44:
876            {
877                if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
878                    $runtime.consumeAttribute($ai);
879                    $runtime.sendText(super._cookie, $value);
880                }
881                else {
882                    $_ngcc_current_state = 40;
883                    $runtime.sendText(super._cookie, $value);
884                }
885            }
886            break;
887        case 46:
888            {
889                abstractValue = $value;
890                $_ngcc_current_state = 45;
891            }
892            break;
893        case 19:
894            {
895                nillable = $value;
896                $_ngcc_current_state = 18;
897            }
898            break;
899        case 40:
900            {
901                if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
902                    $runtime.consumeAttribute($ai);
903                    $runtime.sendText(super._cookie, $value);
904                }
905                else {
906                    $_ngcc_current_state = 36;
907                    $runtime.sendText(super._cookie, $value);
908                }
909            }
910            break;
911        case 48:
912            {
913                if(($ai = $runtime.getAttributeIndex("","abstract"))>=0) {
914                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 69, fa);
915                    spawnChildFromText(h, $value);
916                }
917                else {
918                    if(($ai = $runtime.getAttributeIndex("","name"))>=0) {
919                        NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 69, fa);
920                        spawnChildFromText(h, $value);
921                    }
922                    else {
923                        if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
924                            NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 69, fa);
925                            spawnChildFromText(h, $value);
926                        }
927                        else {
928                            if(($ai = $runtime.getAttributeIndex("","block"))>=0) {
929                                NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 69, fa);
930                                spawnChildFromText(h, $value);
931                            }
932                            else {
933                                if(($ai = $runtime.getAttributeIndex("","form"))>=0) {
934                                    NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 69, fa);
935                                    spawnChildFromText(h, $value);
936                                }
937                                else {
938                                    if(($ai = $runtime.getAttributeIndex("","fixed"))>=0) {
939                                        NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 69, fa);
940                                        spawnChildFromText(h, $value);
941                                    }
942                                    else {
943                                        if(($ai = $runtime.getAttributeIndex("","default"))>=0) {
944                                            NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 69, fa);
945                                            spawnChildFromText(h, $value);
946                                        }
947                                    }
948                                }
949                            }
950                        }
951                    }
952                }
953            }
954            break;
955        case 30:
956            {
957                fixedValue = $value;
958                $_ngcc_current_state = 29;
959            }
960            break;
961        case 1:
962            {
963                $_ngcc_current_state = 0;
964                $runtime.sendText(super._cookie, $value);
965            }
966            break;
967        case 3:
968            {
969                if(($ai = $runtime.getAttributeIndex("","type"))>=0) {
970                    $runtime.consumeAttribute($ai);
971                    $runtime.sendText(super._cookie, $value);
972                }
973                else {
974                    $_ngcc_current_state = 1;
975                    $runtime.sendText(super._cookie, $value);
976                }
977            }
978            break;
979        case 13:
980            {
981                if(($ai = $runtime.getAttributeIndex("","substitutionGroup"))>=0) {
982                    $runtime.consumeAttribute($ai);
983                    $runtime.sendText(super._cookie, $value);
984                }
985                else {
986                    $_ngcc_current_state = 11;
987                    $runtime.sendText(super._cookie, $value);
988                }
989            }
990            break;
991        case 38:
992            {
993                NGCCHandler h = new erSet(this, super._source, $runtime, 55);
994                spawnChildFromText(h, $value);
995            }
996            break;
997        case 15:
998            {
999                NGCCHandler h = new qname(this, super._source, $runtime, 27);
1000                spawnChildFromText(h, $value);
1001            }
1002            break;
1003        case 26:
1004            {
1005                if($value.equals("unqualified")) {
1006                    NGCCHandler h = new qualification(this, super._source, $runtime, 40);
1007                    spawnChildFromText(h, $value);
1008                }
1009                else {
1010                    if($value.equals("qualified")) {
1011                        NGCCHandler h = new qualification(this, super._source, $runtime, 40);
1012                        spawnChildFromText(h, $value);
1013                    }
1014                }
1015            }
1016            break;
1017        case 36:
1018            {
1019                if(($ai = $runtime.getAttributeIndex("","final"))>=0) {
1020                    $runtime.consumeAttribute($ai);
1021                    $runtime.sendText(super._cookie, $value);
1022                }
1023                else {
1024                    $_ngcc_current_state = 32;
1025                    $runtime.sendText(super._cookie, $value);
1026                }
1027            }
1028            break;
1029        case 42:
1030            {
1031                NGCCHandler h = new ersSet(this, super._source, $runtime, 60);
1032                spawnChildFromText(h, $value);
1033            }
1034            break;
1035        }
1036    }
1037
1038    public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
1039        switch($__cookie__) {
1040        case 24:
1041            {
1042                annotation = ((AnnotationImpl)$__result__);
1043                $_ngcc_current_state = 3;
1044            }
1045            break;
1046        case 27:
1047            {
1048                substRef = ((UName)$__result__);
1049                action2();
1050                $_ngcc_current_state = 14;
1051            }
1052            break;
1053        case 10:
1054            {
1055                typeName = ((UName)$__result__);
1056                $_ngcc_current_state = 5;
1057            }
1058            break;
1059        case 60:
1060            {
1061                blockValue = ((Integer)$__result__);
1062                $_ngcc_current_state = 41;
1063            }
1064            break;
1065        case 69:
1066            {
1067                fa = ((ForeignAttributesImpl)$__result__);
1068                $_ngcc_current_state = 44;
1069            }
1070            break;
1071        case 19:
1072            {
1073                type = ((SimpleTypeImpl)$__result__);
1074                $_ngcc_current_state = 1;
1075            }
1076            break;
1077        case 20:
1078            {
1079                type = ((ComplexTypeImpl)$__result__);
1080                $_ngcc_current_state = 1;
1081            }
1082            break;
1083        case 40:
1084            {
1085                form = ((Boolean)$__result__).booleanValue();
1086                action3();
1087                $_ngcc_current_state = 25;
1088            }
1089            break;
1090        case 6:
1091            {
1092                idc = ((IdentityConstraintImpl)$__result__);
1093                action0();
1094                $_ngcc_current_state = 0;
1095            }
1096            break;
1097        case 7:
1098            {
1099                idc = ((IdentityConstraintImpl)$__result__);
1100                action0();
1101                $_ngcc_current_state = 0;
1102            }
1103            break;
1104        case 55:
1105            {
1106                finalValue = ((Integer)$__result__);
1107                $_ngcc_current_state = 37;
1108            }
1109            break;
1110        }
1111    }
1112
1113    public boolean accepted() {
1114        return((($_ngcc_current_state == 1) || (($_ngcc_current_state == 0) || (($_ngcc_current_state == 3) || (($_ngcc_current_state == 17) || (($_ngcc_current_state == 13) || ($_ngcc_current_state == 11)))))));
1115    }
1116
1117
1118      private boolean form;
1119      private boolean formSpecified;
1120      private Ref.Type type;
1121      private List idcs = new ArrayList();  // identity constraints
1122
1123      private DelayedRef.Element substHeadRef;
1124
1125      private ElementDecl makeResult() {
1126        if(finalValue==null)
1127          finalValue = new Integer($runtime.finalDefault);
1128        if(blockValue==null)
1129          blockValue = new Integer($runtime.blockDefault);
1130
1131        if(!formSpecified)
1132          form = $runtime.elementFormDefault;
1133        if(isGlobal)  // global elements are always qualified
1134          form = true;
1135
1136        String tns;
1137        if(form)    tns = $runtime.currentSchema.getTargetNamespace();
1138        else        tns = "";
1139
1140        if( type==null ) {
1141                if( substHeadRef!=null )
1142                        type = new SubstGroupBaseTypeRef(substHeadRef);
1143                else
1144                        type = $runtime.parser.schemaSet.anyType;
1145        }
1146
1147        ElementDecl ed = new ElementDecl(
1148            $runtime,
1149            $runtime.document,
1150            annotation,
1151            locator,
1152            fa,
1153            tns,
1154            name,
1155            !isGlobal,
1156            $runtime.createXmlString(defaultValue),
1157            $runtime.createXmlString(fixedValue),
1158            $runtime.parseBoolean(nillable),
1159            $runtime.parseBoolean(abstractValue),
1160            (java.lang.Boolean)(formSpecified ? form : null),
1161            type,
1162            substHeadRef,
1163            blockValue.intValue(),
1164            finalValue.intValue(),
1165            idcs);
1166
1167        // if this element has anonymous complex type, it will be set here.
1168        if(type instanceof ComplexTypeImpl)
1169          ((ComplexTypeImpl)type).setScope(ed);
1170        return ed;
1171      }
1172
1173}
1174