001: /* this file is generated by RelaxNGCC */
002: package com.sun.xml.xsom.impl.parser.state;
003:
004: import org.xml.sax.SAXException;
005: import org.xml.sax.XMLReader;
006: import org.xml.sax.Attributes;
007: import com.sun.xml.xsom.impl.parser.NGCCRuntimeEx;
008:
009: import com.sun.xml.xsom.*;
010: import com.sun.xml.xsom.parser.*;
011: import com.sun.xml.xsom.impl.*;
012: import com.sun.xml.xsom.impl.parser.*;
013: import org.xml.sax.Locator;
014: import org.xml.sax.ContentHandler;
015: import org.xml.sax.helpers.*;
016: import java.util.*;
017:
018: import java.util.Vector;
019:
020: class SimpleType_Union extends NGCCHandler {
021: private Locator locator;
022: private AnnotationImpl annotation;
023: private String __text;
024: private UName memberTypeName;
025: private String name;
026: private Set finalSet;
027: private ForeignAttributesImpl fa;
028: private SimpleTypeImpl anonymousMemberType;
029: protected final NGCCRuntimeEx $runtime;
030: private int $_ngcc_current_state;
031: protected String $uri;
032: protected String $localName;
033: protected String $qname;
034:
035: public final NGCCRuntime getRuntime() {
036: return ($runtime);
037: }
038:
039: public SimpleType_Union(NGCCHandler parent, NGCCEventSource source,
040: NGCCRuntimeEx runtime, int cookie,
041: AnnotationImpl _annotation, Locator _locator,
042: ForeignAttributesImpl _fa, String _name, Set _finalSet) {
043: super (source, parent, cookie);
044: $runtime = runtime;
045: this .annotation = _annotation;
046: this .locator = _locator;
047: this .fa = _fa;
048: this .name = _name;
049: this .finalSet = _finalSet;
050: $_ngcc_current_state = 12;
051: }
052:
053: public SimpleType_Union(NGCCRuntimeEx runtime,
054: AnnotationImpl _annotation, Locator _locator,
055: ForeignAttributesImpl _fa, String _name, Set _finalSet) {
056: this (null, runtime, runtime, -1, _annotation, _locator, _fa,
057: _name, _finalSet);
058: }
059:
060: private void action0() throws SAXException {
061:
062: result = new UnionSimpleTypeImpl($runtime.document, annotation,
063: locator, fa, name, name == null, finalSet,
064: (Ref.SimpleType[]) members
065: .toArray(new Ref.SimpleType[members.size()]));
066:
067: }
068:
069: private void action1() throws SAXException {
070:
071: members.add(anonymousMemberType);
072:
073: }
074:
075: private void action2() throws SAXException {
076:
077: members.add(new DelayedRef.SimpleType($runtime, uloc,
078: $runtime.currentSchema, memberTypeName));
079:
080: }
081:
082: private void action3() throws SAXException {
083: $runtime.processList(__text);
084: }
085:
086: private void action4() throws SAXException {
087: uloc = $runtime.copyLocator();
088: }
089:
090: public void enterElement(String $__uri, String $__local,
091: String $__qname, Attributes $attrs) throws SAXException {
092: int $ai;
093: $uri = $__uri;
094: $localName = $__local;
095: $qname = $__qname;
096: switch ($_ngcc_current_state) {
097: case 4: {
098: if (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local
099: .equals("annotation"))) {
100: NGCCHandler h = new annotation(this , super ._source,
101: $runtime, 191, annotation,
102: AnnotationContext.SIMPLETYPE_DECL);
103: spawnChildFromEnterElement(h, $__uri, $__local,
104: $__qname, $attrs);
105: } else {
106: $_ngcc_current_state = 2;
107: $runtime.sendEnterElement(super ._cookie, $__uri,
108: $__local, $__qname, $attrs);
109: }
110: }
111: break;
112: case 2: {
113: if (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local
114: .equals("simpleType"))) {
115: NGCCHandler h = new simpleType(this , super ._source,
116: $runtime, 188);
117: spawnChildFromEnterElement(h, $__uri, $__local,
118: $__qname, $attrs);
119: } else {
120: $_ngcc_current_state = 1;
121: $runtime.sendEnterElement(super ._cookie, $__uri,
122: $__local, $__qname, $attrs);
123: }
124: }
125: break;
126: case 6: {
127: if ((($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local
128: .equals("annotation")) || ($__uri
129: .equals("http://www.w3.org/2001/XMLSchema") && $__local
130: .equals("simpleType")))) {
131: NGCCHandler h = new foreignAttributes(this ,
132: super ._source, $runtime, 193, fa);
133: spawnChildFromEnterElement(h, $__uri, $__local,
134: $__qname, $attrs);
135: } else {
136: unexpectedEnterElement($__qname);
137: }
138: }
139: break;
140: case 7: {
141: if (($ai = $runtime.getAttributeIndex("", "memberTypes")) >= 0) {
142: $runtime.consumeAttribute($ai);
143: $runtime.sendEnterElement(super ._cookie, $__uri,
144: $__local, $__qname, $attrs);
145: } else {
146: $_ngcc_current_state = 6;
147: $runtime.sendEnterElement(super ._cookie, $__uri,
148: $__local, $__qname, $attrs);
149: }
150: }
151: break;
152: case 1: {
153: if (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local
154: .equals("simpleType"))) {
155: NGCCHandler h = new simpleType(this , super ._source,
156: $runtime, 187);
157: spawnChildFromEnterElement(h, $__uri, $__local,
158: $__qname, $attrs);
159: } else {
160: unexpectedEnterElement($__qname);
161: }
162: }
163: break;
164: case 12: {
165: if (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local
166: .equals("union"))) {
167: $runtime.onEnterElementConsumed($__uri, $__local,
168: $__qname, $attrs);
169: action4();
170: $_ngcc_current_state = 7;
171: } else {
172: unexpectedEnterElement($__qname);
173: }
174: }
175: break;
176: case 0: {
177: revertToParentFromEnterElement(result, super ._cookie,
178: $__uri, $__local, $__qname, $attrs);
179: }
180: break;
181: default: {
182: unexpectedEnterElement($__qname);
183: }
184: break;
185: }
186: }
187:
188: public void leaveElement(String $__uri, String $__local,
189: String $__qname) throws SAXException {
190: int $ai;
191: $uri = $__uri;
192: $localName = $__local;
193: $qname = $__qname;
194: switch ($_ngcc_current_state) {
195: case 4: {
196: $_ngcc_current_state = 2;
197: $runtime.sendLeaveElement(super ._cookie, $__uri, $__local,
198: $__qname);
199: }
200: break;
201: case 2: {
202: $_ngcc_current_state = 1;
203: $runtime.sendLeaveElement(super ._cookie, $__uri, $__local,
204: $__qname);
205: }
206: break;
207: case 6: {
208: if (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local
209: .equals("union"))) {
210: NGCCHandler h = new foreignAttributes(this ,
211: super ._source, $runtime, 193, fa);
212: spawnChildFromLeaveElement(h, $__uri, $__local,
213: $__qname);
214: } else {
215: unexpectedLeaveElement($__qname);
216: }
217: }
218: break;
219: case 7: {
220: if (($ai = $runtime.getAttributeIndex("", "memberTypes")) >= 0) {
221: $runtime.consumeAttribute($ai);
222: $runtime.sendLeaveElement(super ._cookie, $__uri,
223: $__local, $__qname);
224: } else {
225: $_ngcc_current_state = 6;
226: $runtime.sendLeaveElement(super ._cookie, $__uri,
227: $__local, $__qname);
228: }
229: }
230: break;
231: case 1: {
232: if (($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local
233: .equals("union"))) {
234: $runtime.onLeaveElementConsumed($__uri, $__local,
235: $__qname);
236: $_ngcc_current_state = 0;
237: action0();
238: } else {
239: unexpectedLeaveElement($__qname);
240: }
241: }
242: break;
243: case 0: {
244: revertToParentFromLeaveElement(result, super ._cookie,
245: $__uri, $__local, $__qname);
246: }
247: break;
248: default: {
249: unexpectedLeaveElement($__qname);
250: }
251: break;
252: }
253: }
254:
255: public void enterAttribute(String $__uri, String $__local,
256: String $__qname) throws SAXException {
257: int $ai;
258: $uri = $__uri;
259: $localName = $__local;
260: $qname = $__qname;
261: switch ($_ngcc_current_state) {
262: case 4: {
263: $_ngcc_current_state = 2;
264: $runtime.sendEnterAttribute(super ._cookie, $__uri,
265: $__local, $__qname);
266: }
267: break;
268: case 2: {
269: $_ngcc_current_state = 1;
270: $runtime.sendEnterAttribute(super ._cookie, $__uri,
271: $__local, $__qname);
272: }
273: break;
274: case 7: {
275: if (($__uri.equals("") && $__local.equals("memberTypes"))) {
276: $_ngcc_current_state = 10;
277: } else {
278: $_ngcc_current_state = 6;
279: $runtime.sendEnterAttribute(super ._cookie, $__uri,
280: $__local, $__qname);
281: }
282: }
283: break;
284: case 0: {
285: revertToParentFromEnterAttribute(result, super ._cookie,
286: $__uri, $__local, $__qname);
287: }
288: break;
289: default: {
290: unexpectedEnterAttribute($__qname);
291: }
292: break;
293: }
294: }
295:
296: public void leaveAttribute(String $__uri, String $__local,
297: String $__qname) throws SAXException {
298: int $ai;
299: $uri = $__uri;
300: $localName = $__local;
301: $qname = $__qname;
302: switch ($_ngcc_current_state) {
303: case 4: {
304: $_ngcc_current_state = 2;
305: $runtime.sendLeaveAttribute(super ._cookie, $__uri,
306: $__local, $__qname);
307: }
308: break;
309: case 2: {
310: $_ngcc_current_state = 1;
311: $runtime.sendLeaveAttribute(super ._cookie, $__uri,
312: $__local, $__qname);
313: }
314: break;
315: case 7: {
316: $_ngcc_current_state = 6;
317: $runtime.sendLeaveAttribute(super ._cookie, $__uri,
318: $__local, $__qname);
319: }
320: break;
321: case 8: {
322: if (($__uri.equals("") && $__local.equals("memberTypes"))) {
323: $_ngcc_current_state = 6;
324: } else {
325: unexpectedLeaveAttribute($__qname);
326: }
327: }
328: break;
329: case 0: {
330: revertToParentFromLeaveAttribute(result, super ._cookie,
331: $__uri, $__local, $__qname);
332: }
333: break;
334: default: {
335: unexpectedLeaveAttribute($__qname);
336: }
337: break;
338: }
339: }
340:
341: public void text(String $value) throws SAXException {
342: int $ai;
343: switch ($_ngcc_current_state) {
344: case 4: {
345: $_ngcc_current_state = 2;
346: $runtime.sendText(super ._cookie, $value);
347: }
348: break;
349: case 9: {
350: NGCCHandler h = new qname(this , super ._source, $runtime,
351: 195);
352: spawnChildFromText(h, $value);
353: }
354: break;
355: case 2: {
356: $_ngcc_current_state = 1;
357: $runtime.sendText(super ._cookie, $value);
358: }
359: break;
360: case 10: {
361: __text = $value;
362: $_ngcc_current_state = 9;
363: action3();
364: }
365: break;
366: case 7: {
367: if (($ai = $runtime.getAttributeIndex("", "memberTypes")) >= 0) {
368: $runtime.consumeAttribute($ai);
369: $runtime.sendText(super ._cookie, $value);
370: } else {
371: $_ngcc_current_state = 6;
372: $runtime.sendText(super ._cookie, $value);
373: }
374: }
375: break;
376: case 8: {
377: NGCCHandler h = new qname(this , super ._source, $runtime,
378: 196);
379: spawnChildFromText(h, $value);
380: }
381: break;
382: case 0: {
383: revertToParentFromText(result, super ._cookie, $value);
384: }
385: break;
386: }
387: }
388:
389: public void onChildCompleted(Object $__result__, int $__cookie__,
390: boolean $__needAttCheck__) throws SAXException {
391: switch ($__cookie__) {
392: case 188: {
393: anonymousMemberType = ((SimpleTypeImpl) $__result__);
394: action1();
395: $_ngcc_current_state = 1;
396: }
397: break;
398: case 196: {
399: memberTypeName = ((UName) $__result__);
400: action2();
401: $_ngcc_current_state = 8;
402: }
403: break;
404: case 191: {
405: annotation = ((AnnotationImpl) $__result__);
406: $_ngcc_current_state = 2;
407: }
408: break;
409: case 195: {
410: memberTypeName = ((UName) $__result__);
411: action2();
412: $_ngcc_current_state = 8;
413: }
414: break;
415: case 193: {
416: fa = ((ForeignAttributesImpl) $__result__);
417: $_ngcc_current_state = 4;
418: }
419: break;
420: case 187: {
421: anonymousMemberType = ((SimpleTypeImpl) $__result__);
422: action1();
423: $_ngcc_current_state = 1;
424: }
425: break;
426: }
427: }
428:
429: public boolean accepted() {
430: return (($_ngcc_current_state == 0));
431: }
432:
433: /** computed simple type object */
434: private UnionSimpleTypeImpl result;
435:
436: // Vector of Ref.SimpleType
437: private final Vector members = new Vector();
438:
439: // locator of <union>
440: private Locator uloc;
441:
442: }
|