View Javadoc
1   /* Generated By:JavaCC: Do not edit this line. DTDParser.java */
2   package org.exolab.castor.xml.dtd.parser;
3   
4   import org.exolab.castor.xml.dtd.*;
5   
6   /**
7    * Main XML DTD parser. Parses DTD documents with <b>parameter entity
8    * references</b> already substituted by corresponding <b>replacement text</b>.
9    * Constructs DTD document object.
10   * @author <a href="mailto:totok@intalio.com">Alexander Totok</a>
11   * @version $Revision$ $Date: 2005-12-13 14:58:48 -0700 (Tue, 13 Dec 2005) $
12   */
13  public class DTDParser implements DTDParserConstants {
14  
15  /**
16   * Main parsing method that starts parsing process.
17   * @return corresponding DTD document object.
18   */
19    final public DTDdocument Input() throws ParseException, DTDException {
20     DTDdocument document = new DTDdocument();
21      if (jj_2_1(3)) {
22        jj_consume_token(S);
23      } else {
24        // ;
25      }
26      label_1:
27      while (true) {
28        if (jj_2_2(3)) {
29          // ;
30        } else {
31          break label_1;
32        }
33        if (jj_2_8(3)) {
34          ElementDecl(document);
35          if (jj_2_3(3)) {
36            jj_consume_token(S);
37          } else {
38            // ;
39          }
40        } else if (jj_2_9(3)) {
41          AttlistDecl(document);
42          if (jj_2_4(3)) {
43            jj_consume_token(S);
44          } else {
45            // ;
46          }
47        } else if (jj_2_10(3)) {
48          GEntityDecl(document);
49          if (jj_2_5(3)) {
50            jj_consume_token(S);
51          } else {
52            // ;
53          }
54        } else if (jj_2_11(3)) {
55          NotationDecl(document);
56          if (jj_2_6(3)) {
57            jj_consume_token(S);
58          } else {
59            // ;
60          }
61        } else if (jj_2_12(3)) {
62          Comment();
63          if (jj_2_7(3)) {
64            jj_consume_token(S);
65          } else {
66            ;
67          }
68        } else {
69          jj_consume_token(-1);
70          throw new ParseException();
71        }
72      }
73      jj_consume_token(0);
74       {if (true) return document;}
75      throw new Error("Missing return statement in function");
76    }
77  
78  /**
79   * Parsing procedure corresponding to the <b>Element Declaration</b> nonterminal.
80   * @param document DTD document to add this <b>Element Declaration</b> to.
81   */
82    final public void ElementDecl(DTDdocument document) throws ParseException, DTDException {
83     Token token;
84     Element element = new Element(document);
85     ContentParticle cp;
86      jj_consume_token(BEGIN_ELEMENT_DECL);
87      jj_consume_token(S);
88      token = jj_consume_token(NAME);
89                      element.setName(token.image);
90      jj_consume_token(S);
91      if (jj_2_16(3)) {
92        jj_consume_token(ANY);
93                element.setAnyContent();
94      } else if (jj_2_17(3)) {
95        jj_consume_token(EMPTY);
96                  element.setEmptyContent();
97      } else if (jj_2_18(3)) {
98        if (jj_2_14(3)) {
99          Mixed(element);
100       } else if (jj_2_15(3)) {
101         cp = SeqOrChoiceContPart();
102         if (jj_2_13(3)) {
103           OccuranceSpecification(cp);
104         } else {
105           ;
106         }
107            element.setElemOnlyContent(cp);
108       } else {
109         jj_consume_token(-1);
110         throw new ParseException();
111       }
112     } else {
113       jj_consume_token(-1);
114       throw new ParseException();
115     }
116     if (jj_2_19(3)) {
117       jj_consume_token(S);
118     } else {
119       ;
120     }
121     jj_consume_token(END_ELEMENT_DECL);
122      document.addElement(element);
123   }
124 
125 /**
126  * Parsing procedure corresponding to the <b>Mixed Element Content</b>
127  * nonterminal.
128  * @param element <b>Element</b> which content is being defined.
129  */
130   final public void Mixed(Element element) throws ParseException, DTDException {
131    Token token;
132     jj_consume_token(LEFT_PAREN);
133     if (jj_2_20(3)) {
134       jj_consume_token(S);
135     } else {
136       ;
137     }
138     jj_consume_token(PCDATA);
139     if (jj_2_21(3)) {
140       jj_consume_token(S);
141     } else {
142       ;
143     }
144                                           element.setMixedContent();
145     if (jj_2_25(3)) {
146       label_2:
147       while (true) {
148         jj_consume_token(OR);
149         if (jj_2_22(3)) {
150           jj_consume_token(S);
151         } else {
152           ;
153         }
154         token = jj_consume_token(NAME);
155         if (jj_2_23(3)) {
156           jj_consume_token(S);
157         } else {
158           ;
159         }
160            element.addMixedContentChild(token.image);
161         if (jj_2_24(3)) {
162           ;
163         } else {
164           break label_2;
165         }
166       }
167       jj_consume_token(RIGHT_PAREN);
168       jj_consume_token(STAR);
169     } else if (jj_2_26(3)) {
170       jj_consume_token(RIGHT_PAREN);
171     } else {
172       jj_consume_token(-1);
173       throw new ParseException();
174     }
175   }
176 
177 /**
178  * Parsing procedure corresponding to the <b>Content Particle</b> nonterminal.
179  * @return corresponding <b>Content Particle</b> object.
180  */
181   final public ContentParticle ContPart() throws ParseException {
182    ContentParticle cp;
183    Token token;
184     if (jj_2_27(3)) {
185       token = jj_consume_token(NAME);
186                        cp = new ContentParticle(token.image);
187     } else if (jj_2_28(3)) {
188       cp = SeqOrChoiceContPart();
189     } else {
190       jj_consume_token(-1);
191       throw new ParseException();
192     }
193     if (jj_2_29(3)) {
194       OccuranceSpecification(cp);
195     } else {
196       ;
197     }
198      {if (true) return cp;}
199     throw new Error("Missing return statement in function");
200   }
201 
202 /**
203  * Parsing procedure corresponding to the <b>Content Particle</b> nonterminal
204  * of the partial form: choice list of content particles, or sequence list
205  * of content particles.
206  * @return corresponding <b>Content Particle</b> object.
207  */
208   final public ContentParticle SeqOrChoiceContPart() throws ParseException {
209    ContentParticle cp = new ContentParticle();
210    ContentParticle auxilCP;
211     jj_consume_token(LEFT_PAREN);
212     if (jj_2_30(3)) {
213       jj_consume_token(S);
214     } else {
215       ;
216     }
217     auxilCP = ContPart();
218     if (jj_2_31(3)) {
219       jj_consume_token(S);
220     } else {
221       ;
222     }
223     if (jj_2_38(3)) {
224       label_3:
225       while (true) {
226         jj_consume_token(OR);
227                 cp.addChild(auxilCP);
228         if (jj_2_32(3)) {
229           jj_consume_token(S);
230         } else {
231           ;
232         }
233         auxilCP = ContPart();
234         if (jj_2_33(3)) {
235           jj_consume_token(S);
236         } else {
237           ;
238         }
239         if (jj_2_34(3)) {
240           ;
241         } else {
242           break label_3;
243         }
244       }
245         cp.addChild(auxilCP); cp.setChoiceType();
246       jj_consume_token(RIGHT_PAREN);
247     } else if (jj_2_39(3)) {
248       label_4:
249       while (true) {
250         jj_consume_token(AND);
251                  cp.addChild(auxilCP);
252         if (jj_2_35(3)) {
253           jj_consume_token(S);
254         } else {
255           ;
256         }
257         auxilCP = ContPart();
258         if (jj_2_36(3)) {
259           jj_consume_token(S);
260         } else {
261           ;
262         }
263         if (jj_2_37(3)) {
264           ;
265         } else {
266           break label_4;
267         }
268       }
269         cp.addChild(auxilCP); cp.setSeqType();
270       jj_consume_token(RIGHT_PAREN);
271     } else if (jj_2_40(3)) {
272       jj_consume_token(RIGHT_PAREN);
273                       cp = auxilCP;
274     } else {
275       jj_consume_token(-1);
276       throw new ParseException();
277     }
278      {if (true) return cp;}
279     throw new Error("Missing return statement in function");
280   }
281 
282 /**
283  * Method to parse occurance specification of a <b>Content Particle</b>,
284  * that is "?", "*" or "+".
285  * @param cp <b>Content Particle</b> being processed.
286  */
287   final public void OccuranceSpecification(ContentParticle cp) throws ParseException {
288     if (jj_2_41(3)) {
289       jj_consume_token(STAR);
290                cp.setZeroOrMoreOccurances();
291     } else if (jj_2_42(3)) {
292       jj_consume_token(PLUS);
293          if (cp.isOneOccurance() || cp.isOneOrMoreOccurances())
294          cp.setOneOrMoreOccurances();
295          else cp.setZeroOrMoreOccurances();
296     } else if (jj_2_43(3)) {
297       jj_consume_token(QUESTION);
298          if (cp.isOneOccurance() || cp.isZeroOrOneOccurance())
299          cp.setZeroOrOneOccurance();
300          else cp.setZeroOrMoreOccurances();
301     } else {
302       jj_consume_token(-1);
303       throw new ParseException();
304     }
305   }
306 
307 /**
308  * Parsing procedure corresponding to the <b>Attribute Declaration</b> nonterminal.
309  * @param document DTD document to add this <b>Attribute Declaration</b> to.
310  */
311   final public void AttlistDecl(DTDdocument document) throws ParseException, DTDException {
312    Token token;
313    Element element;
314    Attribute attribute;
315    String str;
316     jj_consume_token(BEGIN_ATTR_DECL);
317     jj_consume_token(S_ATTR);
318     token = jj_consume_token(NAME_ATTR);
319       element = document.getElement(token.image);
320       if (element == null) {
321          String err = "Main parser: element \"" + token.image + "\" has not been";
322          err += " defined, while its attribute is being defined...";
323          {if (true) throw new DTDException(err);}
324       }
325     label_5:
326     while (true) {
327       jj_consume_token(S_ATTR);
328       token = jj_consume_token(NAME_ATTR);
329       jj_consume_token(S_ATTR);
330         attribute = new Attribute(element, token.image);
331       if (jj_2_58(3)) {
332         jj_consume_token(CDATA);
333            attribute.setStringType();
334       } else if (jj_2_59(3)) {
335         jj_consume_token(ID);
336            attribute.setIDType();
337       } else if (jj_2_60(3)) {
338         jj_consume_token(IDREF);
339            attribute.setIDREFType();
340       } else if (jj_2_61(3)) {
341         jj_consume_token(IDREFS);
342            attribute.setIDREFSType();
343       } else if (jj_2_62(3)) {
344         jj_consume_token(ENTITY);
345            attribute.setENTITYType();
346       } else if (jj_2_63(3)) {
347         jj_consume_token(ENTITIES);
348            attribute.setENTITIESType();
349       } else if (jj_2_64(3)) {
350         jj_consume_token(NMTOKEN);
351            attribute.setNMTOKENType();
352       } else if (jj_2_65(3)) {
353         jj_consume_token(NMTOKENS);
354            attribute.setNMTOKENSType();
355       } else if (jj_2_66(3)) {
356         jj_consume_token(NOTATION);
357         jj_consume_token(S_ATTR);
358            attribute.setNOTATIONType();
359         jj_consume_token(LEFT_PAREN_ATTR);
360         if (jj_2_44(3)) {
361           jj_consume_token(S_ATTR);
362         } else {
363           ;
364         }
365         token = jj_consume_token(NAME_ATTR);
366         if (jj_2_45(3)) {
367           jj_consume_token(S_ATTR);
368         } else {
369           ;
370         }
371            attribute.addValue(token.image);
372         label_6:
373         while (true) {
374           if (jj_2_46(3)) {
375             ;
376           } else {
377             break label_6;
378           }
379           jj_consume_token(OR_ATTR);
380           if (jj_2_47(3)) {
381             jj_consume_token(S_ATTR);
382           } else {
383             ;
384           }
385           token = jj_consume_token(NAME_ATTR);
386           if (jj_2_48(3)) {
387             jj_consume_token(S_ATTR);
388           } else {
389             ;
390           }
391               attribute.addValue(token.image);
392         }
393         jj_consume_token(RIGHT_PAREN_ATTR);
394       } else if (jj_2_67(3)) {
395         jj_consume_token(LEFT_PAREN_ATTR);
396         if (jj_2_49(3)) {
397           jj_consume_token(S_ATTR);
398         } else {
399           ;
400         }
401         if (jj_2_50(3)) {
402           token = jj_consume_token(NAME_ATTR);
403         } else if (jj_2_51(3)) {
404           token = jj_consume_token(NMTOKEN_ATTR);
405         } else {
406           jj_consume_token(-1);
407           throw new ParseException();
408         }
409         if (jj_2_52(3)) {
410           jj_consume_token(S_ATTR);
411         } else {
412           ;
413         }
414            attribute.addValue(token.image);
415         label_7:
416         while (true) {
417           if (jj_2_53(3)) {
418             ;
419           } else {
420             break label_7;
421           }
422           jj_consume_token(OR_ATTR);
423           if (jj_2_54(3)) {
424             jj_consume_token(S_ATTR);
425           } else {
426             ;
427           }
428           if (jj_2_55(3)) {
429             token = jj_consume_token(NAME_ATTR);
430           } else if (jj_2_56(3)) {
431             token = jj_consume_token(NMTOKEN_ATTR);
432           } else {
433             jj_consume_token(-1);
434             throw new ParseException();
435           }
436           if (jj_2_57(3)) {
437             jj_consume_token(S_ATTR);
438           } else {
439             ;
440           }
441               attribute.addValue(token.image);
442         }
443         jj_consume_token(RIGHT_PAREN_ATTR);
444            attribute.setEnumerationType();
445       } else {
446         jj_consume_token(-1);
447         throw new ParseException();
448       }
449       jj_consume_token(S_ATTR);
450       if (jj_2_68(3)) {
451         jj_consume_token(REQUIRED);
452            attribute.setREQUIRED();
453       } else if (jj_2_69(3)) {
454         jj_consume_token(IMPLIED);
455            attribute.setIMPLIED();
456       } else if (jj_2_70(3)) {
457         jj_consume_token(FIXED);
458         jj_consume_token(S_ATTR);
459         str = AttrValue();
460             attribute.setDefaultValue(str);
461             attribute.setFIXED();
462       } else if (jj_2_71(3)) {
463         str = AttrValue();
464            attribute.setDefaultValue(str);
465       } else {
466         jj_consume_token(-1);
467         throw new ParseException();
468       }
469         element.addAttribute(attribute);
470       if (jj_2_72(3)) {
471         ;
472       } else {
473         break label_5;
474       }
475     }
476     if (jj_2_73(3)) {
477       jj_consume_token(S_ATTR);
478     } else {
479       ;
480     }
481     jj_consume_token(END_ATTR_DECL);
482   }
483 
484 /**
485  * Parsing procedure corresponding to the <b>Attribute Value</b> nonterminal.
486  * @return String containing parsed value.
487  */
488   final public String AttrValue() throws ParseException {
489    Token token;
490    String value = "";
491     if (jj_2_76(3)) {
492       jj_consume_token(START_DQ_ATTR);
493       label_8:
494       while (true) {
495         if (jj_2_74(3)) {
496           ;
497         } else {
498           break label_8;
499         }
500         token = jj_consume_token(ATTR_VALUE_CHAR_DQ);
501            value += token.image;
502       }
503       jj_consume_token(END_DQ_ATTR);
504     } else if (jj_2_77(3)) {
505       jj_consume_token(START_SQ_ATTR);
506       label_9:
507       while (true) {
508         if (jj_2_75(3)) {
509           ;
510         } else {
511           break label_9;
512         }
513         token = jj_consume_token(ATTR_VALUE_CHAR_SQ);
514            value += token.image;
515       }
516       jj_consume_token(END_SQ_ATTR);
517     } else {
518       jj_consume_token(-1);
519       throw new ParseException();
520     }
521      {if (true) return value;}
522     throw new Error("Missing return statement in function");
523   }
524 
525 /**
526  * Parsing procedure corresponding to the <b>General Entity
527  * Declaration</b> nonterminal.
528  * @param document DTD document to add this <b>General Entity Declaration</b> to.
529  */
530   final public void GEntityDecl(DTDdocument document) throws ParseException {
531    Token token;
532    GeneralEntity ge;
533    String str;
534    String pubLit;
535    String sysLit;
536     jj_consume_token(BEGIN_GE_DECL);
537     jj_consume_token(S_GE);
538     token = jj_consume_token(NAME_GE);
539     jj_consume_token(S_GE);
540      ge = new GeneralEntity(document, token.image);
541     if (jj_2_81(3)) {
542       str = GEValue();
543         ge.setValue(str);
544     } else if (jj_2_82(3)) {
545       if (jj_2_78(3)) {
546         jj_consume_token(PUBLIC_GE);
547         token = jj_consume_token(PUBLITER_GE);
548             str = token.image;
549             pubLit = str.substring(1,str.length()-1);
550         jj_consume_token(S_GE_PUB);
551         token = jj_consume_token(SYSLITER_GE);
552             str = token.image;
553             sysLit = str.substring(1,str.length()-1);
554             ge.setExternalPublic(pubLit,sysLit);
555       } else if (jj_2_79(3)) {
556         jj_consume_token(SYSTEM_GE);
557         token = jj_consume_token(SYSLITER_GE);
558             str = token.image;
559             sysLit = str.substring(1,str.length()-1);
560             ge.setExternalSystem(sysLit);
561       } else {
562         jj_consume_token(-1);
563         throw new ParseException();
564       }
565       if (jj_2_80(3)) {
566         jj_consume_token(S_GE);
567         jj_consume_token(NDATA);
568         jj_consume_token(S_GE);
569         token = jj_consume_token(NAME_GE);
570           ge.setNDATA(token.image);
571       } else {
572         ;
573       }
574     } else {
575       jj_consume_token(-1);
576       throw new ParseException();
577     }
578     if (jj_2_83(3)) {
579       jj_consume_token(S_GE);
580     } else {
581       ;
582     }
583     jj_consume_token(END_GE_DECL);
584      document.addGeneralEntity(ge);
585   }
586 
587 /**
588  * Parsing procedure corresponding to the <b>General Entity Value</b> nonterminal.
589  * @return String containing parsed value.
590  */
591   final public String GEValue() throws ParseException {
592    Token token;
593    String value = "";
594     if (jj_2_86(3)) {
595       jj_consume_token(START_DQ_GE);
596       label_10:
597       while (true) {
598         if (jj_2_84(3)) {
599           ;
600         } else {
601           break label_10;
602         }
603         token = jj_consume_token(GE_VAlUE_CHAR_DQ);
604            value += token.image;
605       }
606       jj_consume_token(END_DQ_GE);
607     } else if (jj_2_87(3)) {
608       jj_consume_token(START_SQ_GE);
609       label_11:
610       while (true) {
611         if (jj_2_85(3)) {
612           ;
613         } else {
614           break label_11;
615         }
616         token = jj_consume_token(GE_VAlUE_CHAR_SQ);
617            value += token.image;
618       }
619       jj_consume_token(END_SQ_GE);
620     } else {
621       jj_consume_token(-1);
622       throw new ParseException();
623     }
624      {if (true) return value;}
625     throw new Error("Missing return statement in function");
626   }
627 
628 /**
629  * Parsing procedure corresponding to the <b>Notation Declaration</b> nonterminal.
630  * @param document DTD document to add this <b>Notation Declaration</b> to.
631  */
632   final public void NotationDecl(DTDdocument document) throws ParseException, DTDException {
633    Token token;
634    Notation notation;
635    String str;
636    String pubLit;
637    String sysLit = "";
638     jj_consume_token(BEGIN_NOTATION_DECL);
639     jj_consume_token(S_NOT);
640     token = jj_consume_token(NAME_NOT);
641     jj_consume_token(S_NOT);
642      notation = new Notation(document, token.image);
643     if (jj_2_90(3)) {
644       jj_consume_token(PUBLIC_NOT);
645       token = jj_consume_token(PUBLITER_NOT);
646          str = token.image;
647          pubLit = str.substring(1,str.length()-1);
648       if (jj_2_88(3)) {
649         jj_consume_token(S_NOT_SYS);
650       } else {
651         ;
652       }
653       if (jj_2_89(3)) {
654         token = jj_consume_token(SYSLITER_NOT);
655             str = token.image;
656             sysLit = str.substring(1,str.length()-1);
657       } else {
658         ;
659       }
660         notation.setPublic(pubLit,sysLit);
661     } else if (jj_2_91(3)) {
662       jj_consume_token(SYSTEM_NOT);
663       token = jj_consume_token(SYSLITER_NOT);
664          str = token.image;
665          sysLit = str.substring(1,str.length()-1);
666          notation.setSystem(sysLit);
667     } else {
668       jj_consume_token(-1);
669       throw new ParseException();
670     }
671     if (jj_2_92(3)) {
672       jj_consume_token(S_NOT_SYS);
673     } else {
674       ;
675     }
676     jj_consume_token(END_NOTATION_DECL);
677      document.addNotation(notation);
678   }
679 
680 /**
681  * Parsing procedure corresponding to the <b>Comment</b> nonterminal.
682  */
683   final public void Comment() throws ParseException {
684     jj_consume_token(BEGIN_COMMENT);
685     label_12:
686     while (true) {
687       if (jj_2_93(3)) {
688         ;
689       } else {
690         break label_12;
691       }
692       if (jj_2_94(3)) {
693         jj_consume_token(COMMENT_CHAR);
694       } else if (jj_2_95(3)) {
695         jj_consume_token(DASH);
696         jj_consume_token(COMMENT_CHAR);
697       } else {
698         jj_consume_token(-1);
699         throw new ParseException();
700       }
701     }
702     jj_consume_token(END_COMMENT);
703   }
704 
705   final private boolean jj_2_1(int xla) {
706     jj_la = xla; jj_lastpos = jj_scanpos = token;
707     boolean retval = !jj_3_1();
708     jj_save(0, xla);
709     return retval;
710   }
711 
712   final private boolean jj_2_2(int xla) {
713     jj_la = xla; jj_lastpos = jj_scanpos = token;
714     boolean retval = !jj_3_2();
715     jj_save(1, xla);
716     return retval;
717   }
718 
719   final private boolean jj_2_3(int xla) {
720     jj_la = xla; jj_lastpos = jj_scanpos = token;
721     boolean retval = !jj_3_3();
722     jj_save(2, xla);
723     return retval;
724   }
725 
726   final private boolean jj_2_4(int xla) {
727     jj_la = xla; jj_lastpos = jj_scanpos = token;
728     boolean retval = !jj_3_4();
729     jj_save(3, xla);
730     return retval;
731   }
732 
733   final private boolean jj_2_5(int xla) {
734     jj_la = xla; jj_lastpos = jj_scanpos = token;
735     boolean retval = !jj_3_5();
736     jj_save(4, xla);
737     return retval;
738   }
739 
740   final private boolean jj_2_6(int xla) {
741     jj_la = xla; jj_lastpos = jj_scanpos = token;
742     boolean retval = !jj_3_6();
743     jj_save(5, xla);
744     return retval;
745   }
746 
747   final private boolean jj_2_7(int xla) {
748     jj_la = xla; jj_lastpos = jj_scanpos = token;
749     boolean retval = !jj_3_7();
750     jj_save(6, xla);
751     return retval;
752   }
753 
754   final private boolean jj_2_8(int xla) {
755     jj_la = xla; jj_lastpos = jj_scanpos = token;
756     boolean retval = !jj_3_8();
757     jj_save(7, xla);
758     return retval;
759   }
760 
761   final private boolean jj_2_9(int xla) {
762     jj_la = xla; jj_lastpos = jj_scanpos = token;
763     boolean retval = !jj_3_9();
764     jj_save(8, xla);
765     return retval;
766   }
767 
768   final private boolean jj_2_10(int xla) {
769     jj_la = xla; jj_lastpos = jj_scanpos = token;
770     boolean retval = !jj_3_10();
771     jj_save(9, xla);
772     return retval;
773   }
774 
775   final private boolean jj_2_11(int xla) {
776     jj_la = xla; jj_lastpos = jj_scanpos = token;
777     boolean retval = !jj_3_11();
778     jj_save(10, xla);
779     return retval;
780   }
781 
782   final private boolean jj_2_12(int xla) {
783     jj_la = xla; jj_lastpos = jj_scanpos = token;
784     boolean retval = !jj_3_12();
785     jj_save(11, xla);
786     return retval;
787   }
788 
789   final private boolean jj_2_13(int xla) {
790     jj_la = xla; jj_lastpos = jj_scanpos = token;
791     boolean retval = !jj_3_13();
792     jj_save(12, xla);
793     return retval;
794   }
795 
796   final private boolean jj_2_14(int xla) {
797     jj_la = xla; jj_lastpos = jj_scanpos = token;
798     boolean retval = !jj_3_14();
799     jj_save(13, xla);
800     return retval;
801   }
802 
803   final private boolean jj_2_15(int xla) {
804     jj_la = xla; jj_lastpos = jj_scanpos = token;
805     boolean retval = !jj_3_15();
806     jj_save(14, xla);
807     return retval;
808   }
809 
810   final private boolean jj_2_16(int xla) {
811     jj_la = xla; jj_lastpos = jj_scanpos = token;
812     boolean retval = !jj_3_16();
813     jj_save(15, xla);
814     return retval;
815   }
816 
817   final private boolean jj_2_17(int xla) {
818     jj_la = xla; jj_lastpos = jj_scanpos = token;
819     boolean retval = !jj_3_17();
820     jj_save(16, xla);
821     return retval;
822   }
823 
824   final private boolean jj_2_18(int xla) {
825     jj_la = xla; jj_lastpos = jj_scanpos = token;
826     boolean retval = !jj_3_18();
827     jj_save(17, xla);
828     return retval;
829   }
830 
831   final private boolean jj_2_19(int xla) {
832     jj_la = xla; jj_lastpos = jj_scanpos = token;
833     boolean retval = !jj_3_19();
834     jj_save(18, xla);
835     return retval;
836   }
837 
838   final private boolean jj_2_20(int xla) {
839     jj_la = xla; jj_lastpos = jj_scanpos = token;
840     boolean retval = !jj_3_20();
841     jj_save(19, xla);
842     return retval;
843   }
844 
845   final private boolean jj_2_21(int xla) {
846     jj_la = xla; jj_lastpos = jj_scanpos = token;
847     boolean retval = !jj_3_21();
848     jj_save(20, xla);
849     return retval;
850   }
851 
852   final private boolean jj_2_22(int xla) {
853     jj_la = xla; jj_lastpos = jj_scanpos = token;
854     boolean retval = !jj_3_22();
855     jj_save(21, xla);
856     return retval;
857   }
858 
859   final private boolean jj_2_23(int xla) {
860     jj_la = xla; jj_lastpos = jj_scanpos = token;
861     boolean retval = !jj_3_23();
862     jj_save(22, xla);
863     return retval;
864   }
865 
866   final private boolean jj_2_24(int xla) {
867     jj_la = xla; jj_lastpos = jj_scanpos = token;
868     boolean retval = !jj_3_24();
869     jj_save(23, xla);
870     return retval;
871   }
872 
873   final private boolean jj_2_25(int xla) {
874     jj_la = xla; jj_lastpos = jj_scanpos = token;
875     boolean retval = !jj_3_25();
876     jj_save(24, xla);
877     return retval;
878   }
879 
880   final private boolean jj_2_26(int xla) {
881     jj_la = xla; jj_lastpos = jj_scanpos = token;
882     boolean retval = !jj_3_26();
883     jj_save(25, xla);
884     return retval;
885   }
886 
887   final private boolean jj_2_27(int xla) {
888     jj_la = xla; jj_lastpos = jj_scanpos = token;
889     boolean retval = !jj_3_27();
890     jj_save(26, xla);
891     return retval;
892   }
893 
894   final private boolean jj_2_28(int xla) {
895     jj_la = xla; jj_lastpos = jj_scanpos = token;
896     boolean retval = !jj_3_28();
897     jj_save(27, xla);
898     return retval;
899   }
900 
901   final private boolean jj_2_29(int xla) {
902     jj_la = xla; jj_lastpos = jj_scanpos = token;
903     boolean retval = !jj_3_29();
904     jj_save(28, xla);
905     return retval;
906   }
907 
908   final private boolean jj_2_30(int xla) {
909     jj_la = xla; jj_lastpos = jj_scanpos = token;
910     boolean retval = !jj_3_30();
911     jj_save(29, xla);
912     return retval;
913   }
914 
915   final private boolean jj_2_31(int xla) {
916     jj_la = xla; jj_lastpos = jj_scanpos = token;
917     boolean retval = !jj_3_31();
918     jj_save(30, xla);
919     return retval;
920   }
921 
922   final private boolean jj_2_32(int xla) {
923     jj_la = xla; jj_lastpos = jj_scanpos = token;
924     boolean retval = !jj_3_32();
925     jj_save(31, xla);
926     return retval;
927   }
928 
929   final private boolean jj_2_33(int xla) {
930     jj_la = xla; jj_lastpos = jj_scanpos = token;
931     boolean retval = !jj_3_33();
932     jj_save(32, xla);
933     return retval;
934   }
935 
936   final private boolean jj_2_34(int xla) {
937     jj_la = xla; jj_lastpos = jj_scanpos = token;
938     boolean retval = !jj_3_34();
939     jj_save(33, xla);
940     return retval;
941   }
942 
943   final private boolean jj_2_35(int xla) {
944     jj_la = xla; jj_lastpos = jj_scanpos = token;
945     boolean retval = !jj_3_35();
946     jj_save(34, xla);
947     return retval;
948   }
949 
950   final private boolean jj_2_36(int xla) {
951     jj_la = xla; jj_lastpos = jj_scanpos = token;
952     boolean retval = !jj_3_36();
953     jj_save(35, xla);
954     return retval;
955   }
956 
957   final private boolean jj_2_37(int xla) {
958     jj_la = xla; jj_lastpos = jj_scanpos = token;
959     boolean retval = !jj_3_37();
960     jj_save(36, xla);
961     return retval;
962   }
963 
964   final private boolean jj_2_38(int xla) {
965     jj_la = xla; jj_lastpos = jj_scanpos = token;
966     boolean retval = !jj_3_38();
967     jj_save(37, xla);
968     return retval;
969   }
970 
971   final private boolean jj_2_39(int xla) {
972     jj_la = xla; jj_lastpos = jj_scanpos = token;
973     boolean retval = !jj_3_39();
974     jj_save(38, xla);
975     return retval;
976   }
977 
978   final private boolean jj_2_40(int xla) {
979     jj_la = xla; jj_lastpos = jj_scanpos = token;
980     boolean retval = !jj_3_40();
981     jj_save(39, xla);
982     return retval;
983   }
984 
985   final private boolean jj_2_41(int xla) {
986     jj_la = xla; jj_lastpos = jj_scanpos = token;
987     boolean retval = !jj_3_41();
988     jj_save(40, xla);
989     return retval;
990   }
991 
992   final private boolean jj_2_42(int xla) {
993     jj_la = xla; jj_lastpos = jj_scanpos = token;
994     boolean retval = !jj_3_42();
995     jj_save(41, xla);
996     return retval;
997   }
998 
999   final private boolean jj_2_43(int xla) {
1000     jj_la = xla; jj_lastpos = jj_scanpos = token;
1001     boolean retval = !jj_3_43();
1002     jj_save(42, xla);
1003     return retval;
1004   }
1005 
1006   final private boolean jj_2_44(int xla) {
1007     jj_la = xla; jj_lastpos = jj_scanpos = token;
1008     boolean retval = !jj_3_44();
1009     jj_save(43, xla);
1010     return retval;
1011   }
1012 
1013   final private boolean jj_2_45(int xla) {
1014     jj_la = xla; jj_lastpos = jj_scanpos = token;
1015     boolean retval = !jj_3_45();
1016     jj_save(44, xla);
1017     return retval;
1018   }
1019 
1020   final private boolean jj_2_46(int xla) {
1021     jj_la = xla; jj_lastpos = jj_scanpos = token;
1022     boolean retval = !jj_3_46();
1023     jj_save(45, xla);
1024     return retval;
1025   }
1026 
1027   final private boolean jj_2_47(int xla) {
1028     jj_la = xla; jj_lastpos = jj_scanpos = token;
1029     boolean retval = !jj_3_47();
1030     jj_save(46, xla);
1031     return retval;
1032   }
1033 
1034   final private boolean jj_2_48(int xla) {
1035     jj_la = xla; jj_lastpos = jj_scanpos = token;
1036     boolean retval = !jj_3_48();
1037     jj_save(47, xla);
1038     return retval;
1039   }
1040 
1041   final private boolean jj_2_49(int xla) {
1042     jj_la = xla; jj_lastpos = jj_scanpos = token;
1043     boolean retval = !jj_3_49();
1044     jj_save(48, xla);
1045     return retval;
1046   }
1047 
1048   final private boolean jj_2_50(int xla) {
1049     jj_la = xla; jj_lastpos = jj_scanpos = token;
1050     boolean retval = !jj_3_50();
1051     jj_save(49, xla);
1052     return retval;
1053   }
1054 
1055   final private boolean jj_2_51(int xla) {
1056     jj_la = xla; jj_lastpos = jj_scanpos = token;
1057     boolean retval = !jj_3_51();
1058     jj_save(50, xla);
1059     return retval;
1060   }
1061 
1062   final private boolean jj_2_52(int xla) {
1063     jj_la = xla; jj_lastpos = jj_scanpos = token;
1064     boolean retval = !jj_3_52();
1065     jj_save(51, xla);
1066     return retval;
1067   }
1068 
1069   final private boolean jj_2_53(int xla) {
1070     jj_la = xla; jj_lastpos = jj_scanpos = token;
1071     boolean retval = !jj_3_53();
1072     jj_save(52, xla);
1073     return retval;
1074   }
1075 
1076   final private boolean jj_2_54(int xla) {
1077     jj_la = xla; jj_lastpos = jj_scanpos = token;
1078     boolean retval = !jj_3_54();
1079     jj_save(53, xla);
1080     return retval;
1081   }
1082 
1083   final private boolean jj_2_55(int xla) {
1084     jj_la = xla; jj_lastpos = jj_scanpos = token;
1085     boolean retval = !jj_3_55();
1086     jj_save(54, xla);
1087     return retval;
1088   }
1089 
1090   final private boolean jj_2_56(int xla) {
1091     jj_la = xla; jj_lastpos = jj_scanpos = token;
1092     boolean retval = !jj_3_56();
1093     jj_save(55, xla);
1094     return retval;
1095   }
1096 
1097   final private boolean jj_2_57(int xla) {
1098     jj_la = xla; jj_lastpos = jj_scanpos = token;
1099     boolean retval = !jj_3_57();
1100     jj_save(56, xla);
1101     return retval;
1102   }
1103 
1104   final private boolean jj_2_58(int xla) {
1105     jj_la = xla; jj_lastpos = jj_scanpos = token;
1106     boolean retval = !jj_3_58();
1107     jj_save(57, xla);
1108     return retval;
1109   }
1110 
1111   final private boolean jj_2_59(int xla) {
1112     jj_la = xla; jj_lastpos = jj_scanpos = token;
1113     boolean retval = !jj_3_59();
1114     jj_save(58, xla);
1115     return retval;
1116   }
1117 
1118   final private boolean jj_2_60(int xla) {
1119     jj_la = xla; jj_lastpos = jj_scanpos = token;
1120     boolean retval = !jj_3_60();
1121     jj_save(59, xla);
1122     return retval;
1123   }
1124 
1125   final private boolean jj_2_61(int xla) {
1126     jj_la = xla; jj_lastpos = jj_scanpos = token;
1127     boolean retval = !jj_3_61();
1128     jj_save(60, xla);
1129     return retval;
1130   }
1131 
1132   final private boolean jj_2_62(int xla) {
1133     jj_la = xla; jj_lastpos = jj_scanpos = token;
1134     boolean retval = !jj_3_62();
1135     jj_save(61, xla);
1136     return retval;
1137   }
1138 
1139   final private boolean jj_2_63(int xla) {
1140     jj_la = xla; jj_lastpos = jj_scanpos = token;
1141     boolean retval = !jj_3_63();
1142     jj_save(62, xla);
1143     return retval;
1144   }
1145 
1146   final private boolean jj_2_64(int xla) {
1147     jj_la = xla; jj_lastpos = jj_scanpos = token;
1148     boolean retval = !jj_3_64();
1149     jj_save(63, xla);
1150     return retval;
1151   }
1152 
1153   final private boolean jj_2_65(int xla) {
1154     jj_la = xla; jj_lastpos = jj_scanpos = token;
1155     boolean retval = !jj_3_65();
1156     jj_save(64, xla);
1157     return retval;
1158   }
1159 
1160   final private boolean jj_2_66(int xla) {
1161     jj_la = xla; jj_lastpos = jj_scanpos = token;
1162     boolean retval = !jj_3_66();
1163     jj_save(65, xla);
1164     return retval;
1165   }
1166 
1167   final private boolean jj_2_67(int xla) {
1168     jj_la = xla; jj_lastpos = jj_scanpos = token;
1169     boolean retval = !jj_3_67();
1170     jj_save(66, xla);
1171     return retval;
1172   }
1173 
1174   final private boolean jj_2_68(int xla) {
1175     jj_la = xla; jj_lastpos = jj_scanpos = token;
1176     boolean retval = !jj_3_68();
1177     jj_save(67, xla);
1178     return retval;
1179   }
1180 
1181   final private boolean jj_2_69(int xla) {
1182     jj_la = xla; jj_lastpos = jj_scanpos = token;
1183     boolean retval = !jj_3_69();
1184     jj_save(68, xla);
1185     return retval;
1186   }
1187 
1188   final private boolean jj_2_70(int xla) {
1189     jj_la = xla; jj_lastpos = jj_scanpos = token;
1190     boolean retval = !jj_3_70();
1191     jj_save(69, xla);
1192     return retval;
1193   }
1194 
1195   final private boolean jj_2_71(int xla) {
1196     jj_la = xla; jj_lastpos = jj_scanpos = token;
1197     boolean retval = !jj_3_71();
1198     jj_save(70, xla);
1199     return retval;
1200   }
1201 
1202   final private boolean jj_2_72(int xla) {
1203     jj_la = xla; jj_lastpos = jj_scanpos = token;
1204     boolean retval = !jj_3_72();
1205     jj_save(71, xla);
1206     return retval;
1207   }
1208 
1209   final private boolean jj_2_73(int xla) {
1210     jj_la = xla; jj_lastpos = jj_scanpos = token;
1211     boolean retval = !jj_3_73();
1212     jj_save(72, xla);
1213     return retval;
1214   }
1215 
1216   final private boolean jj_2_74(int xla) {
1217     jj_la = xla; jj_lastpos = jj_scanpos = token;
1218     boolean retval = !jj_3_74();
1219     jj_save(73, xla);
1220     return retval;
1221   }
1222 
1223   final private boolean jj_2_75(int xla) {
1224     jj_la = xla; jj_lastpos = jj_scanpos = token;
1225     boolean retval = !jj_3_75();
1226     jj_save(74, xla);
1227     return retval;
1228   }
1229 
1230   final private boolean jj_2_76(int xla) {
1231     jj_la = xla; jj_lastpos = jj_scanpos = token;
1232     boolean retval = !jj_3_76();
1233     jj_save(75, xla);
1234     return retval;
1235   }
1236 
1237   final private boolean jj_2_77(int xla) {
1238     jj_la = xla; jj_lastpos = jj_scanpos = token;
1239     boolean retval = !jj_3_77();
1240     jj_save(76, xla);
1241     return retval;
1242   }
1243 
1244   final private boolean jj_2_78(int xla) {
1245     jj_la = xla; jj_lastpos = jj_scanpos = token;
1246     boolean retval = !jj_3_78();
1247     jj_save(77, xla);
1248     return retval;
1249   }
1250 
1251   final private boolean jj_2_79(int xla) {
1252     jj_la = xla; jj_lastpos = jj_scanpos = token;
1253     boolean retval = !jj_3_79();
1254     jj_save(78, xla);
1255     return retval;
1256   }
1257 
1258   final private boolean jj_2_80(int xla) {
1259     jj_la = xla; jj_lastpos = jj_scanpos = token;
1260     boolean retval = !jj_3_80();
1261     jj_save(79, xla);
1262     return retval;
1263   }
1264 
1265   final private boolean jj_2_81(int xla) {
1266     jj_la = xla; jj_lastpos = jj_scanpos = token;
1267     boolean retval = !jj_3_81();
1268     jj_save(80, xla);
1269     return retval;
1270   }
1271 
1272   final private boolean jj_2_82(int xla) {
1273     jj_la = xla; jj_lastpos = jj_scanpos = token;
1274     boolean retval = !jj_3_82();
1275     jj_save(81, xla);
1276     return retval;
1277   }
1278 
1279   final private boolean jj_2_83(int xla) {
1280     jj_la = xla; jj_lastpos = jj_scanpos = token;
1281     boolean retval = !jj_3_83();
1282     jj_save(82, xla);
1283     return retval;
1284   }
1285 
1286   final private boolean jj_2_84(int xla) {
1287     jj_la = xla; jj_lastpos = jj_scanpos = token;
1288     boolean retval = !jj_3_84();
1289     jj_save(83, xla);
1290     return retval;
1291   }
1292 
1293   final private boolean jj_2_85(int xla) {
1294     jj_la = xla; jj_lastpos = jj_scanpos = token;
1295     boolean retval = !jj_3_85();
1296     jj_save(84, xla);
1297     return retval;
1298   }
1299 
1300   final private boolean jj_2_86(int xla) {
1301     jj_la = xla; jj_lastpos = jj_scanpos = token;
1302     boolean retval = !jj_3_86();
1303     jj_save(85, xla);
1304     return retval;
1305   }
1306 
1307   final private boolean jj_2_87(int xla) {
1308     jj_la = xla; jj_lastpos = jj_scanpos = token;
1309     boolean retval = !jj_3_87();
1310     jj_save(86, xla);
1311     return retval;
1312   }
1313 
1314   final private boolean jj_2_88(int xla) {
1315     jj_la = xla; jj_lastpos = jj_scanpos = token;
1316     boolean retval = !jj_3_88();
1317     jj_save(87, xla);
1318     return retval;
1319   }
1320 
1321   final private boolean jj_2_89(int xla) {
1322     jj_la = xla; jj_lastpos = jj_scanpos = token;
1323     boolean retval = !jj_3_89();
1324     jj_save(88, xla);
1325     return retval;
1326   }
1327 
1328   final private boolean jj_2_90(int xla) {
1329     jj_la = xla; jj_lastpos = jj_scanpos = token;
1330     boolean retval = !jj_3_90();
1331     jj_save(89, xla);
1332     return retval;
1333   }
1334 
1335   final private boolean jj_2_91(int xla) {
1336     jj_la = xla; jj_lastpos = jj_scanpos = token;
1337     boolean retval = !jj_3_91();
1338     jj_save(90, xla);
1339     return retval;
1340   }
1341 
1342   final private boolean jj_2_92(int xla) {
1343     jj_la = xla; jj_lastpos = jj_scanpos = token;
1344     boolean retval = !jj_3_92();
1345     jj_save(91, xla);
1346     return retval;
1347   }
1348 
1349   final private boolean jj_2_93(int xla) {
1350     jj_la = xla; jj_lastpos = jj_scanpos = token;
1351     boolean retval = !jj_3_93();
1352     jj_save(92, xla);
1353     return retval;
1354   }
1355 
1356   final private boolean jj_2_94(int xla) {
1357     jj_la = xla; jj_lastpos = jj_scanpos = token;
1358     boolean retval = !jj_3_94();
1359     jj_save(93, xla);
1360     return retval;
1361   }
1362 
1363   final private boolean jj_2_95(int xla) {
1364     jj_la = xla; jj_lastpos = jj_scanpos = token;
1365     boolean retval = !jj_3_95();
1366     jj_save(94, xla);
1367     return retval;
1368   }
1369 
1370   final private boolean jj_3_69() {
1371     if (jj_scan_token(IMPLIED)) return true;
1372     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1373     return false;
1374   }
1375 
1376   final private boolean jj_3_14() {
1377     if (jj_3R_19()) return true;
1378     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1379     return false;
1380   }
1381 
1382   final private boolean jj_3_68() {
1383     if (jj_scan_token(REQUIRED)) return true;
1384     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1385     return false;
1386   }
1387 
1388   final private boolean jj_3_18() {
1389     Token xsp;
1390     xsp = jj_scanpos;
1391     if (jj_3_14()) {
1392     jj_scanpos = xsp;
1393     if (jj_3_15()) return true;
1394     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1395     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1396     return false;
1397   }
1398 
1399   final private boolean jj_3_17() {
1400     if (jj_scan_token(EMPTY)) return true;
1401     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1402     return false;
1403   }
1404 
1405   final private boolean jj_3_44() {
1406     if (jj_scan_token(S_ATTR)) return true;
1407     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1408     return false;
1409   }
1410 
1411   final private boolean jj_3_55() {
1412     if (jj_scan_token(NAME_ATTR)) return true;
1413     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1414     return false;
1415   }
1416 
1417   final private boolean jj_3_57() {
1418     if (jj_scan_token(S_ATTR)) return true;
1419     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1420     return false;
1421   }
1422 
1423   final private boolean jj_3_95() {
1424     if (jj_scan_token(DASH)) return true;
1425     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1426     if (jj_scan_token(COMMENT_CHAR)) return true;
1427     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1428     return false;
1429   }
1430 
1431   final private boolean jj_3_6() {
1432     if (jj_scan_token(S)) return true;
1433     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1434     return false;
1435   }
1436 
1437   final private boolean jj_3_16() {
1438     if (jj_scan_token(ANY)) return true;
1439     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1440     return false;
1441   }
1442 
1443   final private boolean jj_3_47() {
1444     if (jj_scan_token(S_ATTR)) return true;
1445     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1446     return false;
1447   }
1448 
1449   final private boolean jj_3_53() {
1450     if (jj_scan_token(OR_ATTR)) return true;
1451     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1452     Token xsp;
1453     xsp = jj_scanpos;
1454     if (jj_3_54()) jj_scanpos = xsp;
1455     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1456     xsp = jj_scanpos;
1457     if (jj_3_55()) {
1458     jj_scanpos = xsp;
1459     if (jj_3_56()) return true;
1460     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1461     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1462     xsp = jj_scanpos;
1463     if (jj_3_57()) jj_scanpos = xsp;
1464     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1465     return false;
1466   }
1467 
1468   final private boolean jj_3_94() {
1469     if (jj_scan_token(COMMENT_CHAR)) return true;
1470     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1471     return false;
1472   }
1473 
1474   final private boolean jj_3_93() {
1475     Token xsp;
1476     xsp = jj_scanpos;
1477     if (jj_3_94()) {
1478     jj_scanpos = xsp;
1479     if (jj_3_95()) return true;
1480     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1481     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1482     return false;
1483   }
1484 
1485   final private boolean jj_3_5() {
1486     if (jj_scan_token(S)) return true;
1487     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1488     return false;
1489   }
1490 
1491   final private boolean jj_3_4() {
1492     if (jj_scan_token(S)) return true;
1493     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1494     return false;
1495   }
1496 
1497   final private boolean jj_3_50() {
1498     if (jj_scan_token(NAME_ATTR)) return true;
1499     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1500     return false;
1501   }
1502 
1503   final private boolean jj_3_52() {
1504     if (jj_scan_token(S_ATTR)) return true;
1505     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1506     return false;
1507   }
1508 
1509   final private boolean jj_3R_17() {
1510     if (jj_scan_token(BEGIN_COMMENT)) return true;
1511     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1512     Token xsp;
1513     while (true) {
1514       xsp = jj_scanpos;
1515       if (jj_3_93()) { jj_scanpos = xsp; break; }
1516       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1517     }
1518     if (jj_scan_token(END_COMMENT)) return true;
1519     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1520     return false;
1521   }
1522 
1523   final private boolean jj_3R_13() {
1524     if (jj_scan_token(BEGIN_ELEMENT_DECL)) return true;
1525     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1526     if (jj_scan_token(S)) return true;
1527     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1528     if (jj_scan_token(NAME)) return true;
1529     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1530     return false;
1531   }
1532 
1533   final private boolean jj_3_3() {
1534     if (jj_scan_token(S)) return true;
1535     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1536     return false;
1537   }
1538 
1539   final private boolean jj_3_67() {
1540     if (jj_scan_token(LEFT_PAREN_ATTR)) return true;
1541     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1542     Token xsp;
1543     xsp = jj_scanpos;
1544     if (jj_3_49()) jj_scanpos = xsp;
1545     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1546     xsp = jj_scanpos;
1547     if (jj_3_50()) {
1548     jj_scanpos = xsp;
1549     if (jj_3_51()) return true;
1550     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1551     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1552     xsp = jj_scanpos;
1553     if (jj_3_52()) jj_scanpos = xsp;
1554     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1555     while (true) {
1556       xsp = jj_scanpos;
1557       if (jj_3_53()) { jj_scanpos = xsp; break; }
1558       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1559     }
1560     if (jj_scan_token(RIGHT_PAREN_ATTR)) return true;
1561     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1562     return false;
1563   }
1564 
1565   final private boolean jj_3_7() {
1566     if (jj_scan_token(S)) return true;
1567     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1568     return false;
1569   }
1570 
1571   final private boolean jj_3_46() {
1572     if (jj_scan_token(OR_ATTR)) return true;
1573     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1574     Token xsp;
1575     xsp = jj_scanpos;
1576     if (jj_3_47()) jj_scanpos = xsp;
1577     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1578     if (jj_scan_token(NAME_ATTR)) return true;
1579     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1580     xsp = jj_scanpos;
1581     if (jj_3_48()) jj_scanpos = xsp;
1582     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1583     return false;
1584   }
1585 
1586   final private boolean jj_3_92() {
1587     if (jj_scan_token(S_NOT_SYS)) return true;
1588     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1589     return false;
1590   }
1591 
1592   final private boolean jj_3_66() {
1593     if (jj_scan_token(NOTATION)) return true;
1594     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1595     if (jj_scan_token(S_ATTR)) return true;
1596     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1597     if (jj_scan_token(LEFT_PAREN_ATTR)) return true;
1598     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1599     return false;
1600   }
1601 
1602   final private boolean jj_3_12() {
1603     if (jj_3R_17()) return true;
1604     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1605     Token xsp;
1606     xsp = jj_scanpos;
1607     if (jj_3_7()) jj_scanpos = xsp;
1608     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1609     return false;
1610   }
1611 
1612   final private boolean jj_3_65() {
1613     if (jj_scan_token(NMTOKENS)) return true;
1614     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1615     return false;
1616   }
1617 
1618   final private boolean jj_3_91() {
1619     if (jj_scan_token(SYSTEM_NOT)) return true;
1620     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1621     if (jj_scan_token(SYSLITER_NOT)) return true;
1622     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1623     return false;
1624   }
1625 
1626   final private boolean jj_3_11() {
1627     if (jj_3R_16()) return true;
1628     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1629     return false;
1630   }
1631 
1632   final private boolean jj_3_64() {
1633     if (jj_scan_token(NMTOKEN)) return true;
1634     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1635     return false;
1636   }
1637 
1638   final private boolean jj_3_10() {
1639     if (jj_3R_15()) return true;
1640     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1641     return false;
1642   }
1643 
1644   final private boolean jj_3_89() {
1645     if (jj_scan_token(SYSLITER_NOT)) return true;
1646     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1647     return false;
1648   }
1649 
1650   final private boolean jj_3_9() {
1651     if (jj_3R_14()) return true;
1652     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1653     return false;
1654   }
1655 
1656   final private boolean jj_3_63() {
1657     if (jj_scan_token(ENTITIES)) return true;
1658     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1659     return false;
1660   }
1661 
1662   final private boolean jj_3_8() {
1663     if (jj_3R_13()) return true;
1664     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1665     return false;
1666   }
1667 
1668   final private boolean jj_3_2() {
1669     Token xsp;
1670     xsp = jj_scanpos;
1671     if (jj_3_8()) {
1672     jj_scanpos = xsp;
1673     if (jj_3_9()) {
1674     jj_scanpos = xsp;
1675     if (jj_3_10()) {
1676     jj_scanpos = xsp;
1677     if (jj_3_11()) {
1678     jj_scanpos = xsp;
1679     if (jj_3_12()) return true;
1680     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1681     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1682     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1683     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1684     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1685     return false;
1686   }
1687 
1688   final private boolean jj_3_62() {
1689     if (jj_scan_token(ENTITY)) return true;
1690     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1691     return false;
1692   }
1693 
1694   final private boolean jj_3_88() {
1695     if (jj_scan_token(S_NOT_SYS)) return true;
1696     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1697     return false;
1698   }
1699 
1700   final private boolean jj_3_1() {
1701     if (jj_scan_token(S)) return true;
1702     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1703     return false;
1704   }
1705 
1706   final private boolean jj_3_61() {
1707     if (jj_scan_token(IDREFS)) return true;
1708     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1709     return false;
1710   }
1711 
1712   final private boolean jj_3_60() {
1713     if (jj_scan_token(IDREF)) return true;
1714     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1715     return false;
1716   }
1717 
1718   final private boolean jj_3_90() {
1719     if (jj_scan_token(PUBLIC_NOT)) return true;
1720     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1721     if (jj_scan_token(PUBLITER_NOT)) return true;
1722     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1723     Token xsp;
1724     xsp = jj_scanpos;
1725     if (jj_3_88()) jj_scanpos = xsp;
1726     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1727     xsp = jj_scanpos;
1728     if (jj_3_89()) jj_scanpos = xsp;
1729     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1730     return false;
1731   }
1732 
1733   final private boolean jj_3_59() {
1734     if (jj_scan_token(ID)) return true;
1735     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1736     return false;
1737   }
1738 
1739   final private boolean jj_3_58() {
1740     if (jj_scan_token(CDATA)) return true;
1741     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1742     return false;
1743   }
1744 
1745   final private boolean jj_3R_16() {
1746     if (jj_scan_token(BEGIN_NOTATION_DECL)) return true;
1747     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1748     if (jj_scan_token(S_NOT)) return true;
1749     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1750     if (jj_scan_token(NAME_NOT)) return true;
1751     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1752     return false;
1753   }
1754 
1755   final private boolean jj_3_72() {
1756     if (jj_scan_token(S_ATTR)) return true;
1757     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1758     if (jj_scan_token(NAME_ATTR)) return true;
1759     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1760     if (jj_scan_token(S_ATTR)) return true;
1761     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1762     return false;
1763   }
1764 
1765   final private boolean jj_3R_14() {
1766     if (jj_scan_token(BEGIN_ATTR_DECL)) return true;
1767     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1768     if (jj_scan_token(S_ATTR)) return true;
1769     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1770     if (jj_scan_token(NAME_ATTR)) return true;
1771     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1772     return false;
1773   }
1774 
1775   final private boolean jj_3_85() {
1776     if (jj_scan_token(GE_VAlUE_CHAR_SQ)) return true;
1777     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1778     return false;
1779   }
1780 
1781   final private boolean jj_3_87() {
1782     if (jj_scan_token(START_SQ_GE)) return true;
1783     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1784     Token xsp;
1785     while (true) {
1786       xsp = jj_scanpos;
1787       if (jj_3_85()) { jj_scanpos = xsp; break; }
1788       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1789     }
1790     if (jj_scan_token(END_SQ_GE)) return true;
1791     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1792     return false;
1793   }
1794 
1795   final private boolean jj_3_84() {
1796     if (jj_scan_token(GE_VAlUE_CHAR_DQ)) return true;
1797     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1798     return false;
1799   }
1800 
1801   final private boolean jj_3_86() {
1802     if (jj_scan_token(START_DQ_GE)) return true;
1803     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1804     Token xsp;
1805     while (true) {
1806       xsp = jj_scanpos;
1807       if (jj_3_84()) { jj_scanpos = xsp; break; }
1808       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1809     }
1810     if (jj_scan_token(END_DQ_GE)) return true;
1811     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1812     return false;
1813   }
1814 
1815   final private boolean jj_3_36() {
1816     if (jj_scan_token(S)) return true;
1817     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1818     return false;
1819   }
1820 
1821   final private boolean jj_3R_23() {
1822     Token xsp;
1823     xsp = jj_scanpos;
1824     if (jj_3_86()) {
1825     jj_scanpos = xsp;
1826     if (jj_3_87()) return true;
1827     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1828     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1829     return false;
1830   }
1831 
1832   final private boolean jj_3_43() {
1833     if (jj_scan_token(QUESTION)) return true;
1834     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1835     return false;
1836   }
1837 
1838   final private boolean jj_3_31() {
1839     if (jj_scan_token(S)) return true;
1840     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1841     return false;
1842   }
1843 
1844   final private boolean jj_3_33() {
1845     if (jj_scan_token(S)) return true;
1846     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1847     return false;
1848   }
1849 
1850   final private boolean jj_3_42() {
1851     if (jj_scan_token(PLUS)) return true;
1852     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1853     return false;
1854   }
1855 
1856   final private boolean jj_3_41() {
1857     if (jj_scan_token(STAR)) return true;
1858     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1859     return false;
1860   }
1861 
1862   final private boolean jj_3_83() {
1863     if (jj_scan_token(S_GE)) return true;
1864     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1865     return false;
1866   }
1867 
1868   final private boolean jj_3R_18() {
1869     Token xsp;
1870     xsp = jj_scanpos;
1871     if (jj_3_41()) {
1872     jj_scanpos = xsp;
1873     if (jj_3_42()) {
1874     jj_scanpos = xsp;
1875     if (jj_3_43()) return true;
1876     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1877     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1878     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1879     return false;
1880   }
1881 
1882   final private boolean jj_3_80() {
1883     if (jj_scan_token(S_GE)) return true;
1884     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1885     if (jj_scan_token(NDATA)) return true;
1886     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1887     if (jj_scan_token(S_GE)) return true;
1888     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1889     return false;
1890   }
1891 
1892   final private boolean jj_3_79() {
1893     if (jj_scan_token(SYSTEM_GE)) return true;
1894     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1895     if (jj_scan_token(SYSLITER_GE)) return true;
1896     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1897     return false;
1898   }
1899 
1900   final private boolean jj_3_40() {
1901     if (jj_scan_token(RIGHT_PAREN)) return true;
1902     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1903     return false;
1904   }
1905 
1906   final private boolean jj_3_35() {
1907     if (jj_scan_token(S)) return true;
1908     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1909     return false;
1910   }
1911 
1912   final private boolean jj_3_37() {
1913     if (jj_scan_token(AND)) return true;
1914     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1915     Token xsp;
1916     xsp = jj_scanpos;
1917     if (jj_3_35()) jj_scanpos = xsp;
1918     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1919     if (jj_3R_21()) return true;
1920     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1921     xsp = jj_scanpos;
1922     if (jj_3_36()) jj_scanpos = xsp;
1923     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1924     return false;
1925   }
1926 
1927   final private boolean jj_3_30() {
1928     if (jj_scan_token(S)) return true;
1929     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1930     return false;
1931   }
1932 
1933   final private boolean jj_3_39() {
1934     Token xsp;
1935     if (jj_3_37()) return true;
1936     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1937     while (true) {
1938       xsp = jj_scanpos;
1939       if (jj_3_37()) { jj_scanpos = xsp; break; }
1940       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1941     }
1942     if (jj_scan_token(RIGHT_PAREN)) return true;
1943     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1944     return false;
1945   }
1946 
1947   final private boolean jj_3_32() {
1948     if (jj_scan_token(S)) return true;
1949     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1950     return false;
1951   }
1952 
1953   final private boolean jj_3_34() {
1954     if (jj_scan_token(OR)) return true;
1955     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1956     Token xsp;
1957     xsp = jj_scanpos;
1958     if (jj_3_32()) jj_scanpos = xsp;
1959     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1960     if (jj_3R_21()) return true;
1961     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1962     xsp = jj_scanpos;
1963     if (jj_3_33()) jj_scanpos = xsp;
1964     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1965     return false;
1966   }
1967 
1968   final private boolean jj_3_78() {
1969     if (jj_scan_token(PUBLIC_GE)) return true;
1970     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1971     if (jj_scan_token(PUBLITER_GE)) return true;
1972     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1973     if (jj_scan_token(S_GE_PUB)) return true;
1974     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1975     return false;
1976   }
1977 
1978   final private boolean jj_3_38() {
1979     Token xsp;
1980     if (jj_3_34()) return true;
1981     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1982     while (true) {
1983       xsp = jj_scanpos;
1984       if (jj_3_34()) { jj_scanpos = xsp; break; }
1985       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1986     }
1987     if (jj_scan_token(RIGHT_PAREN)) return true;
1988     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1989     return false;
1990   }
1991 
1992   final private boolean jj_3_82() {
1993     Token xsp;
1994     xsp = jj_scanpos;
1995     if (jj_3_78()) {
1996     jj_scanpos = xsp;
1997     if (jj_3_79()) return true;
1998     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
1999     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2000     xsp = jj_scanpos;
2001     if (jj_3_80()) jj_scanpos = xsp;
2002     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2003     return false;
2004   }
2005 
2006   final private boolean jj_3_81() {
2007     if (jj_3R_23()) return true;
2008     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2009     return false;
2010   }
2011 
2012   final private boolean jj_3R_20() {
2013     if (jj_scan_token(LEFT_PAREN)) return true;
2014     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2015     Token xsp;
2016     xsp = jj_scanpos;
2017     if (jj_3_30()) jj_scanpos = xsp;
2018     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2019     if (jj_3R_21()) return true;
2020     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2021     xsp = jj_scanpos;
2022     if (jj_3_31()) jj_scanpos = xsp;
2023     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2024     xsp = jj_scanpos;
2025     if (jj_3_38()) {
2026     jj_scanpos = xsp;
2027     if (jj_3_39()) {
2028     jj_scanpos = xsp;
2029     if (jj_3_40()) return true;
2030     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2031     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2032     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2033     return false;
2034   }
2035 
2036   final private boolean jj_3R_15() {
2037     if (jj_scan_token(BEGIN_GE_DECL)) return true;
2038     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2039     if (jj_scan_token(S_GE)) return true;
2040     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2041     if (jj_scan_token(NAME_GE)) return true;
2042     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2043     return false;
2044   }
2045 
2046   final private boolean jj_3_23() {
2047     if (jj_scan_token(S)) return true;
2048     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2049     return false;
2050   }
2051 
2052   final private boolean jj_3_21() {
2053     if (jj_scan_token(S)) return true;
2054     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2055     return false;
2056   }
2057 
2058   final private boolean jj_3_29() {
2059     if (jj_3R_18()) return true;
2060     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2061     return false;
2062   }
2063 
2064   final private boolean jj_3_28() {
2065     if (jj_3R_20()) return true;
2066     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2067     return false;
2068   }
2069 
2070   final private boolean jj_3_27() {
2071     if (jj_scan_token(NAME)) return true;
2072     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2073     return false;
2074   }
2075 
2076   final private boolean jj_3_75() {
2077     if (jj_scan_token(ATTR_VALUE_CHAR_SQ)) return true;
2078     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2079     return false;
2080   }
2081 
2082   final private boolean jj_3R_21() {
2083     Token xsp;
2084     xsp = jj_scanpos;
2085     if (jj_3_27()) {
2086     jj_scanpos = xsp;
2087     if (jj_3_28()) return true;
2088     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2089     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2090     xsp = jj_scanpos;
2091     if (jj_3_29()) jj_scanpos = xsp;
2092     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2093     return false;
2094   }
2095 
2096   final private boolean jj_3_77() {
2097     if (jj_scan_token(START_SQ_ATTR)) return true;
2098     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2099     Token xsp;
2100     while (true) {
2101       xsp = jj_scanpos;
2102       if (jj_3_75()) { jj_scanpos = xsp; break; }
2103       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2104     }
2105     if (jj_scan_token(END_SQ_ATTR)) return true;
2106     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2107     return false;
2108   }
2109 
2110   final private boolean jj_3_74() {
2111     if (jj_scan_token(ATTR_VALUE_CHAR_DQ)) return true;
2112     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2113     return false;
2114   }
2115 
2116   final private boolean jj_3_22() {
2117     if (jj_scan_token(S)) return true;
2118     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2119     return false;
2120   }
2121 
2122   final private boolean jj_3_20() {
2123     if (jj_scan_token(S)) return true;
2124     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2125     return false;
2126   }
2127 
2128   final private boolean jj_3_76() {
2129     if (jj_scan_token(START_DQ_ATTR)) return true;
2130     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2131     Token xsp;
2132     while (true) {
2133       xsp = jj_scanpos;
2134       if (jj_3_74()) { jj_scanpos = xsp; break; }
2135       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2136     }
2137     if (jj_scan_token(END_DQ_ATTR)) return true;
2138     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2139     return false;
2140   }
2141 
2142   final private boolean jj_3_26() {
2143     if (jj_scan_token(RIGHT_PAREN)) return true;
2144     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2145     return false;
2146   }
2147 
2148   final private boolean jj_3_45() {
2149     if (jj_scan_token(S_ATTR)) return true;
2150     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2151     return false;
2152   }
2153 
2154   final private boolean jj_3_24() {
2155     if (jj_scan_token(OR)) return true;
2156     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2157     Token xsp;
2158     xsp = jj_scanpos;
2159     if (jj_3_22()) jj_scanpos = xsp;
2160     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2161     if (jj_scan_token(NAME)) return true;
2162     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2163     xsp = jj_scanpos;
2164     if (jj_3_23()) jj_scanpos = xsp;
2165     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2166     return false;
2167   }
2168 
2169   final private boolean jj_3_48() {
2170     if (jj_scan_token(S_ATTR)) return true;
2171     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2172     return false;
2173   }
2174 
2175   final private boolean jj_3R_22() {
2176     Token xsp;
2177     xsp = jj_scanpos;
2178     if (jj_3_76()) {
2179     jj_scanpos = xsp;
2180     if (jj_3_77()) return true;
2181     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2182     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2183     return false;
2184   }
2185 
2186   final private boolean jj_3_25() {
2187     Token xsp;
2188     if (jj_3_24()) return true;
2189     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2190     while (true) {
2191       xsp = jj_scanpos;
2192       if (jj_3_24()) { jj_scanpos = xsp; break; }
2193       if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2194     }
2195     if (jj_scan_token(RIGHT_PAREN)) return true;
2196     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2197     return false;
2198   }
2199 
2200   final private boolean jj_3R_19() {
2201     if (jj_scan_token(LEFT_PAREN)) return true;
2202     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2203     Token xsp;
2204     xsp = jj_scanpos;
2205     if (jj_3_20()) jj_scanpos = xsp;
2206     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2207     if (jj_scan_token(PCDATA)) return true;
2208     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2209     xsp = jj_scanpos;
2210     if (jj_3_21()) jj_scanpos = xsp;
2211     else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2212     xsp = jj_scanpos;
2213     if (jj_3_25()) {
2214     jj_scanpos = xsp;
2215     if (jj_3_26()) return true;
2216     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2217     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2218     return false;
2219   }
2220 
2221   final private boolean jj_3_56() {
2222     if (jj_scan_token(NMTOKEN_ATTR)) return true;
2223     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2224     return false;
2225   }
2226 
2227   final private boolean jj_3_73() {
2228     if (jj_scan_token(S_ATTR)) return true;
2229     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2230     return false;
2231   }
2232 
2233   final private boolean jj_3_71() {
2234     if (jj_3R_22()) return true;
2235     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2236     return false;
2237   }
2238 
2239   final private boolean jj_3_51() {
2240     if (jj_scan_token(NMTOKEN_ATTR)) return true;
2241     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2242     return false;
2243   }
2244 
2245   final private boolean jj_3_13() {
2246     if (jj_3R_18()) return true;
2247     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2248     return false;
2249   }
2250 
2251   final private boolean jj_3_70() {
2252     if (jj_scan_token(FIXED)) return true;
2253     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2254     if (jj_scan_token(S_ATTR)) return true;
2255     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2256     if (jj_3R_22()) return true;
2257     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2258     return false;
2259   }
2260 
2261   final private boolean jj_3_19() {
2262     if (jj_scan_token(S)) return true;
2263     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2264     return false;
2265   }
2266 
2267   final private boolean jj_3_15() {
2268     if (jj_3R_20()) return true;
2269     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2270     return false;
2271   }
2272 
2273   final private boolean jj_3_49() {
2274     if (jj_scan_token(S_ATTR)) return true;
2275     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2276     return false;
2277   }
2278 
2279   final private boolean jj_3_54() {
2280     if (jj_scan_token(S_ATTR)) return true;
2281     if (jj_la == 0 && jj_scanpos == jj_lastpos) return false;
2282     return false;
2283   }
2284 
2285   public DTDParserTokenManager token_source;
2286   public Token token, jj_nt;
2287   private Token jj_scanpos, jj_lastpos;
2288   private int jj_la;
2289   public boolean lookingAhead = false;
2290   private int jj_gen;
2291   final private int[] jj_la1 = new int[0];
2292   final private int[] jj_la1_0 = {};
2293   final private int[] jj_la1_1 = {};
2294   final private int[] jj_la1_2 = {};
2295   final private JJCalls[] jj_2_rtns = new JJCalls[95];
2296   private boolean jj_rescan = false;
2297   private int jj_gc = 0;
2298 
2299   public DTDParser(CharStream stream) {
2300     token_source = new DTDParserTokenManager(stream);
2301     token = new Token();
2302     jj_gen = 0;
2303     for (int i = 0; i < 0; i++) jj_la1[i] = -1;
2304     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
2305   }
2306 
2307   public void ReInit(CharStream stream) {
2308     token_source.ReInit(stream);
2309     token = new Token();
2310     jj_gen = 0;
2311     for (int i = 0; i < 0; i++) jj_la1[i] = -1;
2312     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
2313   }
2314 
2315   public DTDParser(DTDParserTokenManager tm) {
2316     token_source = tm;
2317     token = new Token();
2318     jj_gen = 0;
2319     for (int i = 0; i < 0; i++) jj_la1[i] = -1;
2320     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
2321   }
2322 
2323   public void ReInit(DTDParserTokenManager tm) {
2324     token_source = tm;
2325     token = new Token();
2326     jj_gen = 0;
2327     for (int i = 0; i < 0; i++) jj_la1[i] = -1;
2328     for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
2329   }
2330 
2331   final private Token jj_consume_token(int kind) throws ParseException {
2332     Token oldToken;
2333     if ((oldToken = token).next != null) token = token.next;
2334     else token = token.next = token_source.getNextToken();
2335     if (token.kind == kind) {
2336       jj_gen++;
2337       if (++jj_gc > 100) {
2338         jj_gc = 0;
2339         for (int i = 0; i < jj_2_rtns.length; i++) {
2340           JJCalls c = jj_2_rtns[i];
2341           while (c != null) {
2342             if (c.gen < jj_gen) c.first = null;
2343             c = c.next;
2344           }
2345         }
2346       }
2347       return token;
2348     }
2349     token = oldToken;
2350     jj_kind = kind;
2351     throw generateParseException();
2352   }
2353 
2354   final private boolean jj_scan_token(int kind) {
2355     if (jj_scanpos == jj_lastpos) {
2356       jj_la--;
2357       if (jj_scanpos.next == null) {
2358         jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
2359       } else {
2360         jj_lastpos = jj_scanpos = jj_scanpos.next;
2361       }
2362     } else {
2363       jj_scanpos = jj_scanpos.next;
2364     }
2365     if (jj_rescan) {
2366       int i = 0; Token tok = token;
2367       while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
2368       if (tok != null) jj_add_error_token(kind, i);
2369     }
2370     return (jj_scanpos.kind != kind);
2371   }
2372 
2373   final public Token getNextToken() {
2374     if (token.next != null) token = token.next;
2375     else token = token.next = token_source.getNextToken();
2376     jj_gen++;
2377     return token;
2378   }
2379 
2380   final public Token getToken(int index) {
2381     Token t = lookingAhead ? jj_scanpos : token;
2382     for (int i = 0; i < index; i++) {
2383       if (t.next != null) t = t.next;
2384       else t = t.next = token_source.getNextToken();
2385     }
2386     return t;
2387   }
2388 
2389   private java.util.Vector jj_expentries = new java.util.Vector();
2390   private int[] jj_expentry;
2391   private int jj_kind = -1;
2392   private int[] jj_lasttokens = new int[100];
2393   private int jj_endpos;
2394 
2395   private void jj_add_error_token(int kind, int pos) {
2396     if (pos >= 100) return;
2397     if (pos == jj_endpos + 1) {
2398       jj_lasttokens[jj_endpos++] = kind;
2399     } else if (jj_endpos != 0) {
2400       jj_expentry = new int[jj_endpos];
2401       for (int i = 0; i < jj_endpos; i++) {
2402         jj_expentry[i] = jj_lasttokens[i];
2403       }
2404       boolean exists = false;
2405       for (java.util.Enumeration enumeration = jj_expentries.elements(); enumeration.hasMoreElements();) {
2406         int[] oldentry = (int[])(enumeration.nextElement());
2407         if (oldentry.length == jj_expentry.length) {
2408           exists = true;
2409           for (int i = 0; i < jj_expentry.length; i++) {
2410             if (oldentry[i] != jj_expentry[i]) {
2411               exists = false;
2412               break;
2413             }
2414           }
2415           if (exists) break;
2416         }
2417       }
2418       if (!exists) jj_expentries.addElement(jj_expentry);
2419       if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
2420     }
2421   }
2422 
2423   final public ParseException generateParseException() {
2424     jj_expentries.removeAllElements();
2425     boolean[] la1tokens = new boolean[77];
2426     for (int i = 0; i < 77; i++) {
2427       la1tokens[i] = false;
2428     }
2429     if (jj_kind >= 0) {
2430       la1tokens[jj_kind] = true;
2431       jj_kind = -1;
2432     }
2433     for (int i = 0; i < 0; i++) {
2434       if (jj_la1[i] == jj_gen) {
2435         for (int j = 0; j < 32; j++) {
2436           if ((jj_la1_0[i] & (1<<j)) != 0) {
2437             la1tokens[j] = true;
2438           }
2439           if ((jj_la1_1[i] & (1<<j)) != 0) {
2440             la1tokens[32+j] = true;
2441           }
2442           if ((jj_la1_2[i] & (1<<j)) != 0) {
2443             la1tokens[64+j] = true;
2444           }
2445         }
2446       }
2447     }
2448     for (int i = 0; i < 77; i++) {
2449       if (la1tokens[i]) {
2450         jj_expentry = new int[1];
2451         jj_expentry[0] = i;
2452         jj_expentries.addElement(jj_expentry);
2453       }
2454     }
2455     jj_endpos = 0;
2456     jj_rescan_token();
2457     jj_add_error_token(0, 0);
2458     int[][] exptokseq = new int[jj_expentries.size()][];
2459     for (int i = 0; i < jj_expentries.size(); i++) {
2460       exptokseq[i] = (int[])jj_expentries.elementAt(i);
2461     }
2462     return new ParseException(token, exptokseq, tokenImage);
2463   }
2464 
2465   final public void enable_tracing() {
2466   }
2467 
2468   final public void disable_tracing() {
2469   }
2470 
2471   final private void jj_rescan_token() {
2472     jj_rescan = true;
2473     for (int i = 0; i < 95; i++) {
2474       JJCalls p = jj_2_rtns[i];
2475       do {
2476         if (p.gen > jj_gen) {
2477           jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
2478           switch (i) {
2479             case 0: jj_3_1(); break;
2480             case 1: jj_3_2(); break;
2481             case 2: jj_3_3(); break;
2482             case 3: jj_3_4(); break;
2483             case 4: jj_3_5(); break;
2484             case 5: jj_3_6(); break;
2485             case 6: jj_3_7(); break;
2486             case 7: jj_3_8(); break;
2487             case 8: jj_3_9(); break;
2488             case 9: jj_3_10(); break;
2489             case 10: jj_3_11(); break;
2490             case 11: jj_3_12(); break;
2491             case 12: jj_3_13(); break;
2492             case 13: jj_3_14(); break;
2493             case 14: jj_3_15(); break;
2494             case 15: jj_3_16(); break;
2495             case 16: jj_3_17(); break;
2496             case 17: jj_3_18(); break;
2497             case 18: jj_3_19(); break;
2498             case 19: jj_3_20(); break;
2499             case 20: jj_3_21(); break;
2500             case 21: jj_3_22(); break;
2501             case 22: jj_3_23(); break;
2502             case 23: jj_3_24(); break;
2503             case 24: jj_3_25(); break;
2504             case 25: jj_3_26(); break;
2505             case 26: jj_3_27(); break;
2506             case 27: jj_3_28(); break;
2507             case 28: jj_3_29(); break;
2508             case 29: jj_3_30(); break;
2509             case 30: jj_3_31(); break;
2510             case 31: jj_3_32(); break;
2511             case 32: jj_3_33(); break;
2512             case 33: jj_3_34(); break;
2513             case 34: jj_3_35(); break;
2514             case 35: jj_3_36(); break;
2515             case 36: jj_3_37(); break;
2516             case 37: jj_3_38(); break;
2517             case 38: jj_3_39(); break;
2518             case 39: jj_3_40(); break;
2519             case 40: jj_3_41(); break;
2520             case 41: jj_3_42(); break;
2521             case 42: jj_3_43(); break;
2522             case 43: jj_3_44(); break;
2523             case 44: jj_3_45(); break;
2524             case 45: jj_3_46(); break;
2525             case 46: jj_3_47(); break;
2526             case 47: jj_3_48(); break;
2527             case 48: jj_3_49(); break;
2528             case 49: jj_3_50(); break;
2529             case 50: jj_3_51(); break;
2530             case 51: jj_3_52(); break;
2531             case 52: jj_3_53(); break;
2532             case 53: jj_3_54(); break;
2533             case 54: jj_3_55(); break;
2534             case 55: jj_3_56(); break;
2535             case 56: jj_3_57(); break;
2536             case 57: jj_3_58(); break;
2537             case 58: jj_3_59(); break;
2538             case 59: jj_3_60(); break;
2539             case 60: jj_3_61(); break;
2540             case 61: jj_3_62(); break;
2541             case 62: jj_3_63(); break;
2542             case 63: jj_3_64(); break;
2543             case 64: jj_3_65(); break;
2544             case 65: jj_3_66(); break;
2545             case 66: jj_3_67(); break;
2546             case 67: jj_3_68(); break;
2547             case 68: jj_3_69(); break;
2548             case 69: jj_3_70(); break;
2549             case 70: jj_3_71(); break;
2550             case 71: jj_3_72(); break;
2551             case 72: jj_3_73(); break;
2552             case 73: jj_3_74(); break;
2553             case 74: jj_3_75(); break;
2554             case 75: jj_3_76(); break;
2555             case 76: jj_3_77(); break;
2556             case 77: jj_3_78(); break;
2557             case 78: jj_3_79(); break;
2558             case 79: jj_3_80(); break;
2559             case 80: jj_3_81(); break;
2560             case 81: jj_3_82(); break;
2561             case 82: jj_3_83(); break;
2562             case 83: jj_3_84(); break;
2563             case 84: jj_3_85(); break;
2564             case 85: jj_3_86(); break;
2565             case 86: jj_3_87(); break;
2566             case 87: jj_3_88(); break;
2567             case 88: jj_3_89(); break;
2568             case 89: jj_3_90(); break;
2569             case 90: jj_3_91(); break;
2570             case 91: jj_3_92(); break;
2571             case 92: jj_3_93(); break;
2572             case 93: jj_3_94(); break;
2573             case 94: jj_3_95(); break;
2574           }
2575         }
2576         p = p.next;
2577       } while (p != null);
2578     }
2579     jj_rescan = false;
2580   }
2581 
2582   final private void jj_save(int index, int xla) {
2583     JJCalls p = jj_2_rtns[index];
2584     while (p.gen > jj_gen) {
2585       if (p.next == null) { p = p.next = new JJCalls(); break; }
2586       p = p.next;
2587     }
2588     p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
2589   }
2590 
2591   static final class JJCalls {
2592     int gen;
2593     Token first;
2594     int arg;
2595     JJCalls next;
2596   }
2597 
2598 }