oga 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0377d24ecf7ad22488c342e769083cd45be29033
4
- data.tar.gz: 108998ff40fdbba079743849264773998d2a2543
3
+ metadata.gz: 8c12b25a1de8aefc56af27b416df64100198d776
4
+ data.tar.gz: f2b5d83c0ab750a1005ef99997e3d38b2c938c26
5
5
  SHA512:
6
- metadata.gz: 109d74d22335a88fc180279ea7c81c65a2f3b6e33f319722c71baa806d92bf215fac9d9d22b5e3e14f92cb4b9fa62d8b279156af20bef747ca5fb0d77f4a9f9b
7
- data.tar.gz: 088710d99712c155c789afae19c6dccf20a1482395280a566d9e884a9c47fdaf2dbe49ee201b890c6c98f9788f7c0f7d5b92f557b5bfd640920830f1161e0b7b
6
+ metadata.gz: d457b69ca2daa6d529c83f02c8681b7dff2b16e5a31cfca58932c7b778075f2698e24ec15e288739a7485c197396848f1e1894e4e7ecc15f4db0b5a772afe7de
7
+ data.tar.gz: 4c8c0af22947d873c19ffb5594d986f0c3080c0eb0bc6533628c5274da62b379f884a6c6e1c84e1b3e6886234cb7457988a8b6b26125e44527ebb720fb6b7f50
@@ -21,15 +21,19 @@ on `ts` and `te`) so the macro ignores this argument.
21
21
  #define advance_line(amount) \
22
22
  rb_funcall(self, id_advance_line, 1, INT2NUM(amount));
23
23
 
24
- #define literal_html_element_p() \
25
- rb_funcall(self, id_literal_html_element_p, 0) == Qtrue
24
+ #define html_script_p() \
25
+ rb_funcall(self, id_html_script_p, 0) == Qtrue
26
+
27
+ #define html_style_p() \
28
+ rb_funcall(self, id_html_style_p, 0) == Qtrue
26
29
 
27
30
  ID id_advance_line;
28
- ID id_literal_html_element_p;
31
+ ID id_html_script_p;
32
+ ID id_html_style_p;
29
33
  ID id_html;
30
34
 
31
35
 
32
- #line 30 "ext/c/lexer.rl"
36
+ #line 34 "ext/c/lexer.rl"
33
37
 
