Thu, 31 Aug 2017 15:18:52 +0800
merge
1 /*
2 * Copyright (c) 1997, 2011, 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;
28 import org.xml.sax.SAXException;
29 import org.xml.sax.XMLReader;
30 import org.xml.sax.Attributes;
31 import com.sun.xml.internal.xsom.impl.parser.NGCCRuntimeEx;
33 import com.sun.xml.internal.xsom.*;
34 import com.sun.xml.internal.xsom.parser.*;
35 import com.sun.xml.internal.xsom.impl.*;
36 import com.sun.xml.internal.xsom.impl.parser.*;
37 import org.xml.sax.Locator;
38 import org.xml.sax.ContentHandler;
39 import org.xml.sax.helpers.*;
40 import java.util.*;
41 import java.math.BigInteger;
45 class xpath extends NGCCHandler {
46 private String xpath;
47 private ForeignAttributesImpl fa;
48 private AnnotationImpl ann;
49 protected final NGCCRuntimeEx $runtime;
50 private int $_ngcc_current_state;
51 protected String $uri;
52 protected String $localName;
53 protected String $qname;
55 public final NGCCRuntime getRuntime() {
56 return($runtime);
57 }
59 public xpath(NGCCHandler parent, NGCCEventSource source, NGCCRuntimeEx runtime, int cookie) {
60 super(source, parent, cookie);
61 $runtime = runtime;
62 $_ngcc_current_state = 6;
63 }
65 public xpath(NGCCRuntimeEx runtime) {
66 this(null, runtime, runtime, -1);
67 }
69 public void enterElement(String $__uri, String $__local, String $__qname, Attributes $attrs) throws SAXException {
70 int $ai;
71 $uri = $__uri;
72 $localName = $__local;
73 $qname = $__qname;
74 switch($_ngcc_current_state) {
75 case 0:
76 {
77 revertToParentFromEnterElement(makeResult(), super._cookie, $__uri, $__local, $__qname, $attrs);
78 }
79 break;
80 case 6:
81 {
82 if((($ai = $runtime.getAttributeIndex("","xpath"))>=0 && ($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation")))) {
83 NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 77, null);
84 spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
85 }
86 else {
87 unexpectedEnterElement($__qname);
88 }
89 }
90 break;
91 case 1:
92 {
93 if(($__uri.equals("http://www.w3.org/2001/XMLSchema") && $__local.equals("annotation"))) {
94 NGCCHandler h = new annotation(this, super._source, $runtime, 72, null,AnnotationContext.XPATH);
95 spawnChildFromEnterElement(h, $__uri, $__local, $__qname, $attrs);
96 }
97 else {
98 $_ngcc_current_state = 0;
99 $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
100 }
101 }
102 break;
103 case 5:
104 {
105 if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
106 $runtime.consumeAttribute($ai);
107 $runtime.sendEnterElement(super._cookie, $__uri, $__local, $__qname, $attrs);
108 }
109 else {
110 unexpectedEnterElement($__qname);
111 }
112 }
113 break;
114 default:
115 {
116 unexpectedEnterElement($__qname);
117 }
118 break;
119 }
120 }
122 public void leaveElement(String $__uri, String $__local, String $__qname) throws SAXException {
123 int $ai;
124 $uri = $__uri;
125 $localName = $__local;
126 $qname = $__qname;
127 switch($_ngcc_current_state) {
128 case 0:
129 {
130 revertToParentFromLeaveElement(makeResult(), super._cookie, $__uri, $__local, $__qname);
131 }
132 break;
133 case 6:
134 {
135 if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
136 NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 77, null);
137 spawnChildFromLeaveElement(h, $__uri, $__local, $__qname);
138 }
139 else {
140 unexpectedLeaveElement($__qname);
141 }
142 }
143 break;
144 case 1:
145 {
146 $_ngcc_current_state = 0;
147 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
148 }
149 break;
150 case 5:
151 {
152 if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
153 $runtime.consumeAttribute($ai);
154 $runtime.sendLeaveElement(super._cookie, $__uri, $__local, $__qname);
155 }
156 else {
157 unexpectedLeaveElement($__qname);
158 }
159 }
160 break;
161 default:
162 {
163 unexpectedLeaveElement($__qname);
164 }
165 break;
166 }
167 }
169 public void enterAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
170 int $ai;
171 $uri = $__uri;
172 $localName = $__local;
173 $qname = $__qname;
174 switch($_ngcc_current_state) {
175 case 0:
176 {
177 revertToParentFromEnterAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
178 }
179 break;
180 case 6:
181 {
182 if(($__uri.equals("") && $__local.equals("xpath"))) {
183 NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 77, null);
184 spawnChildFromEnterAttribute(h, $__uri, $__local, $__qname);
185 }
186 else {
187 unexpectedEnterAttribute($__qname);
188 }
189 }
190 break;
191 case 1:
192 {
193 $_ngcc_current_state = 0;
194 $runtime.sendEnterAttribute(super._cookie, $__uri, $__local, $__qname);
195 }
196 break;
197 case 5:
198 {
199 if(($__uri.equals("") && $__local.equals("xpath"))) {
200 $_ngcc_current_state = 4;
201 }
202 else {
203 unexpectedEnterAttribute($__qname);
204 }
205 }
206 break;
207 default:
208 {
209 unexpectedEnterAttribute($__qname);
210 }
211 break;
212 }
213 }
215 public void leaveAttribute(String $__uri, String $__local, String $__qname) throws SAXException {
216 int $ai;
217 $uri = $__uri;
218 $localName = $__local;
219 $qname = $__qname;
220 switch($_ngcc_current_state) {
221 case 0:
222 {
223 revertToParentFromLeaveAttribute(makeResult(), super._cookie, $__uri, $__local, $__qname);
224 }
225 break;
226 case 1:
227 {
228 $_ngcc_current_state = 0;
229 $runtime.sendLeaveAttribute(super._cookie, $__uri, $__local, $__qname);
230 }
231 break;
232 case 3:
233 {
234 if(($__uri.equals("") && $__local.equals("xpath"))) {
235 $_ngcc_current_state = 1;
236 }
237 else {
238 unexpectedLeaveAttribute($__qname);
239 }
240 }
241 break;
242 default:
243 {
244 unexpectedLeaveAttribute($__qname);
245 }
246 break;
247 }
248 }
250 public void text(String $value) throws SAXException {
251 int $ai;
252 switch($_ngcc_current_state) {
253 case 4:
254 {
255 xpath = $value;
256 $_ngcc_current_state = 3;
257 }
258 break;
259 case 0:
260 {
261 revertToParentFromText(makeResult(), super._cookie, $value);
262 }
263 break;
264 case 6:
265 {
266 if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
267 NGCCHandler h = new foreignAttributes(this, super._source, $runtime, 77, null);
268 spawnChildFromText(h, $value);
269 }
270 }
271 break;
272 case 1:
273 {
274 $_ngcc_current_state = 0;
275 $runtime.sendText(super._cookie, $value);
276 }
277 break;
278 case 5:
279 {
280 if(($ai = $runtime.getAttributeIndex("","xpath"))>=0) {
281 $runtime.consumeAttribute($ai);
282 $runtime.sendText(super._cookie, $value);
283 }
284 }
285 break;
286 }
287 }
289 public void onChildCompleted(Object $__result__, int $__cookie__, boolean $__needAttCheck__)throws SAXException {
290 switch($__cookie__) {
291 case 77:
292 {
293 fa = ((ForeignAttributesImpl)$__result__);
294 $_ngcc_current_state = 5;
295 }
296 break;
297 case 72:
298 {
299 ann = ((AnnotationImpl)$__result__);
300 $_ngcc_current_state = 0;
301 }
302 break;
303 }
304 }
306 public boolean accepted() {
307 return((($_ngcc_current_state == 1) || ($_ngcc_current_state == 0)));
308 }
311 private XPathImpl makeResult() {
312 return new XPathImpl($runtime.document,ann,$runtime.copyLocator(),fa,
313 $runtime.createXmlString(xpath));
314 }
316 }