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