34
38
  /**
35
39
  * Calls a method defined in the Ruby side of the lexer. The String value is
@@ -66,29 +70,30 @@ void liboga_xml_lexer_callback_simple(VALUE self, VALUE name)
66
70
  }
67
71
 
68
72
 
69
- #line 70 "ext/c/lexer.c"
70
- static const int c_lexer_start = 22;
71
- static const int c_lexer_first_final = 22;
73
+ #line 74 "ext/c/lexer.c"
74
+ static const int c_lexer_start = 34;
75
+ static const int c_lexer_first_final = 34;
72
76
  static const int c_lexer_error = 0;
73
77
 
74
- static const int c_lexer_en_comment_body = 28;
75
- static const int c_lexer_en_cdata_body = 31;
76
- static const int c_lexer_en_proc_ins_body = 34;
77
- static const int c_lexer_en_string_squote = 37;
78
- static const int c_lexer_en_string_dquote = 39;
79
- static const int c_lexer_en_doctype_inline = 41;
80
- static const int c_lexer_en_doctype = 43;
81
- static const int c_lexer_en_xml_decl = 55;
82
- static const int c_lexer_en_element_name = 58;
83
- static const int c_lexer_en_html_attribute_value = 60;
84
- static const int c_lexer_en_xml_attribute_value = 62;
85
- static const int c_lexer_en_element_head = 63;
86
- static const int c_lexer_en_text = 66;
87
- static const int c_lexer_en_literal_html_element = 70;
88
- static const int c_lexer_en_main = 22;
89
-
90
-
91
- #line 66 "ext/c/lexer.rl"
78
+ static const int c_lexer_en_comment_body = 40;
79
+ static const int c_lexer_en_cdata_body = 43;
80
+ static const int c_lexer_en_proc_ins_body = 46;
81
+ static const int c_lexer_en_string_squote = 49;
82
+ static const int c_lexer_en_string_dquote = 51;
83
+ static const int c_lexer_en_doctype_inline = 53;
84
+ static const int c_lexer_en_doctype = 55;
85
+ static const int c_lexer_en_xml_decl = 68;
86
+ static const int c_lexer_en_element_name = 71;
87
+ static const int c_lexer_en_html_attribute_value = 73;
88
+ static const int c_lexer_en_xml_attribute_value = 75;
89
+ static const int c_lexer_en_element_head = 76;
90
+ static const int c_lexer_en_text = 80;
91
+ static const int c_lexer_en_html_script = 84;
92
+ static const int c_lexer_en_html_style = 88;
93
+ static const int c_lexer_en_main = 34;
94
+
95
+
96
+ #line 70 "ext/c/lexer.rl"
92
97
 
93
98
  /**
94
99
  * Lexes the String specifies as the method argument. Token values have the
@@ -152,7 +157,7 @@ VALUE oga_xml_lexer_advance(VALUE self, VALUE data_block)
152
157
  lines = state->lines;
153
158
 
154
159
 
155
- #line 156 "ext/c/lexer.c"
160
+ #line 161 "ext/c/lexer.c"
156
161
  {
157
162
  if ( p == pe )
158
163
  goto _test_eof;
@@ -160,8 +165,8 @@ VALUE oga_xml_lexer_advance(VALUE self, VALUE data_block)
160
165
 
161
166
  _again:
162
167
  switch ( ( state->cs) ) {
163
- case 22: goto st22;
164
- case 23: goto st23;
168
+ case 34: goto st34;
169
+ case 35: goto st35;
165
170
  case 1: goto st1;
166
171
  case 2: goto st2;
167
172
  case 3: goto st3;
@@ -171,7 +176,7 @@ _again:
171
176
  case 7: goto st7;
172
177
  case 8: goto st8;
173
178
  case 9: goto st9;
174
- case 24: goto st24;
179
+ case 36: goto st36;
175
180
  case 10: goto st10;
176
181
  case 11: goto st11;
177
182
  case 12: goto st12;
@@ -181,30 +186,17 @@ _again:
181
186
  case 16: goto st16;
182
187
  case 17: goto st17;
183
188
  case 18: goto st18;
184
- case 25: goto st25;
185
- case 26: goto st26;
186
- case 27: goto st27;
187
- case 28: goto st28;
188
- case 29: goto st29;
189
- case 30: goto st30;
190
- case 19: goto st19;
191
- case 31: goto st31;
192
- case 32: goto st32;
193
- case 33: goto st33;
194
- case 20: goto st20;
195
- case 34: goto st34;
196
- case 35: goto st35;
197
- case 36: goto st36;
198
189
  case 37: goto st37;
199
190
  case 38: goto st38;
200
191
  case 39: goto st39;
201
192
  case 40: goto st40;
202
193
  case 41: goto st41;
203
194
  case 42: goto st42;
195
+ case 19: goto st19;
204
196
  case 43: goto st43;
205
- case 0: goto st0;
206
197
  case 44: goto st44;
207
198
  case 45: goto st45;
199
+ case 20: goto st20;
208
200
  case 46: goto st46;
209
201
  case 47: goto st47;
210
202
  case 48: goto st48;
@@ -215,6 +207,7 @@ _again:
215
207
  case 53: goto st53;
216
208
  case 54: goto st54;
217
209
  case 55: goto st55;
210
+ case 0: goto st0;
218
211
  case 56: goto st56;
219
212
  case 57: goto st57;
220
213
  case 58: goto st58;
@@ -225,7 +218,6 @@ _again:
225
218
  case 63: goto st63;
226
219
  case 64: goto st64;
227
220
  case 65: goto st65;
228
- case 21: goto st21;
229
221
  case 66: goto st66;
230
222
  case 67: goto st67;
231
223
  case 68: goto st68;
@@ -243,6 +235,28 @@ _again:
243
235
  case 80: goto st80;
244
236
  case 81: goto st81;
245
237
  case 82: goto st82;
238
+ case 83: goto st83;
239
+ case 84: goto st84;
240
+ case 85: goto st85;
241
+ case 86: goto st86;
242
+ case 21: goto st21;
243
+ case 22: goto st22;
244
+ case 23: goto st23;
245
+ case 24: goto st24;
246
+ case 25: goto st25;
247
+ case 26: goto st26;
248
+ case 27: goto st27;
249
+ case 87: goto st87;
250
+ case 88: goto st88;
251
+ case 89: goto st89;
252
+ case 90: goto st90;
253
+ case 28: goto st28;
254
+ case 29: goto st29;
255
+ case 30: goto st30;
256
+ case 31: goto st31;
257
+ case 32: goto st32;
258
+ case 33: goto st33;
259
+ case 91: goto st91;
246
260
  default: break;
247
261
  }
248
262
 
@@ -252,138 +266,146 @@ _resume:
252
266
  switch ( ( state->cs) )
253
267
  {
254
268
  tr0:
255
- ( state->cs) = 22;
256
- #line 471 "ext/ragel/base_lexer.rl"
269
+ ( state->cs) = 34;
270
+ #line 505 "ext/ragel/base_lexer.rl"
257
271
  {{p = ((te))-1;}{
258
272
  p--;
259
- ( state->cs) = 66;
273
+ ( state->cs) = 80;
260
274
  }}
261
275
  goto _again;
262
276
  tr4:
263
- ( state->cs) = 22;
264
- #line 74 "ext/ragel/base_lexer.rl"
277
+ ( state->cs) = 34;
278
+ #line 84 "ext/ragel/base_lexer.rl"
265
279
  {te = p+1;{
266
280
  callback_simple(id_on_comment_start);
267
281
 
268
- ( state->cs) = 28;
282
+ ( state->cs) = 40;
269
283
  }}
270
284
  goto _again;
271
285
  tr17:
272
- ( state->cs) = 22;
273
- #line 113 "ext/ragel/base_lexer.rl"
286
+ ( state->cs) = 34;
287
+ #line 123 "ext/ragel/base_lexer.rl"
274
288
  {te = p+1;{
275
289
  callback_simple(id_on_cdata_start);
276
290
 
277
- ( state->cs) = 31;
291
+ ( state->cs) = 43;
278
292
  }}
279
293
  goto _again;
280
294
  tr20:
281
- #line 357 "ext/ragel/base_lexer.rl"
295
+ #line 375 "ext/ragel/base_lexer.rl"
282
296
  {te = p+1;{
283
297
  callback_simple(id_on_element_end);
284
298
  }}
285
- goto st22;
286
- tr29:
287
- ( state->cs) = 22;
288
- #line 471 "ext/ragel/base_lexer.rl"
299
+ goto st34;
300
+ tr42:
301
+ ( state->cs) = 34;
302
+ #line 505 "ext/ragel/base_lexer.rl"
289
303
  {te = p+1;{
290
304
  p--;
291
- ( state->cs) = 66;
305
+ ( state->cs) = 80;
292
306
  }}
293
307
  goto _again;
294
- tr31:
295
- ( state->cs) = 22;
296
- #line 471 "ext/ragel/base_lexer.rl"
308
+ tr44:
309
+ ( state->cs) = 34;
310
+ #line 505 "ext/ragel/base_lexer.rl"
297
311
  {te = p;p--;{
298
312
  p--;
299
- ( state->cs) = 66;
313
+ ( state->cs) = 80;
300
314
  }}
301
315
  goto _again;
302
- tr33:
303
- ( state->cs) = 22;
304
- #line 351 "ext/ragel/base_lexer.rl"
316
+ tr46:
317
+ ( state->cs) = 34;
318
+ #line 369 "ext/ragel/base_lexer.rl"
305
319
  {te = p+1;{
306
320
  callback_simple(id_on_element_start);
307
321
  p--;
308
- ( state->cs) = 58;
322
+ ( state->cs) = 71;
309
323
  }}
310
324
  goto _again;
311
- tr35:
312
- ( state->cs) = 22;
313
- #line 245 "ext/ragel/base_lexer.rl"
325
+ tr48:
326
+ ( state->cs) = 34;
327
+ #line 255 "ext/ragel/base_lexer.rl"
314
328
  {te = p;p--;{
315
329
  callback_simple(id_on_doctype_start);
316
- ( state->cs) = 43;
330
+
331
+ if ( lines > 0 )
332
+ {
333
+ advance_line(lines);
334
+
335
+ lines = 0;
336
+ }
337
+
338
+ ( state->cs) = 55;
317
339
  }}
318
340
  goto _again;
319
- tr36:
320
- ( state->cs) = 22;
341
+ tr49:
342
+ ( state->cs) = 34;
321
343
  #line 1 "NONE"
322
344
  { switch( ( state->act) ) {
323
- case 45:
345
+ case 48:
324
346
  {{p = ((te))-1;}
325
347
  callback_simple(id_on_xml_decl_start);
326
- ( state->cs) = 55;
348
+ ( state->cs) = 68;
327
349
  }
328
350
  break;
329
- case 48:
351
+ case 51:
330
352
  {{p = ((te))-1;}
331
353
  callback_simple(id_on_proc_ins_start);
332
354
  callback(id_on_proc_ins_name, data, encoding, ts + 2, te);
333
355
 
334
- ( state->cs) = 34;
356
+ ( state->cs) = 46;
335
357
  }
336
358
  break;
337
359
  }
338
360
  }
339
361
  goto _again;
340
- tr37:
341
- ( state->cs) = 22;
342
- #line 155 "ext/ragel/base_lexer.rl"
362
+ tr50:
363
+ ( state->cs) = 34;
364
+ #line 165 "ext/ragel/base_lexer.rl"
343
365
  {te = p;p--;{
344
366
  callback_simple(id_on_proc_ins_start);
345
367
  callback(id_on_proc_ins_name, data, encoding, ts + 2, te);
346
368
 
347
- ( state->cs) = 34;
369
+ ( state->cs) = 46;
348
370
  }}
349
371
  goto _again;
350
- st22:
372
+ st34:
351
373
  #line 1 "NONE"
352
374
  {ts = 0;}
353
375
  if ( ++p == pe )
354
- goto _test_eof22;
355
- case 22:
376
+ goto _test_eof34;
377
+ case 34:
356
378
  #line 1 "NONE"
357
379
  {ts = p;}
358
- #line 359 "ext/c/lexer.c"
380
+ #line 381 "ext/c/lexer.c"
359
381
  if ( (*p) == 60 )
360
- goto tr30;
361
- goto tr29;
362
- tr30:
382
+ goto tr43;
383
+ goto tr42;
384
+ tr43:
363
385
  #line 1 "NONE"
364
386
  {te = p+1;}
365
- goto st23;
366
- st23:
387
+ goto st35;
388
+ st35:
367
389
  if ( ++p == pe )
368
- goto _test_eof23;
369
- case 23:
370
- #line 371 "ext/c/lexer.c"
390
+ goto _test_eof35;
391
+ case 35:
392
+ #line 393 "ext/c/lexer.c"
371
393
  switch( (*p) ) {
372
394
  case 33: goto st1;
373
- case 45: goto tr33;
395
+ case 45: goto tr46;
374
396
  case 47: goto st16;
375
397
  case 63: goto st18;
376
- case 95: goto tr33;
398
+ case 95: goto tr46;
377
399
  }
378
400
  if ( (*p) < 65 ) {
379
401
  if ( 48 <= (*p) && (*p) <= 57 )
380
- goto tr33;
402
+ goto tr46;
381
403
  } else if ( (*p) > 90 ) {
382
404
  if ( 97 <= (*p) && (*p) <= 122 )
383
- goto tr33;
405
+ goto tr46;
384
406
  } else
385
- goto tr33;
386
- goto tr31;
407
+ goto tr46;
408
+ goto tr44;
387
409
  st1:
388
410
  if ( ++p == pe )
389
411
  goto _test_eof1;
@@ -461,19 +483,30 @@ st9:
461
483
  goto _test_eof9;
462
484
  case 9:
463
485
  switch( (*p) ) {
464
- case 9: goto st24;
465
- case 32: goto st24;
486
+ case 13: goto tr11;
487
+ case 32: goto tr11;
466
488
  }
489
+ if ( 9 <= (*p) && (*p) <= 10 )
490
+ goto tr11;
467
491
  goto tr0;
468
- st24:
492
+ tr11:
493
+ #line 56 "ext/ragel/base_lexer.rl"
494
+ {
495
+ if ( (*p) == '\n' ) lines++;
496
+ }
497
+ goto st36;
498
+ st36:
469
499
  if ( ++p == pe )
470
- goto _test_eof24;
471
- case 24:
500
+ goto _test_eof36;
501
+ case 36:
502
+ #line 503 "ext/c/lexer.c"
472
503
  switch( (*p) ) {
473
- case 9: goto st24;
474
- case 32: goto st24;
504
+ case 13: goto tr11;
505
+ case 32: goto tr11;
475
506
  }
476
- goto tr35;
507
+ if ( 9 <= (*p) && (*p) <= 10 )
508
+ goto tr11;
509
+ goto tr48;
477
510
  st10:
478
511
  if ( ++p == pe )
479
512
  goto _test_eof10;
@@ -559,7 +592,7 @@ case 18:
559
592
  switch( (*p) ) {
560
593
  case 45: goto tr21;
561
594
  case 95: goto tr21;
562
- case 120: goto st26;
595
+ case 120: goto st38;
563
596
  }
564
597
  if ( (*p) < 65 ) {
565
598
  if ( 48 <= (*p) && (*p) <= 57 )
@@ -573,20 +606,20 @@ case 18:
573
606
  tr21:
574
607
  #line 1 "NONE"
575
608
  {te = p+1;}
576
- #line 155 "ext/ragel/base_lexer.rl"
577
- {( state->act) = 48;}
578
- goto st25;
579
- tr39:
609
+ #line 165 "ext/ragel/base_lexer.rl"
610
+ {( state->act) = 51;}
611
+ goto st37;
612
+ tr52:
580
613
  #line 1 "NONE"
581
614
  {te = p+1;}
582
- #line 301 "ext/ragel/base_lexer.rl"
583
- {( state->act) = 45;}
584
- goto st25;
585
- st25:
615
+ #line 319 "ext/ragel/base_lexer.rl"
616
+ {( state->act) = 48;}
617
+ goto st37;
618
+ st37:
586
619
  if ( ++p == pe )
587
- goto _test_eof25;
588
- case 25:
589
- #line 590 "ext/c/lexer.c"
620
+ goto _test_eof37;
621
+ case 37:
622
+ #line 623 "ext/c/lexer.c"
590
623
  switch( (*p) ) {
591
624
  case 45: goto tr21;
592
625
  case 95: goto tr21;
@@ -599,15 +632,15 @@ case 25:
599
632
  goto tr21;
600
633
  } else
601
634
  goto tr21;
602
- goto tr36;
603
- st26:
635
+ goto tr49;
636
+ st38:
604
637
  if ( ++p == pe )
605
- goto _test_eof26;
606
- case 26:
638
+ goto _test_eof38;
639
+ case 38:
607
640
  switch( (*p) ) {
608
641
  case 45: goto tr21;
609
642
  case 95: goto tr21;
610
- case 109: goto st27;
643
+ case 109: goto st39;
611
644
  }
612
645
  if ( (*p) < 65 ) {
613
646
  if ( 48 <= (*p) && (*p) <= 57 )
@@ -617,15 +650,15 @@ case 26:
617
650
  goto tr21;
618
651
  } else
619
652
  goto tr21;
620
- goto tr37;
621
- st27:
653
+ goto tr50;
654
+ st39:
622
655
  if ( ++p == pe )
623
- goto _test_eof27;
624
- case 27:
656
+ goto _test_eof39;
657
+ case 39:
625
658
  switch( (*p) ) {
626
659
  case 45: goto tr21;
627
660
  case 95: goto tr21;
628
- case 108: goto tr39;
661
+ case 108: goto tr52;
629
662
  }
630
663
  if ( (*p) < 65 ) {
631
664
  if ( 48 <= (*p) && (*p) <= 57 )
@@ -635,9 +668,9 @@ case 27:
635
668
  goto tr21;
636
669
  } else
637
670
  goto tr21;
638
- goto tr37;
671
+ goto tr50;
639
672
  tr23:
640
- #line 81 "ext/ragel/base_lexer.rl"
673
+ #line 91 "ext/ragel/base_lexer.rl"
641
674
  {{p = ((te))-1;}{
642
675
  callback(id_on_comment_body, data, encoding, ts, te);
643
676
 
@@ -648,18 +681,18 @@ tr23:
648
681
  lines = 0;
649
682
  }
650
683
  }}
651
- goto st28;
684
+ goto st40;
652
685
  tr24:
653
- ( state->cs) = 28;
654
- #line 92 "ext/ragel/base_lexer.rl"
686
+ ( state->cs) = 40;
687
+ #line 102 "ext/ragel/base_lexer.rl"
655
688
  {te = p+1;{
656
689
  callback_simple(id_on_comment_end);
657
690
 
658
- ( state->cs) = 22;
691
+ ( state->cs) = 34;
659
692
  }}
660
693
  goto _again;
661
- tr42:
662
- #line 81 "ext/ragel/base_lexer.rl"
694
+ tr55:
695
+ #line 91 "ext/ragel/base_lexer.rl"
663
696
  {te = p;p--;{
664
697
  callback(id_on_comment_body, data, encoding, ts, te);
665
698
 
@@ -670,49 +703,49 @@ tr42:
670
703
  lines = 0;
671
704
  }
672
705
  }}
673
- goto st28;
674
- st28:
706
+ goto st40;
707
+ st40:
675
708
  #line 1 "NONE"
676
709
  {ts = 0;}
677
710
  if ( ++p == pe )
678
- goto _test_eof28;
679
- case 28:
711
+ goto _test_eof40;
712
+ case 40:
680
713
  #line 1 "NONE"
681
714
  {ts = p;}
682
- #line 683 "ext/c/lexer.c"
715
+ #line 716 "ext/c/lexer.c"
683
716
  if ( (*p) == 45 )
684
- goto tr41;
685
- goto tr40;
686
- tr40:
687
- #line 51 "ext/ragel/base_lexer.rl"
717
+ goto tr54;
718
+ goto tr53;
719
+ tr53:
720
+ #line 56 "ext/ragel/base_lexer.rl"
688
721
  {
689
722
  if ( (*p) == '\n' ) lines++;
690
723
  }
691
- goto st29;
692
- st29:
724
+ goto st41;
725
+ st41:
693
726
  if ( ++p == pe )
694
- goto _test_eof29;
695
- case 29:
696
- #line 697 "ext/c/lexer.c"
727
+ goto _test_eof41;
728
+ case 41:
729
+ #line 730 "ext/c/lexer.c"
697
730
  if ( (*p) == 45 )
698
- goto tr42;
699
- goto tr40;
700
- tr41:
731
+ goto tr55;
732
+ goto tr53;
733
+ tr54:
701
734
  #line 1 "NONE"
702
735
  {te = p+1;}
703
- #line 51 "ext/ragel/base_lexer.rl"
736
+ #line 56 "ext/ragel/base_lexer.rl"
704
737
  {
705
738
  if ( (*p) == '\n' ) lines++;
706
739
  }
707
- goto st30;
708
- st30:
740
+ goto st42;
741
+ st42:
709
742
  if ( ++p == pe )
710
- goto _test_eof30;
711
- case 30:
712
- #line 713 "ext/c/lexer.c"
743
+ goto _test_eof42;
744
+ case 42:
745
+ #line 746 "ext/c/lexer.c"
713
746
  if ( (*p) == 45 )
714
747
  goto st19;
715
- goto tr42;
748
+ goto tr55;
716
749
  st19:
717
750
  if ( ++p == pe )
718
751
  goto _test_eof19;
@@ -721,7 +754,7 @@ case 19:
721
754
  goto tr24;
722
755
  goto tr23;
723
756
  tr25:
724
- #line 120 "ext/ragel/base_lexer.rl"
757
+ #line 130 "ext/ragel/base_lexer.rl"
725
758
  {{p = ((te))-1;}{
726
759
  callback(id_on_cdata_body, data, encoding, ts, te);
727
760
 
@@ -732,18 +765,18 @@ tr25:
732
765
  lines = 0;
733
766
  }
734
767
  }}
735
- goto st31;
768
+ goto st43;
736
769
  tr26:
737
- ( state->cs) = 31;
738
- #line 131 "ext/ragel/base_lexer.rl"
770
+ ( state->cs) = 43;
771
+ #line 141 "ext/ragel/base_lexer.rl"
739
772
  {te = p+1;{
740
773
  callback_simple(id_on_cdata_end);
741
774
 
742
- ( state->cs) = 22;
775
+ ( state->cs) = 34;
743
776
  }}
744
777
  goto _again;
745
- tr46:
746
- #line 120 "ext/ragel/base_lexer.rl"
778
+ tr59:
779
+ #line 130 "ext/ragel/base_lexer.rl"
747
780
  {te = p;p--;{
748
781
  callback(id_on_cdata_body, data, encoding, ts, te);
749
782
 
@@ -754,49 +787,49 @@ tr46:
754
787
  lines = 0;
755
788
  }
756
789
  }}
757
- goto st31;
758
- st31:
790
+ goto st43;
791
+ st43:
759
792
  #line 1 "NONE"
760
793
  {ts = 0;}
761
794
  if ( ++p == pe )
762
- goto _test_eof31;
763
- case 31:
795
+ goto _test_eof43;
796
+ case 43:
764
797
  #line 1 "NONE"
765
798
  {ts = p;}
766
- #line 767 "ext/c/lexer.c"
799
+ #line 800 "ext/c/lexer.c"
767
800
  if ( (*p) == 93 )
768
- goto tr45;
769
- goto tr44;
770
- tr44:
771
- #line 51 "ext/ragel/base_lexer.rl"
801
+ goto tr58;
802
+ goto tr57;
803
+ tr57:
804
+ #line 56 "ext/ragel/base_lexer.rl"
772
805
  {
773
806
  if ( (*p) == '\n' ) lines++;
774
807
  }
775
- goto st32;
776
- st32:
808
+ goto st44;
809
+ st44:
777
810
  if ( ++p == pe )
778
- goto _test_eof32;
779
- case 32:
780
- #line 781 "ext/c/lexer.c"
811
+ goto _test_eof44;
812
+ case 44:
813
+ #line 814 "ext/c/lexer.c"
781
814
  if ( (*p) == 93 )
782
- goto tr46;
783
- goto tr44;
784
- tr45:
815
+ goto tr59;
816
+ goto tr57;
817
+ tr58:
785
818
  #line 1 "NONE"
786
819
  {te = p+1;}
787
- #line 51 "ext/ragel/base_lexer.rl"
820
+ #line 56 "ext/ragel/base_lexer.rl"
788
821
  {
789
822
  if ( (*p) == '\n' ) lines++;
790
823
  }
791
- goto st33;
792
- st33:
824
+ goto st45;
825
+ st45:
793
826
  if ( ++p == pe )
794
- goto _test_eof33;
795
- case 33:
796
- #line 797 "ext/c/lexer.c"
827
+ goto _test_eof45;
828
+ case 45:
829
+ #line 830 "ext/c/lexer.c"
797
830
  if ( (*p) == 93 )
798
831
  goto st20;
799
- goto tr46;
832
+ goto tr59;
800
833
  st20:
801
834
  if ( ++p == pe )
802
835
  goto _test_eof20;
@@ -804,8 +837,8 @@ case 20:
804
837
  if ( (*p) == 62 )
805
838
  goto tr26;
806
839
  goto tr25;
807
- tr50:
808
- #line 163 "ext/ragel/base_lexer.rl"
840
+ tr63:
841
+ #line 173 "ext/ragel/base_lexer.rl"
809
842
  {te = p;p--;{
810
843
  callback(id_on_proc_ins_body, data, encoding, ts, te);
811
844
 
@@ -816,66 +849,66 @@ tr50:
816
849
  lines = 0;
817
850
  }
818
851
  }}
819
- goto st34;
820
- tr51:
821
- ( state->cs) = 34;
822
- #line 174 "ext/ragel/base_lexer.rl"
852
+ goto st46;
853
+ tr64:
854
+ ( state->cs) = 46;
855
+ #line 184 "ext/ragel/base_lexer.rl"
823
856
  {te = p+1;{
824
857
  callback_simple(id_on_proc_ins_end);
825
858
 
826
- ( state->cs) = 22;
859
+ ( state->cs) = 34;
827
860
  }}
828
861
  goto _again;
829
- st34:
862
+ st46:
830
863
  #line 1 "NONE"
831
864
  {ts = 0;}
832
865
  if ( ++p == pe )
833
- goto _test_eof34;
834
- case 34:
866
+ goto _test_eof46;
867
+ case 46:
835
868
  #line 1 "NONE"
836
869
  {ts = p;}
837
- #line 838 "ext/c/lexer.c"
870
+ #line 871 "ext/c/lexer.c"
838
871
  if ( (*p) == 63 )
839
- goto tr49;
840
- goto tr48;
841
- tr48:
842
- #line 51 "ext/ragel/base_lexer.rl"
872
+ goto tr62;
873
+ goto tr61;
874
+ tr61:
875
+ #line 56 "ext/ragel/base_lexer.rl"
843
876
  {
844
877
  if ( (*p) == '\n' ) lines++;
845
878
  }
846
- goto st35;
847
- st35:
879
+ goto st47;
880
+ st47:
848
881
  if ( ++p == pe )
849
- goto _test_eof35;
850
- case 35:
851
- #line 852 "ext/c/lexer.c"
882
+ goto _test_eof47;
883
+ case 47:
884
+ #line 885 "ext/c/lexer.c"
852
885
  if ( (*p) == 63 )
853
- goto tr50;
854
- goto tr48;
855
- tr49:
856
- #line 51 "ext/ragel/base_lexer.rl"
886
+ goto tr63;
887
+ goto tr61;
888
+ tr62:
889
+ #line 56 "ext/ragel/base_lexer.rl"
857
890
  {
858
891
  if ( (*p) == '\n' ) lines++;
859
892
  }
860
- goto st36;
861
- st36:
893
+ goto st48;
894
+ st48:
862
895
  if ( ++p == pe )
863
- goto _test_eof36;
864
- case 36:
865
- #line 866 "ext/c/lexer.c"
896
+ goto _test_eof48;
897
+ case 48:
898
+ #line 899 "ext/c/lexer.c"
866
899
  if ( (*p) == 62 )
867
- goto tr51;
868
- goto tr50;
869
- tr53:
870
- #line 216 "ext/ragel/base_lexer.rl"
900
+ goto tr64;
901
+ goto tr63;
902
+ tr66:
903
+ #line 226 "ext/ragel/base_lexer.rl"
871
904
  {te = p+1;{
872
905
  callback_simple(id_on_string_squote);
873
906
 
874
907
  {( state->cs) = ( state->stack)[--( state->top)];goto _again;}
875
908
  }}
876
- goto st37;
877
- tr54:
878
- #line 190 "ext/ragel/base_lexer.rl"
909
+ goto st49;
910
+ tr67:
911
+ #line 200 "ext/ragel/base_lexer.rl"
879
912
  {te = p;p--;{
880
913
  callback(id_on_string_body, data, encoding, ts, te);
881
914
 
@@ -886,43 +919,43 @@ tr54:
886
919
  lines = 0;
887
920
  }
888
921
  }}
889
- goto st37;
890
- st37:
922
+ goto st49;
923
+ st49:
891
924
  #line 1 "NONE"
892
925
  {ts = 0;}
893
926
  if ( ++p == pe )
894
- goto _test_eof37;
895
- case 37:
927
+ goto _test_eof49;
928
+ case 49:
896
929
  #line 1 "NONE"
897
930
  {ts = p;}
898
- #line 899 "ext/c/lexer.c"
931
+ #line 932 "ext/c/lexer.c"
899
932
  if ( (*p) == 39 )
900
- goto tr53;
901
- goto tr52;
902
- tr52:
903
- #line 51 "ext/ragel/base_lexer.rl"
933
+ goto tr66;
934
+ goto tr65;
935
+ tr65:
936
+ #line 56 "ext/ragel/base_lexer.rl"
904
937
  {
905
938
  if ( (*p) == '\n' ) lines++;
906
939
  }
907
- goto st38;
908
- st38:
940
+ goto st50;
941
+ st50:
909
942
  if ( ++p == pe )
910
- goto _test_eof38;
911
- case 38:
912
- #line 913 "ext/c/lexer.c"
943
+ goto _test_eof50;
944
+ case 50:
945
+ #line 946 "ext/c/lexer.c"
913
946
  if ( (*p) == 39 )
914
- goto tr54;
915
- goto tr52;
916
- tr56:
917
- #line 226 "ext/ragel/base_lexer.rl"
947
+ goto tr67;
948
+ goto tr65;
949
+ tr69:
950
+ #line 236 "ext/ragel/base_lexer.rl"
918
951
  {te = p+1;{
919
952
  callback_simple(id_on_string_dquote);
920
953
 
921
954
  {( state->cs) = ( state->stack)[--( state->top)];goto _again;}
922
955
  }}
923
- goto st39;
924
- tr57:
925
- #line 190 "ext/ragel/base_lexer.rl"
956
+ goto st51;
957
+ tr70:
958
+ #line 200 "ext/ragel/base_lexer.rl"
926
959
  {te = p;p--;{
927
960
  callback(id_on_string_body, data, encoding, ts, te);
928
961
 
@@ -933,40 +966,40 @@ tr57:
933
966
  lines = 0;
934
967
  }
935
968
  }}
936
- goto st39;
937
- st39:
969
+ goto st51;
970
+ st51:
938
971
  #line 1 "NONE"
939
972
  {ts = 0;}
940
973
  if ( ++p == pe )
941
- goto _test_eof39;
942
- case 39:
974
+ goto _test_eof51;
975
+ case 51:
943
976
  #line 1 "NONE"
944
977
  {ts = p;}
945
- #line 946 "ext/c/lexer.c"
978
+ #line 979 "ext/c/lexer.c"
946
979
  if ( (*p) == 34 )
947
- goto tr56;
948
- goto tr55;
949
- tr55:
950
- #line 51 "ext/ragel/base_lexer.rl"
980
+ goto tr69;
981
+ goto tr68;
982
+ tr68:
983
+ #line 56 "ext/ragel/base_lexer.rl"
951
984
  {
952
985
  if ( (*p) == '\n' ) lines++;
953
986
  }
954
- goto st40;
955
- st40:
987
+ goto st52;
988
+ st52:
956
989
  if ( ++p == pe )
957
- goto _test_eof40;
958
- case 40:
959
- #line 960 "ext/c/lexer.c"
990
+ goto _test_eof52;
991
+ case 52:
992
+ #line 993 "ext/c/lexer.c"
960
993
  if ( (*p) == 34 )
961
- goto tr57;
962
- goto tr55;
963
- tr59:
964
- ( state->cs) = 41;
965
- #line 263 "ext/ragel/base_lexer.rl"
966
- {te = p+1;{ ( state->cs) = 43; }}
994
+ goto tr70;
995
+ goto tr68;
996
+ tr72:
997
+ ( state->cs) = 53;
998
+ #line 281 "ext/ragel/base_lexer.rl"
999
+ {te = p+1;{ ( state->cs) = 55; }}
967
1000
  goto _again;
968
- tr60:
969
- #line 252 "ext/ragel/base_lexer.rl"
1001
+ tr73:
1002
+ #line 270 "ext/ragel/base_lexer.rl"
970
1003
  {te = p;p--;{
971
1004
  callback(id_on_doctype_inline, data, encoding, ts, te);
972
1005
 
@@ -977,67 +1010,79 @@ tr60:
977
1010
  lines = 0;
978
1011
  }
979
1012
  }}
980
- goto st41;
981
- st41:
1013
+ goto st53;
1014
+ st53:
982
1015
  #line 1 "NONE"
983
1016
  {ts = 0;}
984
1017
  if ( ++p == pe )
985
- goto _test_eof41;
986
- case 41:
1018
+ goto _test_eof53;
1019
+ case 53:
987
1020
  #line 1 "NONE"
988
1021
  {ts = p;}
989
- #line 990 "ext/c/lexer.c"
1022
+ #line 1023 "ext/c/lexer.c"
990
1023
  if ( (*p) == 93 )
991
- goto tr59;
992
- goto tr58;
993
- tr58:
994
- #line 51 "ext/ragel/base_lexer.rl"
1024
+ goto tr72;
1025
+ goto tr71;
1026
+ tr71:
1027
+ #line 56 "ext/ragel/base_lexer.rl"
995
1028
  {
996
1029
  if ( (*p) == '\n' ) lines++;
997
1030
  }
998
- goto st42;
999
- st42:
1031
+ goto st54;
1032
+ st54:
1000
1033
  if ( ++p == pe )
1001
- goto _test_eof42;
1002
- case 42:
1003
- #line 1004 "ext/c/lexer.c"
1034
+ goto _test_eof54;
1035
+ case 54:
1036
+ #line 1037 "ext/c/lexer.c"
1004
1037
  if ( (*p) == 93 )
1005
- goto tr60;
1006
- goto tr58;
1007
- tr61:
1008
- #line 282 "ext/ragel/base_lexer.rl"
1038
+ goto tr73;
1039
+ goto tr71;
1040
+ tr74:
1041
+ #line 309 "ext/ragel/base_lexer.rl"
1009
1042
  {te = p+1;}
1010
- goto st43;
1011
- tr62:
1012
- #line 207 "ext/ragel/base_lexer.rl"
1043
+ goto st55;
1044
+ tr76:
1045
+ #line 60 "ext/ragel/base_lexer.rl"
1046
+ {te = p+1;{
1047
+ advance_line(1);
1048
+ }}
1049
+ goto st55;
1050
+ tr78:
1051
+ #line 217 "ext/ragel/base_lexer.rl"
1013
1052
  {te = p+1;{
1014
1053
  callback_simple(id_on_string_dquote);
1015
1054
 
1016
- {( state->stack)[( state->top)++] = 43; goto st39;}
1055
+ {( state->stack)[( state->top)++] = 55; goto st51;}
1017
1056
  }}
1018
- goto st43;
1019
- tr63:
1020
- #line 201 "ext/ragel/base_lexer.rl"
1057
+ goto st55;
1058
+ tr79:
1059
+ #line 211 "ext/ragel/base_lexer.rl"
1021
1060
  {te = p+1;{
1022
1061
  callback_simple(id_on_string_squote);
1023
1062
 
1024
- {( state->stack)[( state->top)++] = 43; goto st37;}
1063
+ {( state->stack)[( state->top)++] = 55; goto st49;}
1025
1064
  }}
1026
- goto st43;
1027
- tr65:
1028
- ( state->cs) = 43;
1029
- #line 288 "ext/ragel/base_lexer.rl"
1065
+ goto st55;
1066
+ tr81:
1067
+ ( state->cs) = 55;
1068
+ #line 302 "ext/ragel/base_lexer.rl"
1030
1069
  {te = p+1;{
1031
1070
  callback_simple(id_on_doctype_end);
1032
- ( state->cs) = 22;
1071
+ ( state->cs) = 34;
1033
1072
  }}
1034
1073
  goto _again;
1035
- tr68:
1036
- ( state->cs) = 43;
1037
- #line 274 "ext/ragel/base_lexer.rl"
1038
- {te = p+1;{ ( state->cs) = 41; }}
1074
+ tr84:
1075
+ ( state->cs) = 55;
1076
+ #line 292 "ext/ragel/base_lexer.rl"
1077
+ {te = p+1;{ ( state->cs) = 53; }}
1039
1078
  goto _again;
1040
- tr69:
1079
+ tr85:
1080
+ #line 60 "ext/ragel/base_lexer.rl"
1081
+ {te = p;p--;{
1082
+ advance_line(1);
1083
+ }}
1084
+ goto st55;
1085
+ tr86:
1041
1086
  #line 1 "NONE"
1042
1087
  { switch( ( state->act) ) {
1043
1088
  case 13:
@@ -1045,297 +1090,306 @@ tr69:
1045
1090
  callback(id_on_doctype_type, data, encoding, ts, te);
1046
1091
  }
1047
1092
  break;
1048
- case 18:
1093
+ case 17:
1049
1094
  {{p = ((te))-1;}
1050
1095
  callback(id_on_doctype_name, data, encoding, ts, te);
1051
1096
  }
1052
1097
  break;
1053
1098
  }
1054
1099
  }
1055
- goto st43;
1056
- tr70:
1057
- #line 284 "ext/ragel/base_lexer.rl"
1100
+ goto st55;
1101
+ tr87:
1102
+ #line 298 "ext/ragel/base_lexer.rl"
1058
1103
  {te = p;p--;{
1059
1104
  callback(id_on_doctype_name, data, encoding, ts, te);
1060
1105
  }}
1061
- goto st43;
1062
- st43:
1106
+ goto st55;
1107
+ st55:
1063
1108
  #line 1 "NONE"
1064
1109
  {ts = 0;}
1065
1110
  if ( ++p == pe )
1066
- goto _test_eof43;
1067
- case 43:
1111
+ goto _test_eof55;
1112
+ case 55:
1068
1113
  #line 1 "NONE"
1069
1114
  {ts = p;}
1070
- #line 1071 "ext/c/lexer.c"
1115
+ #line 1116 "ext/c/lexer.c"
1071
1116
  switch( (*p) ) {
1072
- case 9: goto tr61;
1073
- case 32: goto tr61;
1074
- case 34: goto tr62;
1075
- case 39: goto tr63;
1076
- case 45: goto tr64;
1077
- case 62: goto tr65;
1078
- case 80: goto st45;
1079
- case 83: goto st50;
1080
- case 91: goto tr68;
1081
- case 95: goto tr64;
1117
+ case 9: goto tr74;
1118
+ case 10: goto tr76;
1119
+ case 13: goto st56;
1120
+ case 32: goto tr74;
1121
+ case 34: goto tr78;
1122
+ case 39: goto tr79;
1123
+ case 45: goto tr80;
1124
+ case 62: goto tr81;
1125
+ case 80: goto st58;
1126
+ case 83: goto st63;
1127
+ case 91: goto tr84;
1128
+ case 95: goto tr80;
1082
1129
  }
1083
1130
  if ( (*p) < 65 ) {
1084
1131
  if ( 48 <= (*p) && (*p) <= 57 )
1085
- goto tr64;
1132
+ goto tr80;
1086
1133
  } else if ( (*p) > 90 ) {
1087
1134
  if ( 97 <= (*p) && (*p) <= 122 )
1088
- goto tr64;
1135
+ goto tr80;
1089
1136
  } else
1090
- goto tr64;
1137
+ goto tr80;
1091
1138
  goto st0;
1092
1139
  st0:
1093
1140
  ( state->cs) = 0;
1094
1141
  goto _out;
1095
- tr64:
1142
+ st56:
1143
+ if ( ++p == pe )
1144
+ goto _test_eof56;
1145
+ case 56:
1146
+ if ( (*p) == 10 )
1147
+ goto tr76;
1148
+ goto tr85;
1149
+ tr80:
1096
1150
  #line 1 "NONE"
1097
1151
  {te = p+1;}
1098
- #line 284 "ext/ragel/base_lexer.rl"
1099
- {( state->act) = 18;}
1100
- goto st44;
1101
- tr75:
1152
+ #line 298 "ext/ragel/base_lexer.rl"
1153
+ {( state->act) = 17;}
1154
+ goto st57;
1155
+ tr92:
1102
1156
  #line 1 "NONE"
1103
1157
  {te = p+1;}
1104
- #line 269 "ext/ragel/base_lexer.rl"
1158
+ #line 287 "ext/ragel/base_lexer.rl"
1105
1159
  {( state->act) = 13;}
1106
- goto st44;
1107
- st44:
1160
+ goto st57;
1161
+ st57:
1108
1162
  if ( ++p == pe )
1109
- goto _test_eof44;
1110
- case 44:
1111
- #line 1112 "ext/c/lexer.c"
1163
+ goto _test_eof57;
1164
+ case 57:
1165
+ #line 1166 "ext/c/lexer.c"
1112
1166
  switch( (*p) ) {
1113
- case 45: goto tr64;
1114
- case 95: goto tr64;
1167
+ case 45: goto tr80;
1168
+ case 95: goto tr80;
1115
1169
  }
1116
1170
  if ( (*p) < 65 ) {
1117
1171
  if ( 48 <= (*p) && (*p) <= 57 )
1118
- goto tr64;
1172
+ goto tr80;
1119
1173
  } else if ( (*p) > 90 ) {
1120
1174
  if ( 97 <= (*p) && (*p) <= 122 )
1121
- goto tr64;
1175
+ goto tr80;
1122
1176
  } else
1123
- goto tr64;
1124
- goto tr69;
1125
- st45:
1177
+ goto tr80;
1178
+ goto tr86;
1179
+ st58:
1126
1180
  if ( ++p == pe )
1127
- goto _test_eof45;
1128
- case 45:
1181
+ goto _test_eof58;
1182
+ case 58:
1129
1183
  switch( (*p) ) {
1130
- case 45: goto tr64;
1131
- case 85: goto st46;
1132
- case 95: goto tr64;
1184
+ case 45: goto tr80;
1185
+ case 85: goto st59;
1186
+ case 95: goto tr80;
1133
1187
  }
1134
1188
  if ( (*p) < 65 ) {
1135
1189
  if ( 48 <= (*p) && (*p) <= 57 )
1136
- goto tr64;
1190
+ goto tr80;
1137
1191
  } else if ( (*p) > 90 ) {
1138
1192
  if ( 97 <= (*p) && (*p) <= 122 )
1139
- goto tr64;
1193
+ goto tr80;
1140
1194
  } else
1141
- goto tr64;
1142
- goto tr70;
1143
- st46:
1195
+ goto tr80;
1196
+ goto tr87;
1197
+ st59:
1144
1198
  if ( ++p == pe )
1145
- goto _test_eof46;
1146
- case 46:
1199
+ goto _test_eof59;
1200
+ case 59:
1147
1201
  switch( (*p) ) {
1148
- case 45: goto tr64;
1149
- case 66: goto st47;
1150
- case 95: goto tr64;
1202
+ case 45: goto tr80;
1203
+ case 66: goto st60;
1204
+ case 95: goto tr80;
1151
1205
  }
1152
1206
  if ( (*p) < 65 ) {
1153
1207
  if ( 48 <= (*p) && (*p) <= 57 )
1154
- goto tr64;
1208
+ goto tr80;
1155
1209
  } else if ( (*p) > 90 ) {
1156
1210
  if ( 97 <= (*p) && (*p) <= 122 )
1157
- goto tr64;
1211
+ goto tr80;
1158
1212
  } else
1159
- goto tr64;
1160
- goto tr70;
1161
- st47:
1213
+ goto tr80;
1214
+ goto tr87;
1215
+ st60:
1162
1216
  if ( ++p == pe )
1163
- goto _test_eof47;
1164
- case 47:
1217
+ goto _test_eof60;
1218
+ case 60:
1165
1219
  switch( (*p) ) {
1166
- case 45: goto tr64;
1167
- case 76: goto st48;
1168
- case 95: goto tr64;
1220
+ case 45: goto tr80;
1221
+ case 76: goto st61;
1222
+ case 95: goto tr80;
1169
1223
  }
1170
1224
  if ( (*p) < 65 ) {
1171
1225
  if ( 48 <= (*p) && (*p) <= 57 )
1172
- goto tr64;
1226
+ goto tr80;
1173
1227
  } else if ( (*p) > 90 ) {
1174
1228
  if ( 97 <= (*p) && (*p) <= 122 )
1175
- goto tr64;
1229
+ goto tr80;
1176
1230
  } else
1177
- goto tr64;
1178
- goto tr70;
1179
- st48:
1231
+ goto tr80;
1232
+ goto tr87;
1233
+ st61:
1180
1234
  if ( ++p == pe )
1181
- goto _test_eof48;
1182
- case 48:
1235
+ goto _test_eof61;
1236
+ case 61:
1183
1237
  switch( (*p) ) {
1184
- case 45: goto tr64;
1185
- case 73: goto st49;
1186
- case 95: goto tr64;
1238
+ case 45: goto tr80;
1239
+ case 73: goto st62;
1240
+ case 95: goto tr80;
1187
1241
  }
1188
1242
  if ( (*p) < 65 ) {
1189
1243
  if ( 48 <= (*p) && (*p) <= 57 )
1190
- goto tr64;
1244
+ goto tr80;
1191
1245
  } else if ( (*p) > 90 ) {
1192
1246
  if ( 97 <= (*p) && (*p) <= 122 )
1193
- goto tr64;
1247
+ goto tr80;
1194
1248
  } else
1195
- goto tr64;
1196
- goto tr70;
1197
- st49:
1249
+ goto tr80;
1250
+ goto tr87;
1251
+ st62:
1198
1252
  if ( ++p == pe )
1199
- goto _test_eof49;
1200
- case 49:
1253
+ goto _test_eof62;
1254
+ case 62:
1201
1255
  switch( (*p) ) {
1202
- case 45: goto tr64;
1203
- case 67: goto tr75;
1204
- case 95: goto tr64;
1256
+ case 45: goto tr80;
1257
+ case 67: goto tr92;
1258
+ case 95: goto tr80;
1205
1259
  }
1206
1260
  if ( (*p) < 65 ) {
1207
1261
  if ( 48 <= (*p) && (*p) <= 57 )
1208
- goto tr64;
1262
+ goto tr80;
1209
1263
  } else if ( (*p) > 90 ) {
1210
1264
  if ( 97 <= (*p) && (*p) <= 122 )
1211
- goto tr64;
1265
+ goto tr80;
1212
1266
  } else
1213
- goto tr64;
1214
- goto tr70;
1215
- st50:
1267
+ goto tr80;
1268
+ goto tr87;
1269
+ st63:
1216
1270
  if ( ++p == pe )
1217
- goto _test_eof50;
1218
- case 50:
1271
+ goto _test_eof63;
1272
+ case 63:
1219
1273
  switch( (*p) ) {
1220
- case 45: goto tr64;
1221
- case 89: goto st51;
1222
- case 95: goto tr64;
1274
+ case 45: goto tr80;
1275
+ case 89: goto st64;
1276
+ case 95: goto tr80;
1223
1277
  }
1224
1278
  if ( (*p) < 65 ) {
1225
1279
  if ( 48 <= (*p) && (*p) <= 57 )
1226
- goto tr64;
1280
+ goto tr80;
1227
1281
  } else if ( (*p) > 90 ) {
1228
1282
  if ( 97 <= (*p) && (*p) <= 122 )
1229
- goto tr64;
1283
+ goto tr80;
1230
1284
  } else
1231
- goto tr64;
1232
- goto tr70;
1233
- st51:
1285
+ goto tr80;
1286
+ goto tr87;
1287
+ st64:
1234
1288
  if ( ++p == pe )
1235
- goto _test_eof51;
1236
- case 51:
1289
+ goto _test_eof64;
1290
+ case 64:
1237
1291
  switch( (*p) ) {
1238
- case 45: goto tr64;
1239
- case 83: goto st52;
1240
- case 95: goto tr64;
1292
+ case 45: goto tr80;
1293
+ case 83: goto st65;
1294
+ case 95: goto tr80;
1241
1295
  }
1242
1296
  if ( (*p) < 65 ) {
1243
1297
  if ( 48 <= (*p) && (*p) <= 57 )
1244
- goto tr64;
1298
+ goto tr80;
1245
1299
  } else if ( (*p) > 90 ) {
1246
1300
  if ( 97 <= (*p) && (*p) <= 122 )
1247
- goto tr64;
1301
+ goto tr80;
1248
1302
  } else
1249
- goto tr64;
1250
- goto tr70;
1251
- st52:
1303
+ goto tr80;
1304
+ goto tr87;
1305
+ st65:
1252
1306
  if ( ++p == pe )
1253
- goto _test_eof52;
1254
- case 52:
1307
+ goto _test_eof65;
1308
+ case 65:
1255
1309
  switch( (*p) ) {
1256
- case 45: goto tr64;
1257
- case 84: goto st53;
1258
- case 95: goto tr64;
1310
+ case 45: goto tr80;
1311
+ case 84: goto st66;
1312
+ case 95: goto tr80;
1259
1313
  }
1260
1314
  if ( (*p) < 65 ) {
1261
1315
  if ( 48 <= (*p) && (*p) <= 57 )
1262
- goto tr64;
1316
+ goto tr80;
1263
1317
  } else if ( (*p) > 90 ) {
1264
1318
  if ( 97 <= (*p) && (*p) <= 122 )
1265
- goto tr64;
1319
+ goto tr80;
1266
1320
  } else
1267
- goto tr64;
1268
- goto tr70;
1269
- st53:
1321
+ goto tr80;
1322
+ goto tr87;
1323
+ st66:
1270
1324
  if ( ++p == pe )
1271
- goto _test_eof53;
1272
- case 53:
1325
+ goto _test_eof66;
1326
+ case 66:
1273
1327
  switch( (*p) ) {
1274
- case 45: goto tr64;
1275
- case 69: goto st54;
1276
- case 95: goto tr64;
1328
+ case 45: goto tr80;
1329
+ case 69: goto st67;
1330
+ case 95: goto tr80;
1277
1331
  }
1278
1332
  if ( (*p) < 65 ) {
1279
1333
  if ( 48 <= (*p) && (*p) <= 57 )
1280
- goto tr64;
1334
+ goto tr80;
1281
1335
  } else if ( (*p) > 90 ) {
1282
1336
  if ( 97 <= (*p) && (*p) <= 122 )
1283
- goto tr64;
1337
+ goto tr80;
1284
1338
  } else
1285
- goto tr64;
1286
- goto tr70;
1287
- st54:
1339
+ goto tr80;
1340
+ goto tr87;
1341
+ st67:
1288
1342
  if ( ++p == pe )
1289
- goto _test_eof54;
1290
- case 54:
1343
+ goto _test_eof67;
1344
+ case 67:
1291
1345
  switch( (*p) ) {
1292
- case 45: goto tr64;
1293
- case 77: goto tr75;
1294
- case 95: goto tr64;
1346
+ case 45: goto tr80;
1347
+ case 77: goto tr92;
1348
+ case 95: goto tr80;
1295
1349
  }
1296
1350
  if ( (*p) < 65 ) {
1297
1351
  if ( 48 <= (*p) && (*p) <= 57 )
1298
- goto tr64;
1352
+ goto tr80;
1299
1353
  } else if ( (*p) > 90 ) {
1300
1354
  if ( 97 <= (*p) && (*p) <= 122 )
1301
- goto tr64;
1355
+ goto tr80;
1302
1356
  } else
1303
- goto tr64;
1304
- goto tr70;
1305
- tr80:
1306
- #line 51 "ext/ragel/base_lexer.rl"
1357
+ goto tr80;
1358
+ goto tr87;
1359
+ tr97:
1360
+ #line 56 "ext/ragel/base_lexer.rl"
1307
1361
  {
1308
1362
  if ( (*p) == '\n' ) lines++;
1309
1363
  }
1310
- #line 336 "ext/ragel/base_lexer.rl"
1364
+ #line 354 "ext/ragel/base_lexer.rl"
1311
1365
  {te = p+1;}
1312
- goto st55;
1313
- tr81:
1314
- #line 207 "ext/ragel/base_lexer.rl"
1366
+ goto st68;
1367
+ tr98:
1368
+ #line 217 "ext/ragel/base_lexer.rl"
1315
1369
  {te = p+1;{
1316
1370
  callback_simple(id_on_string_dquote);
1317
1371
 
1318
- {( state->stack)[( state->top)++] = 55; goto st39;}
1372
+ {( state->stack)[( state->top)++] = 68; goto st51;}
1319
1373
  }}
1320
- #line 51 "ext/ragel/base_lexer.rl"
1374
+ #line 56 "ext/ragel/base_lexer.rl"
1321
1375
  {
1322
1376
  if ( (*p) == '\n' ) lines++;
1323
1377
  }
1324
- goto st55;
1325
- tr82:
1326
- #line 201 "ext/ragel/base_lexer.rl"
1378
+ goto st68;
1379
+ tr99:
1380
+ #line 211 "ext/ragel/base_lexer.rl"
1327
1381
  {te = p+1;{
1328
1382
  callback_simple(id_on_string_squote);
1329
1383
 
1330
- {( state->stack)[( state->top)++] = 55; goto st37;}
1384
+ {( state->stack)[( state->top)++] = 68; goto st49;}
1331
1385
  }}
1332
- #line 51 "ext/ragel/base_lexer.rl"
1386
+ #line 56 "ext/ragel/base_lexer.rl"
1333
1387
  {
1334
1388
  if ( (*p) == '\n' ) lines++;
1335
1389
  }
1336
- goto st55;
1337
- tr85:
1338
- #line 322 "ext/ragel/base_lexer.rl"
1390
+ goto st68;
1391
+ tr102:
1392
+ #line 340 "ext/ragel/base_lexer.rl"
1339
1393
  {te = p;p--;{
1340
1394
  if ( lines > 0 )
1341
1395
  {
@@ -1346,14 +1400,14 @@ tr85:
1346
1400
 
1347
1401
  callback(id_on_attribute, data, encoding, ts, te);
1348
1402
  }}
1349
- goto st55;
1350
- tr87:
1351
- #line 336 "ext/ragel/base_lexer.rl"
1403
+ goto st68;
1404
+ tr104:
1405
+ #line 354 "ext/ragel/base_lexer.rl"
1352
1406
  {te = p;p--;}
1353
- goto st55;
1354
- tr88:
1355
- ( state->cs) = 55;
1356
- #line 308 "ext/ragel/base_lexer.rl"
1407
+ goto st68;
1408
+ tr105:
1409
+ ( state->cs) = 68;
1410
+ #line 326 "ext/ragel/base_lexer.rl"
1357
1411
  {te = p+1;{
1358
1412
  if ( lines > 0 )
1359
1413
  {
@@ -1364,144 +1418,143 @@ tr88:
1364
1418
 
1365
1419
  callback_simple(id_on_xml_decl_end);
1366
1420
 
1367
- ( state->cs) = 22;
1421
+ ( state->cs) = 34;
1368
1422
  }}
1369
1423
  goto _again;
1370
- st55:
1424
+ st68:
1371
1425
  #line 1 "NONE"
1372
1426
  {ts = 0;}
1373
1427
  if ( ++p == pe )
1374
- goto _test_eof55;
1375
- case 55:
1428
+ goto _test_eof68;
1429
+ case 68:
1376
1430
  #line 1 "NONE"
1377
1431
  {ts = p;}
1378
- #line 1379 "ext/c/lexer.c"
1432
+ #line 1433 "ext/c/lexer.c"
1379
1433
  switch( (*p) ) {
1380
- case 34: goto tr81;
1381
- case 39: goto tr82;
1382
- case 45: goto tr83;
1383
- case 63: goto tr84;
1384
- case 95: goto tr83;
1434
+ case 34: goto tr98;
1435
+ case 39: goto tr99;
1436
+ case 45: goto tr100;
1437
+ case 63: goto tr101;
1438
+ case 95: goto tr100;
1385
1439
  }
1386
1440
  if ( (*p) < 65 ) {
1387
1441
  if ( 48 <= (*p) && (*p) <= 57 )
1388
- goto tr83;
1442
+ goto tr100;
1389
1443
  } else if ( (*p) > 90 ) {
1390
1444
  if ( 97 <= (*p) && (*p) <= 122 )
1391
- goto tr83;
1445
+ goto tr100;
1392
1446
  } else
1393
- goto tr83;
1394
- goto tr80;
1395
- tr83:
1396
- #line 51 "ext/ragel/base_lexer.rl"
1447
+ goto tr100;
1448
+ goto tr97;
1449
+ tr100:
1450
+ #line 56 "ext/ragel/base_lexer.rl"
1397
1451
  {
1398
1452
  if ( (*p) == '\n' ) lines++;
1399
1453
  }
1400
- goto st56;
1401
- st56:
1454
+ goto st69;
1455
+ st69:
1402
1456
  if ( ++p == pe )
1403
- goto _test_eof56;
1404
- case 56:
1405
- #line 1406 "ext/c/lexer.c"
1457
+ goto _test_eof69;
1458
+ case 69:
1459
+ #line 1460 "ext/c/lexer.c"
1406
1460
  switch( (*p) ) {
1407
- case 45: goto st56;
1408
- case 95: goto st56;
1461
+ case 45: goto st69;
1462
+ case 95: goto st69;
1409
1463
  }
1410
1464
  if ( (*p) < 65 ) {
1411
1465
  if ( 48 <= (*p) && (*p) <= 57 )
1412
- goto st56;
1466
+ goto st69;
1413
1467
  } else if ( (*p) > 90 ) {
1414
1468
  if ( 97 <= (*p) && (*p) <= 122 )
1415
- goto st56;
1469
+ goto st69;
1416
1470
  } else
1417
- goto st56;
1418
- goto tr85;
1419
- tr84:
1420
- #line 51 "ext/ragel/base_lexer.rl"
1471
+ goto st69;
1472
+ goto tr102;
1473
+ tr101:
1474
+ #line 56 "ext/ragel/base_lexer.rl"
1421
1475
  {
1422
1476
  if ( (*p) == '\n' ) lines++;
1423
1477
  }
1424
- goto st57;
1425
- st57:
1478
+ goto st70;
1479
+ st70:
1426
1480
  if ( ++p == pe )
1427
- goto _test_eof57;
1428
- case 57:
1429
- #line 1430 "ext/c/lexer.c"
1481
+ goto _test_eof70;
1482
+ case 70:
1483
+ #line 1484 "ext/c/lexer.c"
1430
1484
  if ( (*p) == 62 )
1431
- goto tr88;
1432
- goto tr87;
1433
- tr90:
1434
- ( state->cs) = 58;
1435
- #line 367 "ext/ragel/base_lexer.rl"
1485
+ goto tr105;
1486
+ goto tr104;
1487
+ tr107:
1488
+ ( state->cs) = 71;
1489
+ #line 391 "ext/ragel/base_lexer.rl"
1436
1490
  {te = p;p--;{
1437
1491
  callback(id_on_element_name, data, encoding, ts, te);
1438
- ( state->cs) = 63;
1492
+ ( state->cs) = 76;
1439
1493
  }}
1440
1494
  goto _again;
1441
- tr91:
1442
- #line 363 "ext/ragel/base_lexer.rl"
1495
+ tr108:
1496
+ #line 387 "ext/ragel/base_lexer.rl"
1443
1497
  {te = p+1;{
1444
1498
  callback(id_on_element_ns, data, encoding, ts, te - 1);
1445
1499
  }}
1446
- goto st58;
1447
- st58:
1500
+ goto st71;
1501
+ st71:
1448
1502
  #line 1 "NONE"
1449
1503
  {ts = 0;}
1450
1504
  if ( ++p == pe )
1451
- goto _test_eof58;
1452
- case 58:
1505
+ goto _test_eof71;
1506
+ case 71:
1453
1507
  #line 1 "NONE"
1454
1508
  {ts = p;}
1455
- #line 1456 "ext/c/lexer.c"
1509
+ #line 1510 "ext/c/lexer.c"
1456
1510
  switch( (*p) ) {
1457
- case 45: goto st59;
1458
- case 95: goto st59;
1511
+ case 45: goto st72;
1512
+ case 95: goto st72;
1459
1513
  }
1460
1514
  if ( (*p) < 65 ) {
1461
1515
  if ( 48 <= (*p) && (*p) <= 57 )
1462
- goto st59;
1516
+ goto st72;
1463
1517
  } else if ( (*p) > 90 ) {
1464
1518
  if ( 97 <= (*p) && (*p) <= 122 )
1465
- goto st59;
1519
+ goto st72;
1466
1520
  } else
1467
- goto st59;
1521
+ goto st72;
1468
1522
  goto st0;
1469
- st59:
1523
+ st72:
1470
1524
  if ( ++p == pe )
1471
- goto _test_eof59;
1472
- case 59:
1525
+ goto _test_eof72;
1526
+ case 72:
1473
1527
  switch( (*p) ) {
1474
- case 45: goto st59;
1475
- case 58: goto tr91;
1476
- case 95: goto st59;
1528
+ case 45: goto st72;
1529
+ case 58: goto tr108;
1530
+ case 95: goto st72;
1477
1531
  }
1478
1532
  if ( (*p) < 65 ) {
1479
1533
  if ( 48 <= (*p) && (*p) <= 57 )
1480
- goto st59;
1534
+ goto st72;
1481
1535
  } else if ( (*p) > 90 ) {
1482
1536
  if ( 97 <= (*p) && (*p) <= 122 )
1483
- goto st59;
1537
+ goto st72;
1484
1538
  } else
1485
- goto st59;
1486
- goto tr90;
1487
- tr93:
1488
- ( state->cs) = 60;
1489
- #line 373 "ext/ragel/base_lexer.rl"
1539
+ goto st72;
1540
+ goto tr107;
1541
+ tr110:
1542
+ #line 64 "ext/ragel/base_lexer.rl"
1490
1543
  {te = p+1;{
1491
1544
  p--;
1492
- ( state->cs) = 63;
1545
+ {( state->cs) = ( state->stack)[--( state->top)];goto _again;}
1493
1546
  }}
1494
- goto _again;
1495
- tr94:
1496
- ( state->cs) = 60;
1497
- #line 387 "ext/ragel/base_lexer.rl"
1547
+ goto st73;
1548
+ tr111:
1549
+ ( state->cs) = 73;
1550
+ #line 406 "ext/ragel/base_lexer.rl"
1498
1551
  {te = p+1;{
1499
1552
  p--;
1500
- ( state->cs) = 62;
1553
+ ( state->cs) = 75;
1501
1554
  }}
1502
1555
  goto _again;
1503
- tr95:
1504
- #line 394 "ext/ragel/base_lexer.rl"
1556
+ tr112:
1557
+ #line 413 "ext/ragel/base_lexer.rl"
1505
1558
  {te = p;p--;{
1506
1559
  callback_simple(id_on_string_squote);
1507
1560
 
@@ -1509,214 +1562,220 @@ tr95:
1509
1562
 
1510
1563
  callback_simple(id_on_string_squote);
1511
1564
  }}
1512
- goto st60;
1513
- st60:
1565
+ goto st73;
1566
+ st73:
1514
1567
  #line 1 "NONE"
1515
1568
  {ts = 0;}
1516
1569
  if ( ++p == pe )
1517
- goto _test_eof60;
1518
- case 60:
1570
+ goto _test_eof73;
1571
+ case 73:
1519
1572
  #line 1 "NONE"
1520
1573
  {ts = p;}
1521
- #line 1522 "ext/c/lexer.c"
1574
+ #line 1575 "ext/c/lexer.c"
1522
1575
  switch( (*p) ) {
1523
- case 13: goto tr93;
1524
- case 32: goto tr93;
1525
- case 34: goto tr94;
1526
- case 39: goto tr94;
1527
- case 96: goto tr93;
1576
+ case 13: goto tr110;
1577
+ case 32: goto tr110;
1578
+ case 34: goto tr111;
1579
+ case 39: goto tr111;
1580
+ case 96: goto tr110;
1528
1581
  }
1529
1582
  if ( (*p) > 10 ) {
1530
1583
  if ( 60 <= (*p) && (*p) <= 62 )
1531
- goto tr93;
1584
+ goto tr110;
1532
1585
  } else if ( (*p) >= 9 )
1533
- goto tr93;
1534
- goto st61;
1535
- st61:
1586
+ goto tr110;
1587
+ goto st74;
1588
+ st74:
1536
1589
  if ( ++p == pe )
1537
- goto _test_eof61;
1538
- case 61:
1590
+ goto _test_eof74;
1591
+ case 74:
1539
1592
  switch( (*p) ) {
1540
- case 13: goto tr95;
1541
- case 32: goto tr95;
1542
- case 34: goto tr95;
1543
- case 39: goto tr95;
1544
- case 96: goto tr95;
1593
+ case 13: goto tr112;
1594
+ case 32: goto tr112;
1595
+ case 34: goto tr112;
1596
+ case 39: goto tr112;
1597
+ case 96: goto tr112;
1545
1598
  }
1546
1599
  if ( (*p) > 10 ) {
1547
1600
  if ( 60 <= (*p) && (*p) <= 62 )
1548
- goto tr95;
1601
+ goto tr112;
1549
1602
  } else if ( (*p) >= 9 )
1550
- goto tr95;
1551
- goto st61;
1552
- tr96:
1553
- ( state->cs) = 62;
1554
- #line 373 "ext/ragel/base_lexer.rl"
1603
+ goto tr112;
1604
+ goto st74;
1605
+ tr113:
1606
+ #line 64 "ext/ragel/base_lexer.rl"
1555
1607
  {te = p+1;{
1556
1608
  p--;
1557
- ( state->cs) = 63;
1609
+ {( state->cs) = ( state->stack)[--( state->top)];goto _again;}
1558
1610
  }}
1559
- goto _again;
1560
- tr97:
1561
- #line 207 "ext/ragel/base_lexer.rl"
1611
+ goto st75;
1612
+ tr114:
1613
+ ( state->cs) = 75;
1614
+ #line 435 "ext/ragel/base_lexer.rl"
1562
1615
  {te = p+1;{
1563
- callback_simple(id_on_string_dquote);
1616
+ callback_simple(id_on_string_dquote);
1564
1617
 
1565
- {( state->stack)[( state->top)++] = 62; goto st39;}
1566
- }}
1567
- goto st62;
1568
- tr98:
1569
- #line 201 "ext/ragel/base_lexer.rl"
1618
+ ( state->cs) = 51;
1619
+ }}
1620
+ goto _again;
1621
+ tr115:
1622
+ ( state->cs) = 75;
1623
+ #line 429 "ext/ragel/base_lexer.rl"
1570
1624
  {te = p+1;{
1571
- callback_simple(id_on_string_squote);
1625
+ callback_simple(id_on_string_squote);
1572
1626
 
1573
- {( state->stack)[( state->top)++] = 62; goto st37;}
1574
- }}
1575
- goto st62;
1576
- st62:
1627
+ ( state->cs) = 49;
1628
+ }}
1629
+ goto _again;
1630
+ st75:
1577
1631
  #line 1 "NONE"
1578
1632
  {ts = 0;}
1579
1633
  if ( ++p == pe )
1580
- goto _test_eof62;
1581
- case 62:
1634
+ goto _test_eof75;
1635
+ case 75:
1582
1636
  #line 1 "NONE"
1583
1637
  {ts = p;}
1584
- #line 1585 "ext/c/lexer.c"
1638
+ #line 1639 "ext/c/lexer.c"
1585
1639
  switch( (*p) ) {
1586
- case 34: goto tr97;
1587
- case 39: goto tr98;
1640
+ case 34: goto tr114;
1641
+ case 39: goto tr115;
1588
1642
  }
1589
- goto tr96;
1590
- tr27:
1591
- ( state->cs) = 63;
1592
- #line 457 "ext/ragel/base_lexer.rl"
1593
- {te = p+1;{
1594
- callback_simple(id_on_element_end);
1595
- ( state->cs) = 22;
1596
- }}
1597
- goto _again;
1598
- tr99:
1599
- #line 415 "ext/ragel/base_lexer.rl"
1643
+ goto tr113;
1644
+ tr116:
1645
+ #line 494 "ext/ragel/base_lexer.rl"
1600
1646
  {te = p+1;}
1601
- goto st63;
1602
- tr100:
1603
- #line 417 "ext/ragel/base_lexer.rl"
1647
+ goto st76;
1648
+ tr117:
1649
+ #line 60 "ext/ragel/base_lexer.rl"
1604
1650
  {te = p+1;{
1605
- callback_simple(id_advance_line);
1606
- }}
1607
- goto st63;
1608
- tr104:
1609
- ( state->cs) = 63;
1610
- #line 431 "ext/ragel/base_lexer.rl"
1651
+ advance_line(1);
1652
+ }}
1653
+ goto st76;
1654
+ tr121:
1655
+ #line 459 "ext/ragel/base_lexer.rl"
1611
1656
  {te = p+1;{
1612
1657
  if ( html_p )
1613
1658
  {
1614
- ( state->cs) = 60;
1659
+ {( state->stack)[( state->top)++] = 76; goto st73;}
1615
1660
  }
1616
1661
  else
1617
1662
  {
1618
- ( state->cs) = 62;
1663
+ {( state->stack)[( state->top)++] = 76; goto st75;}
1619
1664
  }
1620
1665
  }}
1621
- goto _again;
1622
- tr105:
1623
- ( state->cs) = 63;
1624
- #line 443 "ext/ragel/base_lexer.rl"
1666
+ goto st76;
1667
+ tr122:
1668
+ ( state->cs) = 76;
1669
+ #line 471 "ext/ragel/base_lexer.rl"
1625
1670
  {te = p+1;{
1626
1671
  callback_simple(id_on_element_open_end);
1627
1672
 
1628
- if ( literal_html_element_p() )
1673
+ if ( html_script_p() )
1674
+ {
1675
+ ( state->cs) = 84;
1676
+ }
1677
+ else if ( html_style_p() )
1629
1678
  {
1630
- ( state->cs) = 70;
1679
+ ( state->cs) = 88;
1631
1680
  }
1632
1681
  else
1633
1682
  {
1634
- ( state->cs) = 22;
1683
+ ( state->cs) = 34;
1635
1684
  }
1636
1685
  }}
1637
1686
  goto _again;
1638
- tr106:
1639
- #line 417 "ext/ragel/base_lexer.rl"
1687
+ tr123:
1688
+ #line 60 "ext/ragel/base_lexer.rl"
1640
1689
  {te = p;p--;{
1641
- callback_simple(id_advance_line);
1642
- }}
1643
- goto st63;
1644
- tr107:
1645
- #line 426 "ext/ragel/base_lexer.rl"
1690
+ advance_line(1);
1691
+ }}
1692
+ goto st76;
1693
+ tr124:
1694
+ #line 454 "ext/ragel/base_lexer.rl"
1646
1695
  {te = p;p--;{
1647
1696
  callback(id_on_attribute, data, encoding, ts, te);
1648
1697
  }}
1649
- goto st63;
1650
- tr108:
1651
- #line 422 "ext/ragel/base_lexer.rl"
1698
+ goto st76;
1699
+ tr125:
1700
+ #line 450 "ext/ragel/base_lexer.rl"
1652
1701
  {te = p+1;{
1653
1702
  callback(id_on_attribute_ns, data, encoding, ts, te - 1);
1654
1703
  }}
1655
- goto st63;
1656
- st63:
1704
+ goto st76;
1705
+ tr126:
1706
+ #line 494 "ext/ragel/base_lexer.rl"
1707
+ {te = p;p--;}
1708
+ goto st76;
1709
+ tr127:
1710
+ ( state->cs) = 76;
1711
+ #line 489 "ext/ragel/base_lexer.rl"
1712
+ {te = p+1;{
1713
+ callback_simple(id_on_element_end);
1714
+ ( state->cs) = 34;
1715
+ }}
1716
+ goto _again;
1717
+ st76:
1657
1718
  #line 1 "NONE"
1658
1719
  {ts = 0;}
1659
1720
  if ( ++p == pe )
1660
- goto _test_eof63;
1661
- case 63:
1721
+ goto _test_eof76;
1722
+ case 76:
1662
1723
  #line 1 "NONE"
1663
1724
  {ts = p;}
1664
- #line 1665 "ext/c/lexer.c"
1725
+ #line 1726 "ext/c/lexer.c"
1665
1726
  switch( (*p) ) {
1666
- case 9: goto tr99;
1667
- case 10: goto tr100;
1668
- case 13: goto st64;
1669
- case 32: goto tr99;
1670
- case 45: goto st65;
1671
- case 47: goto st21;
1672
- case 61: goto tr104;
1673
- case 62: goto tr105;
1674
- case 95: goto st65;
1727
+ case 10: goto tr117;
1728
+ case 13: goto st77;
1729
+ case 45: goto st78;
1730
+ case 47: goto st79;
1731
+ case 61: goto tr121;
1732
+ case 62: goto tr122;
1733
+ case 95: goto st78;
1675
1734
  }
1676
1735
  if ( (*p) < 65 ) {
1677
1736
  if ( 48 <= (*p) && (*p) <= 57 )
1678
- goto st65;
1737
+ goto st78;
1679
1738
  } else if ( (*p) > 90 ) {
1680
1739
  if ( 97 <= (*p) && (*p) <= 122 )
1681
- goto st65;
1740
+ goto st78;
1682
1741
  } else
1683
- goto st65;
1684
- goto st0;
1685
- st64:
1742
+ goto st78;
1743
+ goto tr116;
1744
+ st77:
1686
1745
  if ( ++p == pe )
1687
- goto _test_eof64;
1688
- case 64:
1746
+ goto _test_eof77;
1747
+ case 77:
1689
1748
  if ( (*p) == 10 )
1690
- goto tr100;
1691
- goto tr106;
1692
- st65:
1749
+ goto tr117;
1750
+ goto tr123;
1751
+ st78:
1693
1752
  if ( ++p == pe )
1694
- goto _test_eof65;
1695
- case 65:
1753
+ goto _test_eof78;
1754
+ case 78:
1696
1755
  switch( (*p) ) {
1697
- case 45: goto st65;
1698
- case 58: goto tr108;
1699
- case 95: goto st65;
1756
+ case 45: goto st78;
1757
+ case 58: goto tr125;
1758
+ case 95: goto st78;
1700
1759
  }
1701
1760
  if ( (*p) < 65 ) {
1702
1761
  if ( 48 <= (*p) && (*p) <= 57 )
1703
- goto st65;
1762
+ goto st78;
1704
1763
  } else if ( (*p) > 90 ) {
1705
1764
  if ( 97 <= (*p) && (*p) <= 122 )
1706
- goto st65;
1765
+ goto st78;
1707
1766
  } else
1708
- goto st65;
1709
- goto tr107;
1710
- st21:
1767
+ goto st78;
1768
+ goto tr124;
1769
+ st79:
1711
1770
  if ( ++p == pe )
1712
- goto _test_eof21;
1713
- case 21:
1771
+ goto _test_eof79;
1772
+ case 79:
1714
1773
  if ( (*p) == 62 )
1715
- goto tr27;
1716
- goto st0;
1717
- tr111:
1718
- ( state->cs) = 66;
1719
- #line 486 "ext/ragel/base_lexer.rl"
1774
+ goto tr127;
1775
+ goto tr126;
1776
+ tr130:
1777
+ ( state->cs) = 80;
1778
+ #line 531 "ext/ragel/base_lexer.rl"
1720
1779
  {te = p;p--;{
1721
1780
  callback(id_on_text, data, encoding, ts, te);
1722
1781
 
@@ -1727,12 +1786,12 @@ tr111:
1727
1786
  lines = 0;
1728
1787
  }
1729
1788
 
1730
- ( state->cs) = 22;
1789
+ ( state->cs) = 34;
1731
1790
  }}
1732
1791
  goto _again;
1733
- tr113:
1734
- ( state->cs) = 66;
1735
- #line 500 "ext/ragel/base_lexer.rl"
1792
+ tr132:
1793
+ ( state->cs) = 80;
1794
+ #line 545 "ext/ragel/base_lexer.rl"
1736
1795
  {te = p+1;{
1737
1796
  callback(id_on_text, data, encoding, ts, mark);
1738
1797
 
@@ -1746,12 +1805,12 @@ tr113:
1746
1805
  lines = 0;
1747
1806
  }
1748
1807
 
1749
- ( state->cs) = 22;
1808
+ ( state->cs) = 34;
1750
1809
  }}
1751
1810
  goto _again;
1752
- tr114:
1753
- ( state->cs) = 66;
1754
- #line 486 "ext/ragel/base_lexer.rl"
1811
+ tr133:
1812
+ ( state->cs) = 80;
1813
+ #line 531 "ext/ragel/base_lexer.rl"
1755
1814
  {te = p+1;{
1756
1815
  callback(id_on_text, data, encoding, ts, te);
1757
1816
 
@@ -1762,360 +1821,373 @@ tr114:
1762
1821
  lines = 0;
1763
1822
  }
1764
1823
 
1765
- ( state->cs) = 22;
1824
+ ( state->cs) = 34;
1766
1825
  }}
1767
1826
  goto _again;
1768
- st66:
1827
+ st80:
1769
1828
  #line 1 "NONE"
1770
1829
  {ts = 0;}
1771
1830
  if ( ++p == pe )
1772
- goto _test_eof66;
1773
- case 66:
1831
+ goto _test_eof80;
1832
+ case 80:
1774
1833
  #line 1 "NONE"
1775
1834
  {ts = p;}
1776
- #line 1777 "ext/c/lexer.c"
1835
+ #line 1836 "ext/c/lexer.c"
1777
1836
  if ( (*p) == 60 )
1778
- goto tr110;
1779
- goto tr109;
1780
- tr109:
1781
- #line 51 "ext/ragel/base_lexer.rl"
1837
+ goto tr129;
1838
+ goto tr128;
1839
+ tr128:
1840
+ #line 56 "ext/ragel/base_lexer.rl"
1782
1841
  {
1783
1842
  if ( (*p) == '\n' ) lines++;
1784
1843
  }
1785
- goto st67;
1786
- st67:
1844
+ goto st81;
1845
+ st81:
1787
1846
  if ( ++p == pe )
1788
- goto _test_eof67;
1789
- case 67:
1790
- #line 1791 "ext/c/lexer.c"
1847
+ goto _test_eof81;
1848
+ case 81:
1849
+ #line 1850 "ext/c/lexer.c"
1791
1850
  if ( (*p) == 60 )
1792
- goto tr112;
1793
- goto tr109;
1794
- tr112:
1795
- #line 51 "ext/ragel/base_lexer.rl"
1851
+ goto tr131;
1852
+ goto tr128;
1853
+ tr131:
1854
+ #line 56 "ext/ragel/base_lexer.rl"
1796
1855
  {
1797
1856
  if ( (*p) == '\n' ) lines++;
1798
1857
  }
1799
- #line 500 "ext/ragel/base_lexer.rl"
1858
+ #line 545 "ext/ragel/base_lexer.rl"
1800
1859
  { mark = p; }
1801
- goto st68;
1802
- st68:
1860
+ goto st82;
1861
+ st82:
1803
1862
  if ( ++p == pe )
1804
- goto _test_eof68;
1805
- case 68:
1806
- #line 1807 "ext/c/lexer.c"
1863
+ goto _test_eof82;
1864
+ case 82:
1865
+ #line 1866 "ext/c/lexer.c"
1807
1866
  switch( (*p) ) {
1808
- case 33: goto tr113;
1809
- case 45: goto tr113;
1810
- case 60: goto tr112;
1811
- case 63: goto tr113;
1812
- case 95: goto tr113;
1867
+ case 33: goto tr132;
1868
+ case 45: goto tr132;
1869
+ case 60: goto tr131;
1870
+ case 63: goto tr132;
1871
+ case 95: goto tr132;
1813
1872
  }
1814
1873
  if ( (*p) < 65 ) {
1815
1874
  if ( 47 <= (*p) && (*p) <= 57 )
1816
- goto tr113;
1875
+ goto tr132;
1817
1876
  } else if ( (*p) > 90 ) {
1818
1877
  if ( 97 <= (*p) && (*p) <= 122 )
1819
- goto tr113;
1878
+ goto tr132;
1820
1879
  } else
1821
- goto tr113;
1822
- goto tr109;
1823
- tr110:
1824
- #line 51 "ext/ragel/base_lexer.rl"
1880
+ goto tr132;
1881
+ goto tr128;
1882
+ tr129:
1883
+ #line 56 "ext/ragel/base_lexer.rl"
1825
1884
  {
1826
1885
  if ( (*p) == '\n' ) lines++;
1827
1886
  }
1828
- #line 500 "ext/ragel/base_lexer.rl"
1887
+ #line 545 "ext/ragel/base_lexer.rl"
1829
1888
  { mark = p; }
1830
- goto st69;
1831
- st69:
1889
+ goto st83;
1890
+ st83:
1832
1891
  if ( ++p == pe )
1833
- goto _test_eof69;
1834
- case 69:
1835
- #line 1836 "ext/c/lexer.c"
1892
+ goto _test_eof83;
1893
+ case 83:
1894
+ #line 1895 "ext/c/lexer.c"
1836
1895
  switch( (*p) ) {
1837
- case 33: goto tr114;
1838
- case 45: goto tr114;
1839
- case 60: goto tr112;
1840
- case 63: goto tr114;
1841
- case 95: goto tr114;
1896
+ case 33: goto tr133;
1897
+ case 45: goto tr133;
1898
+ case 60: goto tr131;
1899
+ case 63: goto tr133;
1900
+ case 95: goto tr133;
1842
1901
  }
1843
1902
  if ( (*p) < 65 ) {
1844
1903
  if ( 47 <= (*p) && (*p) <= 57 )
1845
- goto tr114;
1904
+ goto tr133;
1846
1905
  } else if ( (*p) > 90 ) {
1847
1906
  if ( 97 <= (*p) && (*p) <= 122 )
1848
- goto tr114;
1907
+ goto tr133;
1849
1908
  } else
1850
- goto tr114;
1851
- goto tr109;
1852
- tr117:
1853
- #line 1 "NONE"
1854
- { switch( ( state->act) ) {
1855
- case 0:
1856
- {{goto st0;}}
1857
- break;
1858
- case 42:
1859
- {{p = ((te))-1;}
1860
- callback(id_on_text, data, encoding, ts, te);
1909
+ goto tr133;
1910
+ goto tr128;
1911
+ tr27:
1912
+ #line 519 "ext/ragel/base_lexer.rl"
1913
+ {{p = ((te))-1;}{
1914
+ callback(id_on_text, data, encoding, ts, te);
1861
1915
 
1862
- if ( lines > 0 )
1863
- {
1864
- advance_line(lines);
1916
+ if ( lines > 0 )
1917
+ {
1918
+ advance_line(lines);
1865
1919
 
1866
- lines = 0;
1867
- }
1920
+ lines = 0;
1868
1921
  }
1869
- break;
1870
- }
1871
- }
1872
- goto st70;
1873
- tr118:
1874
- #line 524 "ext/ragel/base_lexer.rl"
1875
- {te = p;p--;{
1876
- callback(id_on_text, data, encoding, ts, te);
1877
-
1878
- if ( lines > 0 )
1879
- {
1880
- advance_line(lines);
1881
-
1882
- lines = 0;
1883
- }
1884
- }}
1885
- goto st70;
1886
- tr127:
1887
- ( state->cs) = 70;
1888
- #line 535 "ext/ragel/base_lexer.rl"
1922
+ }}
1923
+ goto st84;
1924
+ tr34:
1925
+ ( state->cs) = 84;
1926
+ #line 379 "ext/ragel/base_lexer.rl"
1889
1927
  {te = p+1;{
1890
- callback(id_on_text, data, encoding, ts, mark);
1891
-
1892
- p = mark - 1;
1893
- mark = 0;
1928
+ callback_simple(id_on_element_end);
1894
1929
 
1895
- if ( lines > 0 )
1896
- {
1897
- advance_line(lines);
1930
+ ( state->cs) = 34;
1931
+ }}
1932
+ goto _again;
1933
+ tr136:
1934
+ #line 519 "ext/ragel/base_lexer.rl"
1935
+ {te = p;p--;{
1936
+ callback(id_on_text, data, encoding, ts, te);
1898
1937
 
1899
- lines = 0;
1900
- }
1938
+ if ( lines > 0 )
1939
+ {
1940
+ advance_line(lines);
1901
1941
 
1902
- ( state->cs) = 22;
1903
- }}
1904
- goto _again;
1905
- st70:
1942
+ lines = 0;
1943
+ }
1944
+ }}
1945
+ goto st84;
1946
+ st84:
1906
1947
  #line 1 "NONE"
1907
1948
  {ts = 0;}
1908
- #line 1 "NONE"
1909
- {( state->act) = 0;}
1910
1949
  if ( ++p == pe )
1911
- goto _test_eof70;
1912
- case 70:
1950
+ goto _test_eof84;
1951
+ case 84:
1913
1952
  #line 1 "NONE"
1914
1953
  {ts = p;}
1915
- #line 1916 "ext/c/lexer.c"
1954
+ #line 1955 "ext/c/lexer.c"
1916
1955
  if ( (*p) == 60 )
1917
- goto tr116;
1918
- goto tr115;
1919
- tr115:
1920
- #line 1 "NONE"
1921
- {te = p+1;}
1922
- #line 51 "ext/ragel/base_lexer.rl"
1956
+ goto tr135;
1957
+ goto tr134;
1958
+ tr134:
1959
+ #line 56 "ext/ragel/base_lexer.rl"
1923
1960
  {
1924
1961
  if ( (*p) == '\n' ) lines++;
1925
1962
  }
1926
- #line 524 "ext/ragel/base_lexer.rl"
1927
- {( state->act) = 42;}
1928
- goto st71;
1929
- st71:
1963
+ goto st85;
1964
+ st85:
1930
1965
  if ( ++p == pe )
1931
- goto _test_eof71;
1932
- case 71:
1933
- #line 1934 "ext/c/lexer.c"
1966
+ goto _test_eof85;
1967
+ case 85:
1968
+ #line 1969 "ext/c/lexer.c"
1934
1969
  if ( (*p) == 60 )
1935
- goto tr116;
1936
- goto tr115;
1937
- tr116:
1938
- #line 51 "ext/ragel/base_lexer.rl"
1970
+ goto tr136;
1971
+ goto tr134;
1972
+ tr135:
1973
+ #line 1 "NONE"
1974
+ {te = p+1;}
1975
+ #line 56 "ext/ragel/base_lexer.rl"
1939
1976
  {
1940
1977
  if ( (*p) == '\n' ) lines++;
1941
1978
  }
1942
- #line 535 "ext/ragel/base_lexer.rl"
1943
- { mark = p; }
1944
- goto st72;
1945
- st72:
1979
+ goto st86;
1980
+ st86:
1946
1981
  if ( ++p == pe )
1947
- goto _test_eof72;
1948
- case 72:
1949
- #line 1950 "ext/c/lexer.c"
1982
+ goto _test_eof86;
1983
+ case 86:
1984
+ #line 1985 "ext/c/lexer.c"
1950
1985
  switch( (*p) ) {
1951
- case 47: goto tr119;
1952
- case 60: goto tr116;
1986
+ case 47: goto st21;
1987
+ case 60: goto tr138;
1953
1988
  }
1954
- goto tr115;
1955
- tr119:
1956
- #line 51 "ext/ragel/base_lexer.rl"
1957
- {
1958
- if ( (*p) == '\n' ) lines++;
1959
- }
1960
- goto st73;
1961
- st73:
1989
+ goto tr136;
1990
+ st21:
1962
1991
  if ( ++p == pe )
1963
- goto _test_eof73;
1964
- case 73:
1965
- #line 1966 "ext/c/lexer.c"
1966
- switch( (*p) ) {
1967
- case 60: goto tr116;
1968
- case 115: goto tr120;
1969
- }
1970
- goto tr115;
1971
- tr120:
1972
- #line 51 "ext/ragel/base_lexer.rl"
1973
- {
1974
- if ( (*p) == '\n' ) lines++;
1975
- }
1976
- goto st74;
1977
- st74:
1992
+ goto _test_eof21;
1993
+ case 21:
1994
+ if ( (*p) == 115 )
1995
+ goto st22;
1996
+ goto tr27;
1997
+ st22:
1978
1998
  if ( ++p == pe )
1979
- goto _test_eof74;
1980
- case 74:
1981
- #line 1982 "ext/c/lexer.c"
1982
- switch( (*p) ) {
1983
- case 60: goto tr116;
1984
- case 99: goto tr121;
1985
- case 116: goto tr122;
1986
- }
1987
- goto tr115;
1988
- tr121:
1989
- #line 51 "ext/ragel/base_lexer.rl"
1990
- {
1991
- if ( (*p) == '\n' ) lines++;
1992
- }
1993
- goto st75;
1994
- st75:
1999
+ goto _test_eof22;
2000
+ case 22:
2001
+ if ( (*p) == 99 )
2002
+ goto st23;
2003
+ goto tr27;
2004
+ st23:
1995
2005
  if ( ++p == pe )
1996
- goto _test_eof75;
1997
- case 75:
1998
- #line 1999 "ext/c/lexer.c"
1999
- switch( (*p) ) {
2000
- case 60: goto tr116;
2001
- case 114: goto tr123;
2002
- }
2003
- goto tr115;
2004
- tr123:
2005
- #line 51 "ext/ragel/base_lexer.rl"
2006
- {
2007
- if ( (*p) == '\n' ) lines++;
2008
- }
2009
- goto st76;
2010
- st76:
2006
+ goto _test_eof23;
2007
+ case 23:
2008
+ if ( (*p) == 114 )
2009
+ goto st24;
2010
+ goto tr27;
2011
+ st24:
2011
2012
  if ( ++p == pe )
2012
- goto _test_eof76;
2013
- case 76:
2014
- #line 2015 "ext/c/lexer.c"
2015
- switch( (*p) ) {
2016
- case 60: goto tr116;
2017
- case 105: goto tr124;
2018
- }
2019
- goto tr115;
2020
- tr124:
2021
- #line 51 "ext/ragel/base_lexer.rl"
2022
- {
2023
- if ( (*p) == '\n' ) lines++;
2024
- }
2025
- goto st77;
2026
- st77:
2013
+ goto _test_eof24;
2014
+ case 24:
2015
+ if ( (*p) == 105 )
2016
+ goto st25;
2017
+ goto tr27;
2018
+ st25:
2027
2019
  if ( ++p == pe )
2028
- goto _test_eof77;
2029
- case 77:
2030
- #line 2031 "ext/c/lexer.c"
2031
- switch( (*p) ) {
2032
- case 60: goto tr116;
2033
- case 112: goto tr125;
2034
- }
2035
- goto tr115;
2036
- tr125:
2037
- #line 51 "ext/ragel/base_lexer.rl"
2038
- {
2039
- if ( (*p) == '\n' ) lines++;
2040
- }
2041
- goto st78;
2042
- st78:
2020
+ goto _test_eof25;
2021
+ case 25:
2022
+ if ( (*p) == 112 )
2023
+ goto st26;
2024
+ goto tr27;
2025
+ st26:
2043
2026
  if ( ++p == pe )
2044
- goto _test_eof78;
2045
- case 78:
2046
- #line 2047 "ext/c/lexer.c"
2047
- switch( (*p) ) {
2048
- case 60: goto tr116;
2049
- case 116: goto tr126;
2050
- }
2051
- goto tr115;
2052
- tr126:
2053
- #line 51 "ext/ragel/base_lexer.rl"
2027
+ goto _test_eof26;
2028
+ case 26:
2029
+ if ( (*p) == 116 )
2030
+ goto st27;
2031
+ goto tr27;
2032
+ st27:
2033
+ if ( ++p == pe )
2034
+ goto _test_eof27;
2035
+ case 27:
2036
+ if ( (*p) == 62 )
2037
+ goto tr34;
2038
+ goto tr27;
2039
+ tr138:
2040
+ #line 56 "ext/ragel/base_lexer.rl"
2054
2041
  {
2055
2042
  if ( (*p) == '\n' ) lines++;
2056
2043
  }
2057
- goto st79;
2058
- st79:
2044
+ goto st87;
2045
+ st87:
2059
2046
  if ( ++p == pe )
2060
- goto _test_eof79;
2061
- case 79:
2062
- #line 2063 "ext/c/lexer.c"
2063
- switch( (*p) ) {
2064
- case 60: goto tr116;
2065
- case 62: goto tr127;
2066
- }
2067
- goto tr115;
2068
- tr122:
2069
- #line 51 "ext/ragel/base_lexer.rl"
2047
+ goto _test_eof87;
2048
+ case 87:
2049
+ #line 2050 "ext/c/lexer.c"
2050
+ if ( (*p) == 60 )
2051
+ goto tr138;
2052
+ goto tr136;
2053
+ tr35:
2054
+ #line 519 "ext/ragel/base_lexer.rl"
2055
+ {{p = ((te))-1;}{
2056
+ callback(id_on_text, data, encoding, ts, te);
2057
+
2058
+ if ( lines > 0 )
2059
+ {
2060
+ advance_line(lines);
2061
+
2062
+ lines = 0;
2063
+ }
2064
+ }}
2065
+ goto st88;
2066
+ tr41:
2067
+ ( state->cs) = 88;
2068
+ #line 379 "ext/ragel/base_lexer.rl"
2069
+ {te = p+1;{
2070
+ callback_simple(id_on_element_end);
2071
+
2072
+ ( state->cs) = 34;
2073
+ }}
2074
+ goto _again;
2075
+ tr141:
2076
+ #line 519 "ext/ragel/base_lexer.rl"
2077
+ {te = p;p--;{
2078
+ callback(id_on_text, data, encoding, ts, te);
2079
+
2080
+ if ( lines > 0 )
2081
+ {
2082
+ advance_line(lines);
2083
+
2084
+ lines = 0;
2085
+ }
2086
+ }}
2087
+ goto st88;
2088
+ st88:
2089
+ #line 1 "NONE"
2090
+ {ts = 0;}
2091
+ if ( ++p == pe )
2092
+ goto _test_eof88;
2093
+ case 88:
2094
+ #line 1 "NONE"
2095
+ {ts = p;}
2096
+ #line 2097 "ext/c/lexer.c"
2097
+ if ( (*p) == 60 )
2098
+ goto tr140;
2099
+ goto tr139;
2100
+ tr139:
2101
+ #line 56 "ext/ragel/base_lexer.rl"
2070
2102
  {
2071
2103
  if ( (*p) == '\n' ) lines++;
2072
2104
  }
2073
- goto st80;
2074
- st80:
2105
+ goto st89;
2106
+ st89:
2075
2107
  if ( ++p == pe )
2076
- goto _test_eof80;
2077
- case 80:
2078
- #line 2079 "ext/c/lexer.c"
2079
- switch( (*p) ) {
2080
- case 60: goto tr116;
2081
- case 121: goto tr128;
2082
- }
2083
- goto tr115;
2084
- tr128:
2085
- #line 51 "ext/ragel/base_lexer.rl"
2108
+ goto _test_eof89;
2109
+ case 89:
2110
+ #line 2111 "ext/c/lexer.c"
2111
+ if ( (*p) == 60 )
2112
+ goto tr141;
2113
+ goto tr139;
2114
+ tr140:
2115
+ #line 1 "NONE"
2116
+ {te = p+1;}
2117
+ #line 56 "ext/ragel/base_lexer.rl"
2086
2118
  {
2087
2119
  if ( (*p) == '\n' ) lines++;
2088
2120
  }
2089
- goto st81;
2090
- st81:
2121
+ goto st90;
2122
+ st90:
2091
2123
  if ( ++p == pe )
2092
- goto _test_eof81;
2093
- case 81:
2094
- #line 2095 "ext/c/lexer.c"
2124
+ goto _test_eof90;
2125
+ case 90:
2126
+ #line 2127 "ext/c/lexer.c"
2095
2127
  switch( (*p) ) {
2096
- case 60: goto tr116;
2097
- case 108: goto tr129;
2128
+ case 47: goto st28;
2129
+ case 60: goto tr143;
2098
2130
  }
2099
- goto tr115;
2100
- tr129:
2101
- #line 51 "ext/ragel/base_lexer.rl"
2131
+ goto tr141;
2132
+ st28:
2133
+ if ( ++p == pe )
2134
+ goto _test_eof28;
2135
+ case 28:
2136
+ if ( (*p) == 115 )
2137
+ goto st29;
2138
+ goto tr35;
2139
+ st29:
2140
+ if ( ++p == pe )
2141
+ goto _test_eof29;
2142
+ case 29:
2143
+ if ( (*p) == 116 )
2144
+ goto st30;
2145
+ goto tr35;
2146
+ st30:
2147
+ if ( ++p == pe )
2148
+ goto _test_eof30;
2149
+ case 30:
2150
+ if ( (*p) == 121 )
2151
+ goto st31;
2152
+ goto tr35;
2153
+ st31:
2154
+ if ( ++p == pe )
2155
+ goto _test_eof31;
2156
+ case 31:
2157
+ if ( (*p) == 108 )
2158
+ goto st32;
2159
+ goto tr35;
2160
+ st32:
2161
+ if ( ++p == pe )
2162
+ goto _test_eof32;
2163
+ case 32:
2164
+ if ( (*p) == 101 )
2165
+ goto st33;
2166
+ goto tr35;
2167
+ st33:
2168
+ if ( ++p == pe )
2169
+ goto _test_eof33;
2170
+ case 33:
2171
+ if ( (*p) == 62 )
2172
+ goto tr41;
2173
+ goto tr35;
2174
+ tr143:
2175
+ #line 56 "ext/ragel/base_lexer.rl"
2102
2176
  {
2103
2177
  if ( (*p) == '\n' ) lines++;
2104
2178
  }
2105
- goto st82;
2106
- st82:
2179
+ goto st91;
2180
+ st91:
2107
2181
  if ( ++p == pe )
2108
- goto _test_eof82;
2109
- case 82:
2110
- #line 2111 "ext/c/lexer.c"
2111
- switch( (*p) ) {
2112
- case 60: goto tr116;
2113
- case 101: goto tr126;
2114
- }
2115
- goto tr115;
2182
+ goto _test_eof91;
2183
+ case 91:
2184
+ #line 2185 "ext/c/lexer.c"
2185
+ if ( (*p) == 60 )
2186
+ goto tr143;
2187
+ goto tr141;
2116
2188
  }
2117
- _test_eof22: ( state->cs) = 22; goto _test_eof;
2118
- _test_eof23: ( state->cs) = 23; goto _test_eof;
2189
+ _test_eof34: ( state->cs) = 34; goto _test_eof;
2190
+ _test_eof35: ( state->cs) = 35; goto _test_eof;
2119
2191
  _test_eof1: ( state->cs) = 1; goto _test_eof;
2120
2192
  _test_eof2: ( state->cs) = 2; goto _test_eof;
2121
2193
  _test_eof3: ( state->cs) = 3; goto _test_eof;
@@ -2125,7 +2197,7 @@ case 82:
2125
2197
  _test_eof7: ( state->cs) = 7; goto _test_eof;
2126
2198
  _test_eof8: ( state->cs) = 8; goto _test_eof;
2127
2199
  _test_eof9: ( state->cs) = 9; goto _test_eof;
2128
- _test_eof24: ( state->cs) = 24; goto _test_eof;
2200
+ _test_eof36: ( state->cs) = 36; goto _test_eof;
2129
2201
  _test_eof10: ( state->cs) = 10; goto _test_eof;
2130
2202
  _test_eof11: ( state->cs) = 11; goto _test_eof;
2131
2203
  _test_eof12: ( state->cs) = 12; goto _test_eof;
@@ -2135,29 +2207,17 @@ case 82:
2135
2207
  _test_eof16: ( state->cs) = 16; goto _test_eof;
2136
2208
  _test_eof17: ( state->cs) = 17; goto _test_eof;
2137
2209
  _test_eof18: ( state->cs) = 18; goto _test_eof;
2138
- _test_eof25: ( state->cs) = 25; goto _test_eof;
2139
- _test_eof26: ( state->cs) = 26; goto _test_eof;
2140
- _test_eof27: ( state->cs) = 27; goto _test_eof;
2141
- _test_eof28: ( state->cs) = 28; goto _test_eof;
2142
- _test_eof29: ( state->cs) = 29; goto _test_eof;
2143
- _test_eof30: ( state->cs) = 30; goto _test_eof;
2144
- _test_eof19: ( state->cs) = 19; goto _test_eof;
2145
- _test_eof31: ( state->cs) = 31; goto _test_eof;
2146
- _test_eof32: ( state->cs) = 32; goto _test_eof;
2147
- _test_eof33: ( state->cs) = 33; goto _test_eof;
2148
- _test_eof20: ( state->cs) = 20; goto _test_eof;
2149
- _test_eof34: ( state->cs) = 34; goto _test_eof;
2150
- _test_eof35: ( state->cs) = 35; goto _test_eof;
2151
- _test_eof36: ( state->cs) = 36; goto _test_eof;
2152
2210
  _test_eof37: ( state->cs) = 37; goto _test_eof;
2153
2211
  _test_eof38: ( state->cs) = 38; goto _test_eof;
2154
2212
  _test_eof39: ( state->cs) = 39; goto _test_eof;
2155
2213
  _test_eof40: ( state->cs) = 40; goto _test_eof;
2156
2214
  _test_eof41: ( state->cs) = 41; goto _test_eof;
2157
2215
  _test_eof42: ( state->cs) = 42; goto _test_eof;
2216
+ _test_eof19: ( state->cs) = 19; goto _test_eof;
2158
2217
  _test_eof43: ( state->cs) = 43; goto _test_eof;
2159
2218
  _test_eof44: ( state->cs) = 44; goto _test_eof;
2160
2219
  _test_eof45: ( state->cs) = 45; goto _test_eof;
2220
+ _test_eof20: ( state->cs) = 20; goto _test_eof;
2161
2221
  _test_eof46: ( state->cs) = 46; goto _test_eof;
2162
2222
  _test_eof47: ( state->cs) = 47; goto _test_eof;
2163
2223
  _test_eof48: ( state->cs) = 48; goto _test_eof;
@@ -2178,7 +2238,6 @@ case 82:
2178
2238
  _test_eof63: ( state->cs) = 63; goto _test_eof;
2179
2239
  _test_eof64: ( state->cs) = 64; goto _test_eof;
2180
2240
  _test_eof65: ( state->cs) = 65; goto _test_eof;
2181
- _test_eof21: ( state->cs) = 21; goto _test_eof;
2182
2241
  _test_eof66: ( state->cs) = 66; goto _test_eof;
2183
2242
  _test_eof67: ( state->cs) = 67; goto _test_eof;
2184
2243
  _test_eof68: ( state->cs) = 68; goto _test_eof;
@@ -2196,12 +2255,34 @@ case 82:
2196
2255
  _test_eof80: ( state->cs) = 80; goto _test_eof;
2197
2256
  _test_eof81: ( state->cs) = 81; goto _test_eof;
2198
2257
  _test_eof82: ( state->cs) = 82; goto _test_eof;
2258
+ _test_eof83: ( state->cs) = 83; goto _test_eof;
2259
+ _test_eof84: ( state->cs) = 84; goto _test_eof;
2260
+ _test_eof85: ( state->cs) = 85; goto _test_eof;
2261
+ _test_eof86: ( state->cs) = 86; goto _test_eof;
2262
+ _test_eof21: ( state->cs) = 21; goto _test_eof;
2263
+ _test_eof22: ( state->cs) = 22; goto _test_eof;
2264
+ _test_eof23: ( state->cs) = 23; goto _test_eof;
2265
+ _test_eof24: ( state->cs) = 24; goto _test_eof;
2266
+ _test_eof25: ( state->cs) = 25; goto _test_eof;
2267
+ _test_eof26: ( state->cs) = 26; goto _test_eof;
2268
+ _test_eof27: ( state->cs) = 27; goto _test_eof;
2269
+ _test_eof87: ( state->cs) = 87; goto _test_eof;
2270
+ _test_eof88: ( state->cs) = 88; goto _test_eof;
2271
+ _test_eof89: ( state->cs) = 89; goto _test_eof;
2272
+ _test_eof90: ( state->cs) = 90; goto _test_eof;
2273
+ _test_eof28: ( state->cs) = 28; goto _test_eof;
2274
+ _test_eof29: ( state->cs) = 29; goto _test_eof;
2275
+ _test_eof30: ( state->cs) = 30; goto _test_eof;
2276
+ _test_eof31: ( state->cs) = 31; goto _test_eof;
2277
+ _test_eof32: ( state->cs) = 32; goto _test_eof;
2278
+ _test_eof33: ( state->cs) = 33; goto _test_eof;
2279
+ _test_eof91: ( state->cs) = 91; goto _test_eof;
2199
2280
 
2200
2281
  _test_eof: {}
2201
2282
  if ( p == eof )
2202
2283
  {
2203
2284
  switch ( ( state->cs) ) {
2204
- case 23: goto tr31;
2285
+ case 35: goto tr44;
2205
2286
  case 1: goto tr0;
2206
2287
  case 2: goto tr0;
2207
2288
  case 3: goto tr0;
@@ -2211,7 +2292,7 @@ case 82:
2211
2292
  case 7: goto tr0;
2212
2293
  case 8: goto tr0;
2213
2294
  case 9: goto tr0;
2214
- case 24: goto tr35;
2295
+ case 36: goto tr48;
2215
2296
  case 10: goto tr0;
2216
2297
  case 11: goto tr0;
2217
2298
  case 12: goto tr0;
@@ -2221,59 +2302,68 @@ case 82:
2221
2302
  case 16: goto tr0;
2222
2303
  case 17: goto tr0;
2223
2304
  case 18: goto tr0;
2224
- case 25: goto tr36;
2225
- case 26: goto tr37;
2226
- case 27: goto tr37;
2227
- case 29: goto tr42;
2228
- case 30: goto tr42;
2305
+ case 37: goto tr49;
2306
+ case 38: goto tr50;
2307
+ case 39: goto tr50;
2308
+ case 41: goto tr55;
2309
+ case 42: goto tr55;
2229
2310
  case 19: goto tr23;
2230
- case 32: goto tr46;
2231
- case 33: goto tr46;
2311
+ case 44: goto tr59;
2312
+ case 45: goto tr59;
2232
2313
  case 20: goto tr25;
2233
- case 35: goto tr50;
2234
- case 36: goto tr50;
2235
- case 38: goto tr54;
2236
- case 40: goto tr57;
2237
- case 42: goto tr60;
2238
- case 44: goto tr69;
2239
- case 45: goto tr70;
2240
- case 46: goto tr70;
2241
- case 47: goto tr70;
2242
- case 48: goto tr70;
2243
- case 49: goto tr70;
2244
- case 50: goto tr70;
2245
- case 51: goto tr70;
2314
+ case 47: goto tr63;
2315
+ case 48: goto tr63;
2316
+ case 50: goto tr67;
2246
2317
  case 52: goto tr70;
2247
- case 53: goto tr70;
2248
- case 54: goto tr70;
2318
+ case 54: goto tr73;
2249
2319
  case 56: goto tr85;
2250
- case 57: goto tr87;
2251
- case 59: goto tr90;
2252
- case 61: goto tr95;
2253
- case 64: goto tr106;
2254
- case 65: goto tr107;
2255
- case 67: goto tr111;
2256
- case 68: goto tr111;
2257
- case 69: goto tr111;
2258
- case 71: goto tr117;
2259
- case 72: goto tr118;
2260
- case 73: goto tr118;
2261
- case 74: goto tr118;
2262
- case 75: goto tr118;
2263
- case 76: goto tr118;
2264
- case 77: goto tr118;
2265
- case 78: goto tr118;
2266
- case 79: goto tr118;
2267
- case 80: goto tr118;
2268
- case 81: goto tr118;
2269
- case 82: goto tr118;
2320
+ case 57: goto tr86;
2321
+ case 58: goto tr87;
2322
+ case 59: goto tr87;
2323
+ case 60: goto tr87;
2324
+ case 61: goto tr87;
2325
+ case 62: goto tr87;
2326
+ case 63: goto tr87;
2327
+ case 64: goto tr87;
2328
+ case 65: goto tr87;
2329
+ case 66: goto tr87;
2330
+ case 67: goto tr87;
2331
+ case 69: goto tr102;
2332
+ case 70: goto tr104;
2333
+ case 72: goto tr107;
2334
+ case 74: goto tr112;
2335
+ case 77: goto tr123;
2336
+ case 78: goto tr124;
2337
+ case 79: goto tr126;
2338
+ case 81: goto tr130;
2339
+ case 82: goto tr130;
2340
+ case 83: goto tr130;
2341
+ case 85: goto tr136;
2342
+ case 86: goto tr136;
2343
+ case 21: goto tr27;
2344
+ case 22: goto tr27;
2345
+ case 23: goto tr27;
2346
+ case 24: goto tr27;
2347
+ case 25: goto tr27;
2348
+ case 26: goto tr27;
2349
+ case 27: goto tr27;
2350
+ case 87: goto tr136;
2351
+ case 89: goto tr141;
2352
+ case 90: goto tr141;
2353
+ case 28: goto tr35;
2354
+ case 29: goto tr35;
2355
+ case 30: goto tr35;
2356
+ case 31: goto tr35;
2357
+ case 32: goto tr35;
2358
+ case 33: goto tr35;
2359
+ case 91: goto tr141;
2270
2360
  }
2271
2361
  }
2272
2362
 
2273
2363
  _out: {}
2274
2364
  }
2275
2365
 
2276
- #line 129 "ext/c/lexer.rl"
2366
+ #line 133 "ext/c/lexer.rl"
2277
2367
 
2278
2368
  state->lines = lines;
2279
2369
 
@@ -2317,7 +2407,7 @@ VALUE oga_xml_lexer_allocate(VALUE klass)
2317
2407
  }
2318
2408
 
2319
2409
 
2320
- #line 178 "ext/c/lexer.rl"
2410
+ #line 182 "ext/c/lexer.rl"
2321
2411
 
2322
2412
 
2323
2413
  void Init_liboga_xml_lexer()
@@ -2326,9 +2416,10 @@ void Init_liboga_xml_lexer()
2326
2416
  VALUE mXML = rb_const_get(mOga, rb_intern("XML"));
2327
2417
  VALUE cLexer = rb_define_class_under(mXML, "Lexer", rb_cObject);
2328
2418
 
2329
- id_advance_line = rb_intern("advance_line");
2330
- id_literal_html_element_p = rb_intern("literal_html_element?");
2331
- id_html = rb_intern("html");
2419
+ id_advance_line = rb_intern("advance_line");
2420
+ id_html_script_p = rb_intern("html_script?");
2421
+ id_html_style_p = rb_intern("html_style?");
2422
+ id_html = rb_intern("html");
2332
2423
 
2333
2424
  rb_define_method(cLexer, "advance_native", oga_xml_lexer_advance, 1);
2334
2425
  rb_define_method(cLexer, "reset_native", oga_xml_lexer_reset, 0);