Add built local::lib
[catagits/Gitalist.git] / local-lib5 / lib / perl5 / Syntax / Highlight / Engine / Kate / XML_Debug.pm
CommitLineData
3fea05b9 1# Copyright (c) 2005 - 2006 Hans Jeuken. All rights reserved.
2# This program is free software; you can redistribute it and/or
3# modify it under the same terms as Perl itself.
4
5# This file was generated from the 'katexml/xmldebug.xml' file of the syntax highlight
6# engine of the kate text editor (http://kate.kde.org
7
8#kate xml version 1.02
9#kate version 2.3
10#generated: Wed Nov 1 21:17:55 2006, localtime
11
12package Syntax::Highlight::Engine::Kate::XML_Debug;
13
14our $VERSION = '0.06';
15
16use strict;
17use warnings;
18use base('Syntax::Highlight::Engine::Kate::Template');
19
20sub new {
21 my $proto = shift;
22 my $class = ref($proto) || $proto;
23 my $self = $class->SUPER::new(@_);
24 $self->attributes({
25 'Attribute' => 'DataType',
26 'Comment' => 'Comment',
27 'Doctype Declaration' => 'Keyword',
28 'Entity' => 'Char',
29 'Error' => 'Error',
30 'Normal Tag' => 'Keyword',
31 'Normal Text' => 'Normal',
32 'PI content' => 'Others',
33 'Processing Instruction' => 'Keyword',
34 'Stylesheet' => 'Keyword',
35 'Value' => 'String',
36 });
37 $self->listAdd('AttType',
38 'CDATA',
39 'ENTITIES',
40 'ENTITY',
41 'ID',
42 'IDREF',
43 'IDREFS',
44 'NMTOKEN',
45 'NMTOKENS',
46 );
47 $self->contextdata({
48 '0:prolog' => {
49 callback => \&parse0prolog,
50 attribute => 'Error',
51 },
52 '10:XMLDecl Standalone' => {
53 callback => \&parse10XMLDeclStandalone,
54 attribute => 'Error',
55 },
56 '11:Misc after XMLDecl' => {
57 callback => \&parse11MiscafterXMLDecl,
58 attribute => 'Error',
59 },
60 '12:Comment after XMLDecl' => {
61 callback => \&parse12CommentafterXMLDecl,
62 attribute => 'Comment',
63 },
64 '13:PI after XMLDecl' => {
65 callback => \&parse13PIafterXMLDecl,
66 attribute => 'Processing Instruction Body',
67 },
68 '14:Doctype Decl Name' => {
69 callback => \&parse14DoctypeDeclName,
70 attribute => 'Error',
71 },
72 '15:Doctype Decl ExternalID' => {
73 callback => \&parse15DoctypeDeclExternalID,
74 attribute => 'Error',
75 },
76 '16:Doctype Decl PublicID' => {
77 callback => \&parse16DoctypeDeclPublicID,
78 attribute => 'Error',
79 },
80 '17:Doctype Decl PublicID qq' => {
81 callback => \&parse17DoctypeDeclPublicIDqq,
82 attribute => 'Error',
83 },
84 '18:Doctype Decl PublicID q' => {
85 callback => \&parse18DoctypeDeclPublicIDq,
86 attribute => 'Value',
87 },
88 '19:Doctype Decl SystemID' => {
89 callback => \&parse19DoctypeDeclSystemID,
90 attribute => 'Error',
91 },
92 '1:XMLDecl Version' => {
93 callback => \&parse1XMLDeclVersion,
94 attribute => 'Error',
95 },
96 '20:Doctype Decl SystemID qq' => {
97 callback => \&parse20DoctypeDeclSystemIDqq,
98 attribute => 'Value',
99 },
100 '21:Doctype Decl SystemID q' => {
101 callback => \&parse21DoctypeDeclSystemIDq,
102 attribute => 'Value',
103 },
104 '22:Doctype Decl IS or end' => {
105 callback => \&parse22DoctypeDeclISorend,
106 attribute => 'Error',
107 },
108 '23:Doctype Decl IS' => {
109 callback => \&parse23DoctypeDeclIS,
110 attribute => 'Error',
111 },
112 '24:elementdecl' => {
113 callback => \&parse24elementdecl,
114 attribute => 'Error',
115 },
116 '25:contentspec' => {
117 callback => \&parse25contentspec,
118 attribute => 'Error',
119 },
120 '26:MixedOrChildren' => {
121 callback => \&parse26MixedOrChildren,
122 attribute => 'Error',
123 },
124 '27:MixedShort' => {
125 callback => \&parse27MixedShort,
126 attribute => 'Error',
127 },
128 '28:MixedLong' => {
129 callback => \&parse28MixedLong,
130 attribute => 'Error',
131 },
132 '29:MixedLong endOrContinue' => {
133 callback => \&parse29MixedLongendOrContinue,
134 attribute => 'Error',
135 },
136 '2:XMLDecl Version Eq' => {
137 callback => \&parse2XMLDeclVersionEq,
138 attribute => 'Error',
139 lineending => '5:XMLDecl Encoding Eq',
140 },
141 '30:children unknown' => {
142 callback => \&parse30childrenunknown,
143 attribute => 'Error',
144 },
145 '31:children unknownOrEnd' => {
146 callback => \&parse31childrenunknownOrEnd,
147 attribute => 'Error',
148 },
149 '32:children unknownName' => {
150 callback => \&parse32childrenunknownName,
151 attribute => 'Error',
152 },
153 '33:children choice' => {
154 callback => \&parse33childrenchoice,
155 attribute => 'Error',
156 },
157 '34:children choiceOrEnd' => {
158 callback => \&parse34childrenchoiceOrEnd,
159 attribute => 'Error',
160 },
161 '35:children seq' => {
162 callback => \&parse35childrenseq,
163 attribute => 'Error',
164 },
165 '36:children seqOrEnd' => {
166 callback => \&parse36childrenseqOrEnd,
167 attribute => 'Error',
168 },
169 '37:element end' => {
170 callback => \&parse37elementend,
171 attribute => 'Error',
172 },
173 '38:AttlistDecl' => {
174 callback => \&parse38AttlistDecl,
175 attribute => 'Error',
176 },
177 '39:AttDef' => {
178 callback => \&parse39AttDef,
179 attribute => 'Error',
180 },
181 '3:XMLDecl Version' => {
182 callback => \&parse3XMLDeclVersion,
183 attribute => 'Error',
184 },
185 '40:AttType' => {
186 callback => \&parse40AttType,
187 attribute => 'Error',
188 },
189 '41:NotationStart' => {
190 callback => \&parse41NotationStart,
191 attribute => 'Error',
192 },
193 '42:Notation' => {
194 callback => \&parse42Notation,
195 attribute => 'Error',
196 },
197 '43:Notation or End' => {
198 callback => \&parse43NotationorEnd,
199 attribute => 'Error',
200 },
201 '44:Enumeration' => {
202 callback => \&parse44Enumeration,
203 attribute => 'Error',
204 },
205 '45:Enumeration or End' => {
206 callback => \&parse45EnumerationorEnd,
207 attribute => 'Error',
208 },
209 '46:DefaultDecl' => {
210 callback => \&parse46DefaultDecl,
211 attribute => 'Error',
212 },
213 '47:DefaultDecl AttValue' => {
214 callback => \&parse47DefaultDeclAttValue,
215 attribute => 'Error',
216 },
217 '48:DefaultDecl AttValue qq' => {
218 callback => \&parse48DefaultDeclAttValueqq,
219 attribute => 'Value',
220 },
221 '49:DefaultDecl AttValue q' => {
222 callback => \&parse49DefaultDeclAttValueq,
223 attribute => 'Value',
224 },
225 '4:XMLDecl Encoding' => {
226 callback => \&parse4XMLDeclEncoding,
227 attribute => 'Error',
228 },
229 '50:EntityDecl' => {
230 callback => \&parse50EntityDecl,
231 attribute => 'Error',
232 },
233 '51:unused' => {
234 callback => \&parse51unused,
235 attribute => 'Error',
236 },
237 '52:GEDecl EntityValueOrExternalID' => {
238 callback => \&parse52GEDeclEntityValueOrExternalID,
239 attribute => 'Error',
240 },
241 '53:GEDecl EntityValue qq' => {
242 callback => \&parse53GEDeclEntityValueqq,
243 attribute => 'Value',
244 },
245 '54:GEDecl EntityValue q' => {
246 callback => \&parse54GEDeclEntityValueq,
247 attribute => 'Value',
248 },
249 '55:GEDecl PublicID' => {
250 callback => \&parse55GEDeclPublicID,
251 attribute => 'Error',
252 },
253 '56:GEDecl PublicID qq' => {
254 callback => \&parse56GEDeclPublicIDqq,
255 attribute => 'Error',
256 },
257 '57:GEDecl PublicID q' => {
258 callback => \&parse57GEDeclPublicIDq,
259 attribute => 'Value',
260 },
261 '58:GEDecl SystemID' => {
262 callback => \&parse58GEDeclSystemID,
263 attribute => 'Error',
264 },
265 '59:GEDecl SystemID qq' => {
266 callback => \&parse59GEDeclSystemIDqq,
267 attribute => 'Value',
268 },
269 '5:XMLDecl Encoding Eq' => {
270 callback => \&parse5XMLDeclEncodingEq,
271 attribute => 'Error',
272 },
273 '60:GEDecl SystemID q' => {
274 callback => \&parse60GEDeclSystemIDq,
275 attribute => 'Value',
276 },
277 '61:PEDecl' => {
278 callback => \&parse61PEDecl,
279 attribute => 'Error',
280 },
281 '62:PEDecl EntityValueOrExternalID' => {
282 callback => \&parse62PEDeclEntityValueOrExternalID,
283 attribute => 'Error',
284 },
285 '63:PEDecl PublicID' => {
286 callback => \&parse63PEDeclPublicID,
287 attribute => 'Error',
288 },
289 '64:PEDecl PublicID qq' => {
290 callback => \&parse64PEDeclPublicIDqq,
291 attribute => 'Error',
292 },
293 '65:PEDecl PublicID q' => {
294 callback => \&parse65PEDeclPublicIDq,
295 attribute => 'Value',
296 },
297 '66:PEDecl SystemID' => {
298 callback => \&parse66PEDeclSystemID,
299 attribute => 'Error',
300 },
301 '67:PEDecl SystemID qq' => {
302 callback => \&parse67PEDeclSystemIDqq,
303 attribute => 'Value',
304 },
305 '68:PEDecl SystemID q' => {
306 callback => \&parse68PEDeclSystemIDq,
307 attribute => 'Value',
308 },
309 '69:GEDecl endOrNDATA' => {
310 callback => \&parse69GEDeclendOrNDATA,
311 attribute => 'Error',
312 },
313 '6:XMLDecl Encoding' => {
314 callback => \&parse6XMLDeclEncoding,
315 attribute => 'Error',
316 },
317 '70:GEDecl NDATA' => {
318 callback => \&parse70GEDeclNDATA,
319 attribute => 'Error',
320 },
321 '71:NotationDecl Name' => {
322 callback => \&parse71NotationDeclName,
323 attribute => 'Error',
324 },
325 '72:NotationDecl ExternalID' => {
326 callback => \&parse72NotationDeclExternalID,
327 attribute => 'Error',
328 },
329 '73:NotationDecl PublicID' => {
330 callback => \&parse73NotationDeclPublicID,
331 attribute => 'Error',
332 },
333 '74:NotationDecl PublicID qq' => {
334 callback => \&parse74NotationDeclPublicIDqq,
335 attribute => 'Error',
336 },
337 '75:NotationDecl PublicID q' => {
338 callback => \&parse75NotationDeclPublicIDq,
339 attribute => 'Value',
340 },
341 '76:NotationDecl SystemIDOrEnd' => {
342 callback => \&parse76NotationDeclSystemIDOrEnd,
343 attribute => 'Error',
344 },
345 '77:Comment inside IS' => {
346 callback => \&parse77CommentinsideIS,
347 attribute => 'Comment',
348 },
349 '78:PI inside IS' => {
350 callback => \&parse78PIinsideIS,
351 attribute => 'Processing Instruction Body',
352 },
353 '79:Outside' => {
354 callback => \&parse79Outside,
355 attribute => 'Normal Text',
356 },
357 '7:XMLDecl Standalone' => {
358 callback => \&parse7XMLDeclStandalone,
359 attribute => 'Error',
360 },
361 '80:STag' => {
362 callback => \&parse80STag,
363 attribute => 'Error',
364 },
365 '81:STag Attribute' => {
366 callback => \&parse81STagAttribute,
367 attribute => 'Error',
368 },
369 '82:STag Attribute Value' => {
370 callback => \&parse82STagAttributeValue,
371 attribute => 'Error',
372 },
373 '83:STag Value qq' => {
374 callback => \&parse83STagValueqq,
375 attribute => 'Value',
376 },
377 '84:STag Value q' => {
378 callback => \&parse84STagValueq,
379 attribute => 'Value',
380 },
381 '85:ETag' => {
382 callback => \&parse85ETag,
383 attribute => 'Error',
384 },
385 '86:CDSect' => {
386 callback => \&parse86CDSect,
387 attribute => 'Normal Text',
388 },
389 '87:Comment inside IS' => {
390 callback => \&parse87CommentinsideIS,
391 attribute => 'Comment',
392 },
393 '88:PI inside IS' => {
394 callback => \&parse88PIinsideIS,
395 attribute => 'Processing Instruction Body',
396 },
397 '8:XMLDecl Standalone Eq' => {
398 callback => \&parse8XMLDeclStandaloneEq,
399 attribute => 'Error',
400 },
401 '9:XMLDecl Standalone' => {
402 callback => \&parse9XMLDeclStandalone,
403 attribute => 'Error',
404 },
405 });
406 $self->deliminators('\\s||\\.|\\(|\\)|:|\\!|\\+|,|-|<|=|>|\\%|\\&|\\*|\\/|;|\\?|\\[|\\]|\\^|\\{|\\||\\}|\\~|\\\\');
407 $self->basecontext('0:prolog');
408 $self->keywordscase(1);
409 $self->initialize;
410 bless ($self, $class);
411 return $self;
412}
413
414sub language {
415 return 'XML (Debug)';
416}
417
418sub parse0prolog {
419 my ($self, $text) = @_;
420 # type => RegExpr
421 if ($self->testRegExpr($text, '<\\?xml(\\s+|$)', 0, 0, 0, undef, 0, '1:XMLDecl Version', 'Doctype Declaration')) {
422 return 1
423 }
424 return 0;
425};
426
427sub parse10XMLDeclStandalone {
428 my ($self, $text) = @_;
429 # type => RegExpr
430 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
431 return 1
432 }
433 # type => RegExpr
434 if ($self->testRegExpr($text, '\\?>', 0, 0, 0, undef, 0, '11:Misc after XMLDecl', 'Doctype Declaration')) {
435 return 1
436 }
437 return 0;
438};
439
440sub parse11MiscafterXMLDecl {
441 my ($self, $text) = @_;
442 # type => RegExpr
443 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Normal Text')) {
444 return 1
445 }
446 # type => RegExpr
447 if ($self->testRegExpr($text, '\\s*<!--\\s*', 0, 0, 0, undef, 0, '12:Comment after XMLDecl', 'Comment')) {
448 return 1
449 }
450 # type => RegExpr
451 if ($self->testRegExpr($text, '\\s*<\\?xml-stylesheet(\\s+|$)', 0, 0, 0, undef, 0, '13:PI after XMLDecl', 'Processing Instruction')) {
452 return 1
453 }
454 # type => RegExpr
455 if ($self->testRegExpr($text, '\\s*<\\??[xX][mM][lL]', 0, 0, 0, undef, 0, '13:PI after XMLDecl', 'Error')) {
456 return 1
457 }
458 # type => RegExpr
459 if ($self->testRegExpr($text, '\\s*<\\?[a-zA-Z_][a-zA-Z0-9_-]*(:[a-zA-Z0-9_-]*)?(\\s+|$)', 0, 0, 0, undef, 0, '13:PI after XMLDecl', 'Processing Instruction')) {
460 return 1
461 }
462 # type => RegExpr
463 if ($self->testRegExpr($text, '<!DOCTYPE(\\s+|$)', 0, 0, 0, undef, 0, '14:Doctype Decl Name', 'Doctype Declaration')) {
464 return 1
465 }
466 # type => RegExpr
467 if ($self->testRegExpr($text, '<[xX][mM][lL](\\w|[_.-])*(:(\\w|[_.-])+)?', 0, 0, 0, undef, 0, '80:STag', 'Error')) {
468 return 1
469 }
470 # type => RegExpr
471 if ($self->testRegExpr($text, '<(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|_)(\\w|[_.-])*(:(\\w|[_.-])+)?', 0, 0, 0, undef, 0, '80:STag', 'Normal Tag')) {
472 return 1
473 }
474 # type => RegExpr
475 if ($self->testRegExpr($text, '<(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[:_])(\\w|[:_.-])*', 0, 0, 0, undef, 0, '80:STag', 'Error')) {
476 return 1
477 }
478 # type => RegExpr
479 if ($self->testRegExpr($text, '</[xX][mM][lL](\\w|[_.-])*(:(\\w|[_.-])+)?', 0, 0, 0, undef, 0, '85:ETag', 'Error')) {
480 return 1
481 }
482 # type => RegExpr
483 if ($self->testRegExpr($text, '</(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|_)(\\w|[_.-])*(:(\\w|[_.-])+)?', 0, 0, 0, undef, 0, '85:ETag', 'Normal Tag')) {
484 return 1
485 }
486 # type => RegExpr
487 if ($self->testRegExpr($text, '</(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[:_])(\\w|[:_.-])*', 0, 0, 0, undef, 0, '85:ETag', 'Error')) {
488 return 1
489 }
490 # type => RegExpr
491 if ($self->testRegExpr($text, '&(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*;', 0, 0, 0, undef, 0, '79:Outside', 'Entity')) {
492 return 1
493 }
494 # type => RegExpr
495 if ($self->testRegExpr($text, '&#(x[0-9a-fA-F]+|[0-9]+);', 0, 0, 0, undef, 0, '79:Outside', 'Entity')) {
496 return 1
497 }
498 # type => RegExpr
499 if ($self->testRegExpr($text, '<!\\[CDATA\\[', 0, 0, 0, undef, 0, '86:CDSect', 'Entity')) {
500 return 1
501 }
502 # type => RegExpr
503 if ($self->testRegExpr($text, '<!--', 0, 0, 0, undef, 0, '87:Comment inside IS', 'Comment')) {
504 return 1
505 }
506 # type => RegExpr
507 if ($self->testRegExpr($text, '<\\?xml-stylesheet(\\s|$)', 0, 0, 0, undef, 0, '88:PI inside IS', 'Normal Tag')) {
508 return 1
509 }
510 # type => RegExpr
511 if ($self->testRegExpr($text, '<\\?[xX][mM][lL](\\w|[_.-])*(:(\\w|[_.-])+)?', 0, 0, 0, undef, 0, '88:PI inside IS', 'Error')) {
512 return 1
513 }
514 # type => RegExpr
515 if ($self->testRegExpr($text, '<\\?(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|_)(\\w|[_.-])*(:(\\w|[_.-])+)?', 0, 0, 0, undef, 0, '88:PI inside IS', 'Normal Tag')) {
516 return 1
517 }
518 # type => RegExpr
519 if ($self->testRegExpr($text, '<\\?(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[:_])(\\w|[:_.-])*', 0, 0, 0, undef, 0, '88:PI inside IS', 'Error')) {
520 return 1
521 }
522 # type => DetectChar
523 if ($self->testDetectChar($text, '<', 0, 0, 0, undef, 0, '79:Outside', 'Error')) {
524 return 1
525 }
526 # type => DetectChar
527 if ($self->testDetectChar($text, '&', 0, 0, 0, undef, 0, '79:Outside', 'Error')) {
528 return 1
529 }
530 # type => RegExpr
531 if ($self->testRegExpr($text, '\\]\\]>', 0, 0, 0, undef, 0, '79:Outside', 'Error')) {
532 return 1
533 }
534 return 0;
535};
536
537sub parse12CommentafterXMLDecl {
538 my ($self, $text) = @_;
539 # type => RegExpr
540 if ($self->testRegExpr($text, '--->', 0, 0, 0, undef, 0, '#pop', 'Error')) {
541 return 1
542 }
543 # type => RegExpr
544 if ($self->testRegExpr($text, '-->', 0, 0, 0, undef, 0, '#pop', 'Comment')) {
545 return 1
546 }
547 # type => Detect2Chars
548 if ($self->testDetect2Chars($text, '-', '-', 0, 0, 0, undef, 0, '#stay', 'Error')) {
549 return 1
550 }
551 return 0;
552};
553
554sub parse13PIafterXMLDecl {
555 my ($self, $text) = @_;
556 # type => Detect2Chars
557 if ($self->testDetect2Chars($text, '?', '>', 0, 0, 0, undef, 0, '#pop', 'Processing Instruction')) {
558 return 1
559 }
560 return 0;
561};
562
563sub parse14DoctypeDeclName {
564 my ($self, $text) = @_;
565 # type => RegExpr
566 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*(\\s+|$)', 0, 0, 0, undef, 0, '15:Doctype Decl ExternalID', 'Doctype Declaration')) {
567 return 1
568 }
569 # type => RegExpr
570 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
571 return 1
572 }
573 return 0;
574};
575
576sub parse15DoctypeDeclExternalID {
577 my ($self, $text) = @_;
578 # type => RegExpr
579 if ($self->testRegExpr($text, 'PUBLIC(\\s+|$)', 0, 0, 0, undef, 0, '16:Doctype Decl PublicID', 'Doctype Declaration')) {
580 return 1
581 }
582 # type => RegExpr
583 if ($self->testRegExpr($text, 'SYSTEM(\\s+|$)', 0, 0, 0, undef, 0, '19:Doctype Decl SystemID', 'Doctype Declaration')) {
584 return 1
585 }
586 # type => DetectChar
587 if ($self->testDetectChar($text, '[', 0, 0, 0, undef, 0, '23:Doctype Decl IS', 'Doctype Declaration')) {
588 return 1
589 }
590 # type => DetectChar
591 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '23:Doctype Decl IS', 'Doctype Declaration')) {
592 return 1
593 }
594 # type => RegExpr
595 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
596 return 1
597 }
598 return 0;
599};
600
601sub parse16DoctypeDeclPublicID {
602 my ($self, $text) = @_;
603 # type => DetectChar
604 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '17:Doctype Decl PublicID qq', 'Value')) {
605 return 1
606 }
607 # type => DetectChar
608 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '18:Doctype Decl PublicID q', 'Value')) {
609 return 1
610 }
611 # type => RegExpr
612 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
613 return 1
614 }
615 return 0;
616};
617
618sub parse17DoctypeDeclPublicIDqq {
619 my ($self, $text) = @_;
620 # type => DetectChar
621 if ($self->testDetectChar($text, '"(\\s+|$)', 0, 0, 0, undef, 0, '19:Doctype Decl SystemID', 'Value')) {
622 return 1
623 }
624 # type => RegExpr
625 if ($self->testRegExpr($text, '[ \r
626a-zA-Z0-9\'()+,./:=?;!*#@$_%-]', 0, 0, 0, undef, 0, '#stay', 'Value')) {
627 return 1
628 }
629 return 0;
630};
631
632sub parse18DoctypeDeclPublicIDq {
633 my ($self, $text) = @_;
634 # type => DetectChar
635 if ($self->testDetectChar($text, '\'(\\s+|$)', 0, 0, 0, undef, 0, '19:Doctype Decl SystemID', 'Value')) {
636 return 1
637 }
638 # type => RegExpr
639 if ($self->testRegExpr($text, '[ \r
640a-zA-Z0-9()+,./:=?;!*#@$_%-]', 0, 0, 0, undef, 0, '#stay', 'Value')) {
641 return 1
642 }
643 return 0;
644};
645
646sub parse19DoctypeDeclSystemID {
647 my ($self, $text) = @_;
648 # type => DetectChar
649 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '20:Doctype Decl SystemID qq', 'Value')) {
650 return 1
651 }
652 # type => DetectChar
653 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '21:Doctype Decl SystemID q', 'Value')) {
654 return 1
655 }
656 # type => RegExpr
657 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
658 return 1
659 }
660 return 0;
661};
662
663sub parse1XMLDeclVersion {
664 my ($self, $text) = @_;
665 # type => RegExpr
666 if ($self->testRegExpr($text, '\\s*version\\s*', 0, 0, 0, undef, 0, '2:XMLDecl Version Eq', 'Attribute')) {
667 return 1
668 }
669 # type => RegExpr
670 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
671 return 1
672 }
673 return 0;
674};
675
676sub parse20DoctypeDeclSystemIDqq {
677 my ($self, $text) = @_;
678 # type => DetectChar
679 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '22:Doctype Decl IS or end', 'Value')) {
680 return 1
681 }
682 return 0;
683};
684
685sub parse21DoctypeDeclSystemIDq {
686 my ($self, $text) = @_;
687 # type => DetectChar
688 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '22:Doctype Decl IS or end', 'Value')) {
689 return 1
690 }
691 return 0;
692};
693
694sub parse22DoctypeDeclISorend {
695 my ($self, $text) = @_;
696 # type => DetectChar
697 if ($self->testDetectChar($text, '[', 0, 0, 0, undef, 0, '23:Doctype Decl IS', 'Doctype Declaration')) {
698 return 1
699 }
700 # type => DetectChar
701 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '79:Outside', 'Doctype Declaration')) {
702 return 1
703 }
704 # type => RegExpr
705 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
706 return 1
707 }
708 return 0;
709};
710
711sub parse23DoctypeDeclIS {
712 my ($self, $text) = @_;
713 # type => RegExpr
714 if ($self->testRegExpr($text, '%(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*;', 0, 0, 0, undef, 0, '#stay', 'Entity')) {
715 return 1
716 }
717 # type => RegExpr
718 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
719 return 1
720 }
721 # type => RegExpr
722 if ($self->testRegExpr($text, '<!ELEMENT(\\s+|$)', 0, 0, 0, undef, 0, '24:elementdecl', 'Doctype Declaration')) {
723 return 1
724 }
725 # type => RegExpr
726 if ($self->testRegExpr($text, '<!ATTLIST(\\s+|$)', 0, 0, 0, undef, 0, '38:AttlistDecl', 'Doctype Declaration')) {
727 return 1
728 }
729 # type => RegExpr
730 if ($self->testRegExpr($text, '<!ENTITY(\\s+|$)', 0, 0, 0, undef, 0, '50:EntityDecl', 'Doctype Declaration')) {
731 return 1
732 }
733 # type => RegExpr
734 if ($self->testRegExpr($text, '<!NOTATION(\\s+|$)', 0, 0, 0, undef, 0, '71:NotationDecl Name', 'Doctype Declaration')) {
735 return 1
736 }
737 # type => RegExpr
738 if ($self->testRegExpr($text, '\\s*<!--\\s*', 0, 0, 0, undef, 0, '77:Comment inside IS', 'Comment')) {
739 return 1
740 }
741 # type => RegExpr
742 if ($self->testRegExpr($text, '\\s*<\\?xml-stylesheet(\\s+|$)', 0, 0, 0, undef, 0, '78:PI inside IS', 'Processing Instruction')) {
743 return 1
744 }
745 # type => RegExpr
746 if ($self->testRegExpr($text, '\\s*<\\??[xX][mM][lL]', 0, 0, 0, undef, 0, '78:PI inside IS', 'Error')) {
747 return 1
748 }
749 # type => RegExpr
750 if ($self->testRegExpr($text, '\\s*<\\?[a-zA-Z_][a-zA-Z0-9_-]*(:[a-zA-Z0-9_-]*)?(\\s+|$)', 0, 0, 0, undef, 0, '78:PI inside IS', 'Processing Instruction')) {
751 return 1
752 }
753 # type => Detect2Chars
754 if ($self->testDetect2Chars($text, ']', '>', 0, 0, 0, undef, 0, '79:Outside', 'Doctype Declaration')) {
755 return 1
756 }
757 return 0;
758};
759
760sub parse24elementdecl {
761 my ($self, $text) = @_;
762 # type => RegExpr
763 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*', 0, 0, 0, undef, 0, '25:contentspec', 'Normal Tag')) {
764 return 1
765 }
766 # type => RegExpr
767 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
768 return 1
769 }
770 return 0;
771};
772
773sub parse25contentspec {
774 my ($self, $text) = @_;
775 # type => RegExpr
776 if ($self->testRegExpr($text, '(EMPTY|ANY)', 0, 0, 0, undef, 0, '37:element end', 'Attribute')) {
777 return 1
778 }
779 # type => DetectChar
780 if ($self->testDetectChar($text, '(', 0, 0, 0, undef, 0, '26:MixedOrChildren', 'Attribute')) {
781 return 1
782 }
783 # type => RegExpr
784 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
785 return 1
786 }
787 return 0;
788};
789
790sub parse26MixedOrChildren {
791 my ($self, $text) = @_;
792 # type => RegExpr
793 if ($self->testRegExpr($text, '#PCDATA', 0, 0, 0, undef, 0, '27:MixedShort', 'Attribute')) {
794 return 1
795 }
796 # type => RegExpr
797 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
798 return 1
799 }
800 # type => DetectChar
801 if ($self->testDetectChar($text, '(', 0, 0, 0, undef, 0, '30:children unknown', 'Doctype Declaration')) {
802 return 1
803 }
804 # type => RegExpr
805 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*[\\?\\*\\+]?', 0, 0, 0, undef, 0, '30:children unknown', 'Value')) {
806 return 1
807 }
808 return 0;
809};
810
811sub parse27MixedShort {
812 my ($self, $text) = @_;
813 # type => DetectChar
814 if ($self->testDetectChar($text, '|', 0, 0, 0, undef, 0, '28:MixedLong', 'Doctype Declaration')) {
815 return 1
816 }
817 # type => RegExpr
818 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
819 return 1
820 }
821 # type => DetectChar
822 if ($self->testDetectChar($text, ')', 0, 0, 0, undef, 0, '37:element end', 'Doctype Declaration')) {
823 return 1
824 }
825 return 0;
826};
827
828sub parse28MixedLong {
829 my ($self, $text) = @_;
830 # type => RegExpr
831 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*', 0, 0, 0, undef, 0, '29:MixedLong endOrContinue', 'Value')) {
832 return 1
833 }
834 # type => RegExpr
835 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
836 return 1
837 }
838 return 0;
839};
840
841sub parse29MixedLongendOrContinue {
842 my ($self, $text) = @_;
843 # type => DetectChar
844 if ($self->testDetectChar($text, '|', 0, 0, 0, undef, 0, '#pop', 'Doctype Declaration')) {
845 return 1
846 }
847 # type => RegExpr
848 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#pop#pop', 'Doctype Declaration')) {
849 return 1
850 }
851 # type => Detect2Chars
852 if ($self->testDetect2Chars($text, ')', '*', 0, 0, 0, undef, 0, '37:element end', 'Doctype Declaration')) {
853 return 1
854 }
855 return 0;
856};
857
858sub parse2XMLDeclVersionEq {
859 my ($self, $text) = @_;
860 # type => RegExpr
861 if ($self->testRegExpr($text, '\\s*=\\s*', 0, 0, 0, undef, 0, '3:XMLDecl Version', 'Attribute')) {
862 return 1
863 }
864 # type => RegExpr
865 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Attribute')) {
866 return 1
867 }
868 return 0;
869};
870
871sub parse30childrenunknown {
872 my ($self, $text) = @_;
873 # type => DetectChar
874 if ($self->testDetectChar($text, '|', 0, 0, 0, undef, 0, '33:children choice', 'Doctype Declaration')) {
875 return 1
876 }
877 # type => DetectChar
878 if ($self->testDetectChar($text, ',', 0, 0, 0, undef, 0, '35:children seq', 'Doctype Declaration')) {
879 return 1
880 }
881 # type => RegExpr
882 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
883 return 1
884 }
885 # type => RegExpr
886 if ($self->testRegExpr($text, '\\)[\\?\\*\\+]?', 0, 0, 0, undef, 0, '31:children unknownOrEnd', 'Doctype Declaration')) {
887 return 1
888 }
889 return 0;
890};
891
892sub parse31childrenunknownOrEnd {
893 my ($self, $text) = @_;
894 # type => DetectChar
895 if ($self->testDetectChar($text, '|', 0, 0, 0, undef, 0, '33:children choice', 'Doctype Declaration')) {
896 return 1
897 }
898 # type => DetectChar
899 if ($self->testDetectChar($text, ',', 0, 0, 0, undef, 0, '35:children seq', 'Doctype Declaration')) {
900 return 1
901 }
902 # type => RegExpr
903 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
904 return 1
905 }
906 # type => RegExpr
907 if ($self->testRegExpr($text, '\\)[\\?\\*\\+]?', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
908 return 1
909 }
910 # type => DetectChar
911 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '23:Doctype Decl IS', 'Doctype Declaration')) {
912 return 1
913 }
914 return 0;
915};
916
917sub parse32childrenunknownName {
918 my ($self, $text) = @_;
919 # type => RegExpr
920 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*[\\?\\*\\+]?', 0, 0, 0, undef, 0, '30:children unknown', 'Value')) {
921 return 1
922 }
923 # type => DetectChar
924 if ($self->testDetectChar($text, '(', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
925 return 1
926 }
927 # type => RegExpr
928 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
929 return 1
930 }
931 return 0;
932};
933
934sub parse33childrenchoice {
935 my ($self, $text) = @_;
936 # type => RegExpr
937 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*[\\?\\*\\+]?', 0, 0, 0, undef, 0, '34:children choiceOrEnd', 'Value')) {
938 return 1
939 }
940 # type => DetectChar
941 if ($self->testDetectChar($text, '(', 0, 0, 0, undef, 0, '32:children unknownName', 'Doctype Declaration')) {
942 return 1
943 }
944 # type => RegExpr
945 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
946 return 1
947 }
948 return 0;
949};
950
951sub parse34childrenchoiceOrEnd {
952 my ($self, $text) = @_;
953 # type => DetectChar
954 if ($self->testDetectChar($text, '|', 0, 0, 0, undef, 0, '#pop', 'Doctype Declaration')) {
955 return 1
956 }
957 # type => RegExpr
958 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
959 return 1
960 }
961 # type => RegExpr
962 if ($self->testRegExpr($text, '\\)[\\?\\*\\+]?', 0, 0, 0, undef, 0, '31:children unknownOrEnd', 'Doctype Declaration')) {
963 return 1
964 }
965 return 0;
966};
967
968sub parse35childrenseq {
969 my ($self, $text) = @_;
970 # type => RegExpr
971 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*[\\?\\*\\+]?', 0, 0, 0, undef, 0, '36:children seqOrEnd', 'Value')) {
972 return 1
973 }
974 # type => DetectChar
975 if ($self->testDetectChar($text, '(', 0, 0, 0, undef, 0, '32:children unknownName', 'Doctype Declaration')) {
976 return 1
977 }
978 # type => RegExpr
979 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
980 return 1
981 }
982 return 0;
983};
984
985sub parse36childrenseqOrEnd {
986 my ($self, $text) = @_;
987 # type => DetectChar
988 if ($self->testDetectChar($text, ',', 0, 0, 0, undef, 0, '#pop', 'Doctype Declaration')) {
989 return 1
990 }
991 # type => RegExpr
992 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
993 return 1
994 }
995 # type => RegExpr
996 if ($self->testRegExpr($text, '\\)[\\?\\*\\+]?', 0, 0, 0, undef, 0, '31:children unknownOrEnd', 'Doctype Declaration')) {
997 return 1
998 }
999 return 0;
1000};
1001
1002sub parse37elementend {
1003 my ($self, $text) = @_;
1004 # type => DetectChar
1005 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '23:Doctype Decl IS', 'Doctype Declaration')) {
1006 return 1
1007 }
1008 # type => RegExpr
1009 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1010 return 1
1011 }
1012 return 0;
1013};
1014
1015sub parse38AttlistDecl {
1016 my ($self, $text) = @_;
1017 # type => RegExpr
1018 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*(\\s+|$)', 0, 0, 0, undef, 0, '39:AttDef', 'Normal Tag')) {
1019 return 1
1020 }
1021 # type => RegExpr
1022 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*>', 0, 0, 0, undef, 0, '23:Doctype Decl IS', 'Normal Tag')) {
1023 return 1
1024 }
1025 # type => RegExpr
1026 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1027 return 1
1028 }
1029 return 0;
1030};
1031
1032sub parse39AttDef {
1033 my ($self, $text) = @_;
1034 # type => RegExpr
1035 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*(\\s+|$)', 0, 0, 0, undef, 0, '40:AttType', 'Attribute')) {
1036 return 1
1037 }
1038 # type => RegExpr
1039 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1040 return 1
1041 }
1042 # type => DetectChar
1043 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '23:Doctype Decl IS', 'Doctype Declaration')) {
1044 return 1
1045 }
1046 return 0;
1047};
1048
1049sub parse3XMLDeclVersion {
1050 my ($self, $text) = @_;
1051 # type => RegExpr
1052 if ($self->testRegExpr($text, '\\s*("[A-Za-z0-9:._-]*"|\'[A-Za-z0-9:._-]*\')(?!e)\\s*', 0, 0, 0, undef, 0, '4:XMLDecl Encoding', 'Value')) {
1053 return 1
1054 }
1055 # type => RegExpr
1056 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Attribute')) {
1057 return 1
1058 }
1059 return 0;
1060};
1061
1062sub parse40AttType {
1063 my ($self, $text) = @_;
1064 # type => keyword
1065 if ($self->testKeyword($text, 'AttType', 0, 0, undef, 0, '46:DefaultDecl', 'Doctype Declaration')) {
1066 return 1
1067 }
1068 # type => RegExpr
1069 if ($self->testRegExpr($text, 'NOTATION(\\s+|$)', 0, 0, 0, undef, 0, '41:NotationStart', 'Doctype Declaration')) {
1070 return 1
1071 }
1072 # type => DetectChar
1073 if ($self->testDetectChar($text, '(', 0, 0, 0, undef, 0, '42:Notation', 'Doctype Declaration')) {
1074 return 1
1075 }
1076 # type => RegExpr
1077 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#pop', 'Doctype Declaration')) {
1078 return 1
1079 }
1080 return 0;
1081};
1082
1083sub parse41NotationStart {
1084 my ($self, $text) = @_;
1085 # type => DetectChar
1086 if ($self->testDetectChar($text, '(', 0, 0, 0, undef, 0, '42:Notation', 'Doctype Declaration')) {
1087 return 1
1088 }
1089 # type => RegExpr
1090 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#pop#pop', 'Doctype Declaration')) {
1091 return 1
1092 }
1093 return 0;
1094};
1095
1096sub parse42Notation {
1097 my ($self, $text) = @_;
1098 # type => RegExpr
1099 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*', 0, 0, 0, undef, 0, '43:Notation or End', 'Value')) {
1100 return 1
1101 }
1102 # type => RegExpr
1103 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1104 return 1
1105 }
1106 return 0;
1107};
1108
1109sub parse43NotationorEnd {
1110 my ($self, $text) = @_;
1111 # type => DetectChar
1112 if ($self->testDetectChar($text, '|', 0, 0, 0, undef, 0, '#pop', 'Doctype Declaration')) {
1113 return 1
1114 }
1115 # type => RegExpr
1116 if ($self->testRegExpr($text, '\\)(\\s+|$)', 0, 0, 0, undef, 0, '46:DefaultDecl', 'Doctype Declaration')) {
1117 return 1
1118 }
1119 # type => RegExpr
1120 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1121 return 1
1122 }
1123 return 0;
1124};
1125
1126sub parse44Enumeration {
1127 my ($self, $text) = @_;
1128 # type => RegExpr
1129 if ($self->testRegExpr($text, '(\\w|[_:.-])+', 0, 0, 0, undef, 0, '#stay', 'Value')) {
1130 return 1
1131 }
1132 # type => RegExpr
1133 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1134 return 1
1135 }
1136 return 0;
1137};
1138
1139sub parse45EnumerationorEnd {
1140 my ($self, $text) = @_;
1141 # type => DetectChar
1142 if ($self->testDetectChar($text, '|', 0, 0, 0, undef, 0, '44:Enumeration', 'Doctype Declaration')) {
1143 return 1
1144 }
1145 # type => RegExpr
1146 if ($self->testRegExpr($text, '\\)(\\s+|$)', 0, 0, 0, undef, 0, '46:DefaultDecl', 'Doctype Declaration')) {
1147 return 1
1148 }
1149 # type => RegExpr
1150 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1151 return 1
1152 }
1153 return 0;
1154};
1155
1156sub parse46DefaultDecl {
1157 my ($self, $text) = @_;
1158 # type => RegExpr
1159 if ($self->testRegExpr($text, '(#REQUIRED|#IMPLIED)(\\s+|$)', 0, 0, 0, undef, 0, '39:AttDef', 'Attribute')) {
1160 return 1
1161 }
1162 # type => RegExpr
1163 if ($self->testRegExpr($text, '#FIXED(\\s+|$)', 0, 0, 0, undef, 0, '47:DefaultDecl AttValue', 'Attribute')) {
1164 return 1
1165 }
1166 # type => RegExpr
1167 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1168 return 1
1169 }
1170 # type => RegExpr
1171 if ($self->testRegExpr($text, '"', 0, 0, 0, undef, 0, '48:DefaultDecl AttValue qq', 'Value')) {
1172 return 1
1173 }
1174 # type => RegExpr
1175 if ($self->testRegExpr($text, '\'', 0, 0, 0, undef, 0, '49:DefaultDecl AttValue q', 'Value')) {
1176 return 1
1177 }
1178 return 0;
1179};
1180
1181sub parse47DefaultDeclAttValue {
1182 my ($self, $text) = @_;
1183 # type => RegExpr
1184 if ($self->testRegExpr($text, '"', 0, 0, 0, undef, 0, '48:DefaultDecl AttValue qq', 'Value')) {
1185 return 1
1186 }
1187 # type => RegExpr
1188 if ($self->testRegExpr($text, '\'', 0, 0, 0, undef, 0, '49:DefaultDecl AttValue q', 'Value')) {
1189 return 1
1190 }
1191 return 0;
1192};
1193
1194sub parse48DefaultDeclAttValueqq {
1195 my ($self, $text) = @_;
1196 # type => RegExpr
1197 if ($self->testRegExpr($text, '&(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*;', 0, 0, 0, undef, 0, '#stay', 'Entity')) {
1198 return 1
1199 }
1200 # type => RegExpr
1201 if ($self->testRegExpr($text, '&#(x[0-9a-fA-F]+|[0-9]+);', 0, 0, 0, undef, 0, '#stay', 'Entity')) {
1202 return 1
1203 }
1204 # type => DetectChar
1205 if ($self->testDetectChar($text, '&', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1206 return 1
1207 }
1208 # type => DetectChar
1209 if ($self->testDetectChar($text, '<', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1210 return 1
1211 }
1212 # type => DetectChar
1213 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '39:AttDef', 'Value')) {
1214 return 1
1215 }
1216 return 0;
1217};
1218
1219sub parse49DefaultDeclAttValueq {
1220 my ($self, $text) = @_;
1221 # type => RegExpr
1222 if ($self->testRegExpr($text, '&(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*;', 0, 0, 0, undef, 0, '#stay', 'Entity')) {
1223 return 1
1224 }
1225 # type => RegExpr
1226 if ($self->testRegExpr($text, '&#(x[0-9a-fA-F]+|[0-9]+);', 0, 0, 0, undef, 0, '#stay', 'Entity')) {
1227 return 1
1228 }
1229 # type => DetectChar
1230 if ($self->testDetectChar($text, '&', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1231 return 1
1232 }
1233 # type => DetectChar
1234 if ($self->testDetectChar($text, '<', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1235 return 1
1236 }
1237 # type => DetectChar
1238 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '39:AttDef', 'Value')) {
1239 return 1
1240 }
1241 return 0;
1242};
1243
1244sub parse4XMLDeclEncoding {
1245 my ($self, $text) = @_;
1246 # type => RegExpr
1247 if ($self->testRegExpr($text, '\\s*encoding\\s*', 0, 0, 0, undef, 0, '5:XMLDecl Encoding Eq', 'Attribute')) {
1248 return 1
1249 }
1250 # type => RegExpr
1251 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1252 return 1
1253 }
1254 # type => RegExpr
1255 if ($self->testRegExpr($text, '\\?>', 0, 0, 0, undef, 0, '11:Misc after XMLDecl', 'Doctype Declaration')) {
1256 return 1
1257 }
1258 return 0;
1259};
1260
1261sub parse50EntityDecl {
1262 my ($self, $text) = @_;
1263 # type => RegExpr
1264 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*(\\s+|$)', 0, 0, 0, undef, 0, '52:GEDecl EntityValueOrExternalID', 'Entity')) {
1265 return 1
1266 }
1267 # type => DetectChar
1268 if ($self->testDetectChar($text, '%', 0, 0, 0, undef, 0, '61:PEDecl', 'Entity')) {
1269 return 1
1270 }
1271 # type => RegExpr
1272 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1273 return 1
1274 }
1275 return 0;
1276};
1277
1278sub parse51unused {
1279 my ($self, $text) = @_;
1280 return 0;
1281};
1282
1283sub parse52GEDeclEntityValueOrExternalID {
1284 my ($self, $text) = @_;
1285 # type => RegExpr
1286 if ($self->testRegExpr($text, '"', 0, 0, 0, undef, 0, '53:GEDecl EntityValue qq', 'Value')) {
1287 return 1
1288 }
1289 # type => RegExpr
1290 if ($self->testRegExpr($text, '\'', 0, 0, 0, undef, 0, '54:GEDecl EntityValue q', 'Value')) {
1291 return 1
1292 }
1293 # type => RegExpr
1294 if ($self->testRegExpr($text, 'PUBLIC(\\s+|$)', 0, 0, 0, undef, 0, '55:GEDecl PublicID', 'Doctype Declaration')) {
1295 return 1
1296 }
1297 # type => RegExpr
1298 if ($self->testRegExpr($text, 'SYSTEM(\\s+|$)', 0, 0, 0, undef, 0, '58:GEDecl SystemID', 'Doctype Declaration')) {
1299 return 1
1300 }
1301 return 0;
1302};
1303
1304sub parse53GEDeclEntityValueqq {
1305 my ($self, $text) = @_;
1306 # type => RegExpr
1307 if ($self->testRegExpr($text, '[&%](?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*;', 0, 0, 0, undef, 0, '#stay', 'Entity')) {
1308 return 1
1309 }
1310 # type => RegExpr
1311 if ($self->testRegExpr($text, '&#(x[0-9a-fA-F]+|[0-9]+);', 0, 0, 0, undef, 0, '#stay', 'Entity')) {
1312 return 1
1313 }
1314 # type => DetectChar
1315 if ($self->testDetectChar($text, '&', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1316 return 1
1317 }
1318 # type => DetectChar
1319 if ($self->testDetectChar($text, '%', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1320 return 1
1321 }
1322 # type => DetectChar
1323 if ($self->testDetectChar($text, '<', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1324 return 1
1325 }
1326 # type => DetectChar
1327 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '69:GEDecl endOrNDATA', 'Value')) {
1328 return 1
1329 }
1330 return 0;
1331};
1332
1333sub parse54GEDeclEntityValueq {
1334 my ($self, $text) = @_;
1335 # type => RegExpr
1336 if ($self->testRegExpr($text, '[&%](?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*;', 0, 0, 0, undef, 0, '#stay', 'Entity')) {
1337 return 1
1338 }
1339 # type => RegExpr
1340 if ($self->testRegExpr($text, '&#(x[0-9a-fA-F]+|[0-9]+);', 0, 0, 0, undef, 0, '#stay', 'Entity')) {
1341 return 1
1342 }
1343 # type => DetectChar
1344 if ($self->testDetectChar($text, '&', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1345 return 1
1346 }
1347 # type => DetectChar
1348 if ($self->testDetectChar($text, '%', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1349 return 1
1350 }
1351 # type => DetectChar
1352 if ($self->testDetectChar($text, '<', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1353 return 1
1354 }
1355 # type => DetectChar
1356 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '69:GEDecl endOrNDATA', 'Value')) {
1357 return 1
1358 }
1359 return 0;
1360};
1361
1362sub parse55GEDeclPublicID {
1363 my ($self, $text) = @_;
1364 # type => DetectChar
1365 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '56:GEDecl PublicID qq', 'Value')) {
1366 return 1
1367 }
1368 # type => DetectChar
1369 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '57:GEDecl PublicID q', 'Value')) {
1370 return 1
1371 }
1372 # type => RegExpr
1373 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1374 return 1
1375 }
1376 return 0;
1377};
1378
1379sub parse56GEDeclPublicIDqq {
1380 my ($self, $text) = @_;
1381 # type => DetectChar
1382 if ($self->testDetectChar($text, '"(\\s+|$)', 0, 0, 0, undef, 0, '58:GEDecl SystemID', 'Value')) {
1383 return 1
1384 }
1385 # type => RegExpr
1386 if ($self->testRegExpr($text, '[ \r
1387a-zA-Z0-9\'()+,./:=?;!*#@$_%-]', 0, 0, 0, undef, 0, '#stay', 'Value')) {
1388 return 1
1389 }
1390 return 0;
1391};
1392
1393sub parse57GEDeclPublicIDq {
1394 my ($self, $text) = @_;
1395 # type => DetectChar
1396 if ($self->testDetectChar($text, '\'(\\s+|$)', 0, 0, 0, undef, 0, '58:GEDecl SystemID', 'Value')) {
1397 return 1
1398 }
1399 # type => RegExpr
1400 if ($self->testRegExpr($text, '[ \r
1401a-zA-Z0-9()+,./:=?;!*#@$_%-]', 0, 0, 0, undef, 0, '#stay', 'Value')) {
1402 return 1
1403 }
1404 return 0;
1405};
1406
1407sub parse58GEDeclSystemID {
1408 my ($self, $text) = @_;
1409 # type => DetectChar
1410 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '59:GEDecl SystemID qq', 'Value')) {
1411 return 1
1412 }
1413 # type => DetectChar
1414 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '60:GEDecl SystemID q', 'Value')) {
1415 return 1
1416 }
1417 # type => RegExpr
1418 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1419 return 1
1420 }
1421 return 0;
1422};
1423
1424sub parse59GEDeclSystemIDqq {
1425 my ($self, $text) = @_;
1426 # type => DetectChar
1427 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '69:GEDecl endOrNDATA', 'Value')) {
1428 return 1
1429 }
1430 return 0;
1431};
1432
1433sub parse5XMLDeclEncodingEq {
1434 my ($self, $text) = @_;
1435 # type => RegExpr
1436 if ($self->testRegExpr($text, '\\s*=\\s*', 0, 0, 0, undef, 0, '6:XMLDecl Encoding', 'Attribute')) {
1437 return 1
1438 }
1439 # type => RegExpr
1440 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Attribute')) {
1441 return 1
1442 }
1443 return 0;
1444};
1445
1446sub parse60GEDeclSystemIDq {
1447 my ($self, $text) = @_;
1448 # type => DetectChar
1449 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '69:GEDecl endOrNDATA', 'Value')) {
1450 return 1
1451 }
1452 return 0;
1453};
1454
1455sub parse61PEDecl {
1456 my ($self, $text) = @_;
1457 # type => RegExpr
1458 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*(\\s+|$)', 0, 0, 0, undef, 0, '62:PEDecl EntityValueOrExternalID', 'Entity')) {
1459 return 1
1460 }
1461 # type => RegExpr
1462 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1463 return 1
1464 }
1465 return 0;
1466};
1467
1468sub parse62PEDeclEntityValueOrExternalID {
1469 my ($self, $text) = @_;
1470 # type => RegExpr
1471 if ($self->testRegExpr($text, '"', 0, 0, 0, undef, 0, '53:GEDecl EntityValue qq', 'Value')) {
1472 return 1
1473 }
1474 # type => RegExpr
1475 if ($self->testRegExpr($text, '\'', 0, 0, 0, undef, 0, '54:GEDecl EntityValue q', 'Value')) {
1476 return 1
1477 }
1478 # type => RegExpr
1479 if ($self->testRegExpr($text, 'PUBLIC(\\s+|$)', 0, 0, 0, undef, 0, '63:PEDecl PublicID', 'Doctype Declaration')) {
1480 return 1
1481 }
1482 # type => RegExpr
1483 if ($self->testRegExpr($text, 'SYSTEM(\\s+|$)', 0, 0, 0, undef, 0, '66:PEDecl SystemID', 'Doctype Declaration')) {
1484 return 1
1485 }
1486 return 0;
1487};
1488
1489sub parse63PEDeclPublicID {
1490 my ($self, $text) = @_;
1491 # type => DetectChar
1492 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '64:PEDecl PublicID qq', 'Value')) {
1493 return 1
1494 }
1495 # type => DetectChar
1496 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '65:PEDecl PublicID q', 'Value')) {
1497 return 1
1498 }
1499 # type => RegExpr
1500 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1501 return 1
1502 }
1503 return 0;
1504};
1505
1506sub parse64PEDeclPublicIDqq {
1507 my ($self, $text) = @_;
1508 # type => DetectChar
1509 if ($self->testDetectChar($text, '"(\\s+|$)', 0, 0, 0, undef, 0, '66:PEDecl SystemID', 'Value')) {
1510 return 1
1511 }
1512 # type => RegExpr
1513 if ($self->testRegExpr($text, '[ \r
1514a-zA-Z0-9\'()+,./:=?;!*#@$_%-]', 0, 0, 0, undef, 0, '#stay', 'Value')) {
1515 return 1
1516 }
1517 return 0;
1518};
1519
1520sub parse65PEDeclPublicIDq {
1521 my ($self, $text) = @_;
1522 # type => DetectChar
1523 if ($self->testDetectChar($text, '\'(\\s+|$)', 0, 0, 0, undef, 0, '66:PEDecl SystemID', 'Value')) {
1524 return 1
1525 }
1526 # type => RegExpr
1527 if ($self->testRegExpr($text, '[ \r
1528a-zA-Z0-9()+,./:=?;!*#@$_%-]', 0, 0, 0, undef, 0, '#stay', 'Value')) {
1529 return 1
1530 }
1531 return 0;
1532};
1533
1534sub parse66PEDeclSystemID {
1535 my ($self, $text) = @_;
1536 # type => DetectChar
1537 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '67:PEDecl SystemID qq', 'Value')) {
1538 return 1
1539 }
1540 # type => DetectChar
1541 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '68:PEDecl SystemID q', 'Value')) {
1542 return 1
1543 }
1544 # type => RegExpr
1545 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1546 return 1
1547 }
1548 return 0;
1549};
1550
1551sub parse67PEDeclSystemIDqq {
1552 my ($self, $text) = @_;
1553 # type => DetectChar
1554 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '37:element end', 'Value')) {
1555 return 1
1556 }
1557 return 0;
1558};
1559
1560sub parse68PEDeclSystemIDq {
1561 my ($self, $text) = @_;
1562 # type => DetectChar
1563 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '37:element end', 'Value')) {
1564 return 1
1565 }
1566 return 0;
1567};
1568
1569sub parse69GEDeclendOrNDATA {
1570 my ($self, $text) = @_;
1571 # type => DetectChar
1572 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '23:Doctype Decl IS', 'Doctype Declaration')) {
1573 return 1
1574 }
1575 # type => RegExpr
1576 if ($self->testRegExpr($text, 'NDATA(\\s+|$)', 0, 0, 0, undef, 0, '70:GEDecl NDATA', 'Doctype Declaration')) {
1577 return 1
1578 }
1579 # type => RegExpr
1580 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1581 return 1
1582 }
1583 return 0;
1584};
1585
1586sub parse6XMLDeclEncoding {
1587 my ($self, $text) = @_;
1588 # type => RegExpr
1589 if ($self->testRegExpr($text, '\\s*("[A-Za-z][A-Za-z0-9._-]*"|\'[A-Za-z][A-Za-z0-9._-]*\')(?!s)\\s*', 0, 0, 0, undef, 0, '7:XMLDecl Standalone', 'Value')) {
1590 return 1
1591 }
1592 # type => RegExpr
1593 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Attribute')) {
1594 return 1
1595 }
1596 return 0;
1597};
1598
1599sub parse70GEDeclNDATA {
1600 my ($self, $text) = @_;
1601 # type => RegExpr
1602 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*', 0, 0, 0, undef, 0, '37:element end', 'Entity')) {
1603 return 1
1604 }
1605 # type => RegExpr
1606 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1607 return 1
1608 }
1609 return 0;
1610};
1611
1612sub parse71NotationDeclName {
1613 my ($self, $text) = @_;
1614 # type => RegExpr
1615 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*(\\s+|$)', 0, 0, 0, undef, 0, '72:NotationDecl ExternalID', 'Entity')) {
1616 return 1
1617 }
1618 # type => RegExpr
1619 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1620 return 1
1621 }
1622 return 0;
1623};
1624
1625sub parse72NotationDeclExternalID {
1626 my ($self, $text) = @_;
1627 # type => RegExpr
1628 if ($self->testRegExpr($text, 'PUBLIC(\\s+|$)', 0, 0, 0, undef, 0, '73:NotationDecl PublicID', 'Doctype Declaration')) {
1629 return 1
1630 }
1631 # type => RegExpr
1632 if ($self->testRegExpr($text, 'SYSTEM(\\s+|$)', 0, 0, 0, undef, 0, '66:PEDecl SystemID', 'Doctype Declaration')) {
1633 return 1
1634 }
1635 # type => RegExpr
1636 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1637 return 1
1638 }
1639 return 0;
1640};
1641
1642sub parse73NotationDeclPublicID {
1643 my ($self, $text) = @_;
1644 # type => DetectChar
1645 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '74:NotationDecl PublicID qq', 'Value')) {
1646 return 1
1647 }
1648 # type => DetectChar
1649 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '75:NotationDecl PublicID q', 'Value')) {
1650 return 1
1651 }
1652 # type => RegExpr
1653 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1654 return 1
1655 }
1656 return 0;
1657};
1658
1659sub parse74NotationDeclPublicIDqq {
1660 my ($self, $text) = @_;
1661 # type => DetectChar
1662 if ($self->testDetectChar($text, '"(\\s+|$)', 0, 0, 0, undef, 0, '76:NotationDecl SystemIDOrEnd', 'Value')) {
1663 return 1
1664 }
1665 # type => RegExpr
1666 if ($self->testRegExpr($text, '[ \r
1667a-zA-Z0-9\'()+,./:=?;!*#@$_%-]', 0, 0, 0, undef, 0, '#stay', 'Value')) {
1668 return 1
1669 }
1670 return 0;
1671};
1672
1673sub parse75NotationDeclPublicIDq {
1674 my ($self, $text) = @_;
1675 # type => DetectChar
1676 if ($self->testDetectChar($text, '\'(\\s+|$)', 0, 0, 0, undef, 0, '76:NotationDecl SystemIDOrEnd', 'Value')) {
1677 return 1
1678 }
1679 # type => RegExpr
1680 if ($self->testRegExpr($text, '[ \r
1681a-zA-Z0-9()+,./:=?;!*#@$_%-]', 0, 0, 0, undef, 0, '#stay', 'Value')) {
1682 return 1
1683 }
1684 return 0;
1685};
1686
1687sub parse76NotationDeclSystemIDOrEnd {
1688 my ($self, $text) = @_;
1689 # type => DetectChar
1690 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '67:PEDecl SystemID qq', 'Value')) {
1691 return 1
1692 }
1693 # type => DetectChar
1694 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '68:PEDecl SystemID q', 'Value')) {
1695 return 1
1696 }
1697 # type => DetectChar
1698 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '23:Doctype Decl IS', 'Doctype Declaration')) {
1699 return 1
1700 }
1701 # type => RegExpr
1702 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1703 return 1
1704 }
1705 return 0;
1706};
1707
1708sub parse77CommentinsideIS {
1709 my ($self, $text) = @_;
1710 # type => RegExpr
1711 if ($self->testRegExpr($text, '--->', 0, 0, 0, undef, 0, '23:Doctype Decl IS', 'Error')) {
1712 return 1
1713 }
1714 # type => RegExpr
1715 if ($self->testRegExpr($text, '-->', 0, 0, 0, undef, 0, '23:Doctype Decl IS', 'Comment')) {
1716 return 1
1717 }
1718 # type => Detect2Chars
1719 if ($self->testDetect2Chars($text, '-', '-', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1720 return 1
1721 }
1722 return 0;
1723};
1724
1725sub parse78PIinsideIS {
1726 my ($self, $text) = @_;
1727 # type => Detect2Chars
1728 if ($self->testDetect2Chars($text, '?', '>', 0, 0, 0, undef, 0, '23:Doctype Decl IS', 'Processing Instruction')) {
1729 return 1
1730 }
1731 return 0;
1732};
1733
1734sub parse79Outside {
1735 my ($self, $text) = @_;
1736 # type => RegExpr
1737 if ($self->testRegExpr($text, '<[xX][mM][lL](\\w|[_.-])*(:(\\w|[_.-])+)?', 0, 0, 0, undef, 0, '80:STag', 'Error')) {
1738 return 1
1739 }
1740 # type => RegExpr
1741 if ($self->testRegExpr($text, '<(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|_)(\\w|[_.-])*(:(\\w|[_.-])+)?', 0, 0, 0, undef, 0, '80:STag', 'Normal Tag')) {
1742 return 1
1743 }
1744 # type => RegExpr
1745 if ($self->testRegExpr($text, '<(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[:_])(\\w|[:_.-])*', 0, 0, 0, undef, 0, '80:STag', 'Error')) {
1746 return 1
1747 }
1748 # type => RegExpr
1749 if ($self->testRegExpr($text, '</[xX][mM][lL](\\w|[_.-])*(:(\\w|[_.-])+)?', 0, 0, 0, undef, 0, '85:ETag', 'Error')) {
1750 return 1
1751 }
1752 # type => RegExpr
1753 if ($self->testRegExpr($text, '</(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|_)(\\w|[_.-])*(:(\\w|[_.-])+)?', 0, 0, 0, undef, 0, '85:ETag', 'Normal Tag')) {
1754 return 1
1755 }
1756 # type => RegExpr
1757 if ($self->testRegExpr($text, '</(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[:_])(\\w|[:_.-])*', 0, 0, 0, undef, 0, '85:ETag', 'Error')) {
1758 return 1
1759 }
1760 # type => RegExpr
1761 if ($self->testRegExpr($text, '&(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*;', 0, 0, 0, undef, 0, '#stay', 'Entity')) {
1762 return 1
1763 }
1764 # type => RegExpr
1765 if ($self->testRegExpr($text, '&#(x[0-9a-fA-F]+|[0-9]+);', 0, 0, 0, undef, 0, '#stay', 'Entity')) {
1766 return 1
1767 }
1768 # type => RegExpr
1769 if ($self->testRegExpr($text, '<!\\[CDATA\\[', 0, 0, 0, undef, 0, '86:CDSect', 'Entity')) {
1770 return 1
1771 }
1772 # type => RegExpr
1773 if ($self->testRegExpr($text, '<!--', 0, 0, 0, undef, 0, '87:Comment inside IS', 'Comment')) {
1774 return 1
1775 }
1776 # type => RegExpr
1777 if ($self->testRegExpr($text, '<\\?xml-stylesheet(\\s|$)', 0, 0, 0, undef, 0, '88:PI inside IS', 'Normal Tag')) {
1778 return 1
1779 }
1780 # type => RegExpr
1781 if ($self->testRegExpr($text, '<\\?[xX][mM][lL](\\w|[_.-])*(:(\\w|[_.-])+)?', 0, 0, 0, undef, 0, '88:PI inside IS', 'Error')) {
1782 return 1
1783 }
1784 # type => RegExpr
1785 if ($self->testRegExpr($text, '<\\?(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|_)(\\w|[_.-])*(:(\\w|[_.-])+)?', 0, 0, 0, undef, 0, '88:PI inside IS', 'Normal Tag')) {
1786 return 1
1787 }
1788 # type => RegExpr
1789 if ($self->testRegExpr($text, '<\\?(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[:_])(\\w|[:_.-])*', 0, 0, 0, undef, 0, '88:PI inside IS', 'Error')) {
1790 return 1
1791 }
1792 # type => DetectChar
1793 if ($self->testDetectChar($text, '<', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1794 return 1
1795 }
1796 # type => DetectChar
1797 if ($self->testDetectChar($text, '&', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1798 return 1
1799 }
1800 # type => RegExpr
1801 if ($self->testRegExpr($text, '\\]\\]>', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1802 return 1
1803 }
1804 return 0;
1805};
1806
1807sub parse7XMLDeclStandalone {
1808 my ($self, $text) = @_;
1809 # type => RegExpr
1810 if ($self->testRegExpr($text, '\\s*standalone\\s*', 0, 0, 0, undef, 0, '8:XMLDecl Standalone Eq', 'Attribute')) {
1811 return 1
1812 }
1813 # type => RegExpr
1814 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Doctype Declaration')) {
1815 return 1
1816 }
1817 # type => RegExpr
1818 if ($self->testRegExpr($text, '\\?>', 0, 0, 0, undef, 0, '11:Misc after XMLDecl', 'Doctype Declaration')) {
1819 return 1
1820 }
1821 return 0;
1822};
1823
1824sub parse80STag {
1825 my ($self, $text) = @_;
1826 # type => Detect2Chars
1827 if ($self->testDetect2Chars($text, '/', '>', 0, 0, 0, undef, 0, '79:Outside', 'Normal Tag')) {
1828 return 1
1829 }
1830 # type => DetectChar
1831 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '79:Outside', 'Normal Tag')) {
1832 return 1
1833 }
1834 # type => RegExpr
1835 if ($self->testRegExpr($text, '(xmlns:(\\w|[_.-])*|xmlns|xml:(lang|base|space))', 0, 0, 0, undef, 0, '81:STag Attribute', 'Attribute')) {
1836 return 1
1837 }
1838 # type => RegExpr
1839 if ($self->testRegExpr($text, '[xX][mM][lL](\\w|[_.-])*(:(\\w|[_.-])+)?', 0, 0, 0, undef, 0, '81:STag Attribute', 'Error')) {
1840 return 1
1841 }
1842 # type => RegExpr
1843 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|_)(\\w|[_.-])*(:(\\w|[_.-])+)?', 0, 0, 0, undef, 0, '81:STag Attribute', 'Attribute')) {
1844 return 1
1845 }
1846 # type => RegExpr
1847 if ($self->testRegExpr($text, '(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[:_])(\\w|[:_.-])*', 0, 0, 0, undef, 0, '81:STag Attribute', 'Error')) {
1848 return 1
1849 }
1850 # type => RegExpr
1851 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Normal Tag')) {
1852 return 1
1853 }
1854 return 0;
1855};
1856
1857sub parse81STagAttribute {
1858 my ($self, $text) = @_;
1859 # type => DetectChar
1860 if ($self->testDetectChar($text, '=', 0, 0, 0, undef, 0, '82:STag Attribute Value', 'Attribute')) {
1861 return 1
1862 }
1863 # type => RegExpr
1864 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Normal Tag')) {
1865 return 1
1866 }
1867 return 0;
1868};
1869
1870sub parse82STagAttributeValue {
1871 my ($self, $text) = @_;
1872 # type => DetectChar
1873 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '83:STag Value qq', 'Value')) {
1874 return 1
1875 }
1876 # type => DetectChar
1877 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '84:STag Value q', 'Value')) {
1878 return 1
1879 }
1880 # type => RegExpr
1881 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Normal Tag')) {
1882 return 1
1883 }
1884 return 0;
1885};
1886
1887sub parse83STagValueqq {
1888 my ($self, $text) = @_;
1889 # type => RegExpr
1890 if ($self->testRegExpr($text, '&(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*;', 0, 0, 0, undef, 0, '#stay', 'Entity')) {
1891 return 1
1892 }
1893 # type => RegExpr
1894 if ($self->testRegExpr($text, '&#(x[0-9a-fA-F]+|[0-9]+);', 0, 0, 0, undef, 0, '#stay', 'Entity')) {
1895 return 1
1896 }
1897 # type => DetectChar
1898 if ($self->testDetectChar($text, '&', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1899 return 1
1900 }
1901 # type => DetectChar
1902 if ($self->testDetectChar($text, '<', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1903 return 1
1904 }
1905 # type => RegExpr
1906 if ($self->testRegExpr($text, '"(?=(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:]))', 0, 0, 0, undef, 0, '80:STag', 'Error')) {
1907 return 1
1908 }
1909 # type => RegExpr
1910 if ($self->testRegExpr($text, '"(?=>|/>|\\s|$)', 0, 0, 0, undef, 0, '80:STag', 'Value')) {
1911 return 1
1912 }
1913 return 0;
1914};
1915
1916sub parse84STagValueq {
1917 my ($self, $text) = @_;
1918 # type => RegExpr
1919 if ($self->testRegExpr($text, '&(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:])(\\w|[_:.-])*;', 0, 0, 0, undef, 0, '#stay', 'Entity')) {
1920 return 1
1921 }
1922 # type => RegExpr
1923 if ($self->testRegExpr($text, '&#(x[0-9a-fA-F]+|[0-9]+);', 0, 0, 0, undef, 0, '#stay', 'Entity')) {
1924 return 1
1925 }
1926 # type => DetectChar
1927 if ($self->testDetectChar($text, '&', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1928 return 1
1929 }
1930 # type => DetectChar
1931 if ($self->testDetectChar($text, '<', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1932 return 1
1933 }
1934 # type => RegExpr
1935 if ($self->testRegExpr($text, '\'(?=(?![٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௧-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩]|\\d)(\\w|[_:]))', 0, 0, 0, undef, 0, '80:STag', 'Error')) {
1936 return 1
1937 }
1938 # type => RegExpr
1939 if ($self->testRegExpr($text, '\'(?=>|/>|\\s|$)', 0, 0, 0, undef, 0, '80:STag', 'Value')) {
1940 return 1
1941 }
1942 return 0;
1943};
1944
1945sub parse85ETag {
1946 my ($self, $text) = @_;
1947 # type => DetectChar
1948 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '79:Outside', 'Normal Tag')) {
1949 return 1
1950 }
1951 # type => RegExpr
1952 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Normal Tag')) {
1953 return 1
1954 }
1955 return 0;
1956};
1957
1958sub parse86CDSect {
1959 my ($self, $text) = @_;
1960 # type => RegExpr
1961 if ($self->testRegExpr($text, '\\]\\]>', 0, 0, 0, undef, 0, '79:Outside', 'Entity')) {
1962 return 1
1963 }
1964 return 0;
1965};
1966
1967sub parse87CommentinsideIS {
1968 my ($self, $text) = @_;
1969 # type => RegExpr
1970 if ($self->testRegExpr($text, '--->', 0, 0, 0, undef, 0, '79:Outside', 'Error')) {
1971 return 1
1972 }
1973 # type => RegExpr
1974 if ($self->testRegExpr($text, '-->', 0, 0, 0, undef, 0, '79:Outside', 'Comment')) {
1975 return 1
1976 }
1977 # type => Detect2Chars
1978 if ($self->testDetect2Chars($text, '-', '-', 0, 0, 0, undef, 0, '#stay', 'Error')) {
1979 return 1
1980 }
1981 return 0;
1982};
1983
1984sub parse88PIinsideIS {
1985 my ($self, $text) = @_;
1986 # type => Detect2Chars
1987 if ($self->testDetect2Chars($text, '?', '>', 0, 0, 0, undef, 0, '79:Outside', 'Processing Instruction')) {
1988 return 1
1989 }
1990 return 0;
1991};
1992
1993sub parse8XMLDeclStandaloneEq {
1994 my ($self, $text) = @_;
1995 # type => RegExpr
1996 if ($self->testRegExpr($text, '\\s*=\\s*', 0, 0, 0, undef, 0, '9:XMLDecl Standalone', 'Attribute')) {
1997 return 1
1998 }
1999 # type => RegExpr
2000 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Attribute')) {
2001 return 1
2002 }
2003 return 0;
2004};
2005
2006sub parse9XMLDeclStandalone {
2007 my ($self, $text) = @_;
2008 # type => RegExpr
2009 if ($self->testRegExpr($text, '\\s*"(yes|no)"|\'(yes|no)\'\\s*', 0, 0, 0, undef, 0, '10:XMLDecl Standalone', 'Value')) {
2010 return 1
2011 }
2012 # type => RegExpr
2013 if ($self->testRegExpr($text, '\\s+', 0, 0, 0, undef, 0, '#stay', 'Attribute')) {
2014 return 1
2015 }
2016 return 0;
2017};
2018
2019
20201;
2021
2022__END__
2023
2024=head1 NAME
2025
2026Syntax::Highlight::Engine::Kate::XML_Debug - a Plugin for XML (Debug) syntax highlighting
2027
2028=head1 SYNOPSIS
2029
2030 require Syntax::Highlight::Engine::Kate::XML_Debug;
2031 my $sh = new Syntax::Highlight::Engine::Kate::XML_Debug([
2032 ]);
2033
2034=head1 DESCRIPTION
2035
2036Syntax::Highlight::Engine::Kate::XML_Debug is a plugin module that provides syntax highlighting
2037for XML (Debug) to the Syntax::Haghlight::Engine::Kate highlighting engine.
2038
2039This code is generated from the syntax definition files used
2040by the Kate project.
2041It works quite fine, but can use refinement and optimization.
2042
2043It inherits Syntax::Higlight::Engine::Kate::Template. See also there.
2044
2045=cut
2046
2047=head1 AUTHOR
2048
2049Hans Jeuken (haje <at> toneel <dot> demon <dot> nl)
2050
2051=cut
2052
2053=head1 BUGS
2054
2055Unknown. If you find any, please contact the author
2056
2057=cut
2058