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