oga 1.3.1-java → 2.0.0-java

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: 3608b688e55076f115741bdb807801c071e30e60
4
- data.tar.gz: 11f53bdfb9476c8f4fc1bb34d87492a735558924
3
+ metadata.gz: f50448db9660d09ac69db525bf1077a43cd9d88d
4
+ data.tar.gz: 3f7c2ddbba06c6f7f074b74cd7ecb4772a04a45f
5
5
  SHA512:
6
- metadata.gz: ce3a13a06251539d4d9d16ea8095529606fb6d7a727c49ff8487c15bd62ee4233343e4ef8da5fd11323057607ad18421f8327830d36703b7575311217156625e
7
- data.tar.gz: 6156e9bd4ec21b89974cf1e40406938164028c95aeac63207dffe48edbd3689bf3411cd3877e385fb7b38c790676b105c838db6e9eac8b614ae7cc1837b77561
6
+ metadata.gz: 03b62f7c24779191b677711a5b44d8e8d5a5a0c34a74d2c69614750713393f93abf64e659c94d0d42e4bf72856d91256ba7372947c2d09da7c107ad5f8f2b85c
7
+ data.tar.gz: ed27ca46e9e9be8a4b264fa62d49597fd04bce912a15060bdb85b7578adbe0633f089e6be53691fc9d0a3266c9ea71f7aa84e2d87d39acce5a8086e43052067b
@@ -44,19 +44,25 @@ CSS selectors. In Nokogiri one queries a document as following:
44
44
  document.xpath('root/foo')
45
45
  document.css('root foo')
46
46
 
47
- Oga currently only supports XPath expressions, CSS selectors will be added in
48
- the near future. Querying documents works similar to Nokogiri:
47
+ Querying documents works similar to Nokogiri:
49
48
 
50
49
  document = Oga.parse_xml('<root><foo>bar</foo></root>')
51
50
 
52
51
  document.xpath('root/foo')
53
52
 
53
+ or using CSS:
54
+
55
+ document = Oga.parse_xml('<root><foo>bar</foo></root>')
56
+
57
+ document.css('root foo')
58
+
54
59
  Nokogiri also allows you to query a document and return the first match, opposed
55
60
  to an entire node set, using the method `at`. In Nokogiri this method can be
56
61
  used for both XPath expression and CSS selectors. Oga has no such method,
57
62
  instead it provides the following more dedicated methods:
58
63
 
59
64
  * `at_xpath`: returns the first node of an XPath expression
65
+ * `at_css`: returns the first node of a CSS expression
60
66
 
61
67
  For example:
62
68
 
data/ext/c/lexer.c CHANGED
@@ -89,9 +89,10 @@ static const int c_lexer_en_attribute_pre = 73;
89
89
  static const int c_lexer_en_unquoted_attribute_value = 75;
90
90
  static const int c_lexer_en_quoted_attribute_value = 77;
91
91
  static const int c_lexer_en_element_head = 78;
92
- static const int c_lexer_en_text = 82;
93
- static const int c_lexer_en_html_script = 86;
94
- static const int c_lexer_en_html_style = 90;
92
+ static const int c_lexer_en_html_element_head = 82;
93
+ static const int c_lexer_en_text = 86;
94
+ static const int c_lexer_en_html_script = 90;
95
+ static const int c_lexer_en_html_style = 94;
95
96
  static const int c_lexer_en_main = 32;
96
97
 
97
98
 
@@ -158,7 +159,7 @@ VALUE oga_xml_lexer_advance(VALUE self, VALUE data_block)
158
159
  lines = state->lines;
159
160
 
160
161
 
161
- #line 162 "ext/c/lexer.c"
162
+ #line 163 "ext/c/lexer.c"
162
163
  {
163
164
  if ( p == pe )
164
165
  goto _test_eof;
@@ -242,6 +243,10 @@ _again:
242
243
  case 86: goto st86;
243
244
  case 87: goto st87;
244
245
  case 88: goto st88;
246
+ case 89: goto st89;
247
+ case 90: goto st90;
248
+ case 91: goto st91;
249
+ case 92: goto st92;
245
250
  case 19: goto st19;
246
251
  case 20: goto st20;
247
252
  case 21: goto st21;
@@ -249,17 +254,17 @@ _again:
249
254
  case 23: goto st23;
250
255
  case 24: goto st24;
251
256
  case 25: goto st25;
252
- case 89: goto st89;
253
- case 90: goto st90;
254
- case 91: goto st91;
255
- case 92: goto st92;
257
+ case 93: goto st93;
258
+ case 94: goto st94;
259
+ case 95: goto st95;
260
+ case 96: goto st96;
256
261
  case 26: goto st26;
257
262
  case 27: goto st27;
258
263
  case 28: goto st28;
259
264
  case 29: goto st29;
260
265
  case 30: goto st30;
261
266
  case 31: goto st31;
262
- case 93: goto st93;
267
+ case 97: goto st97;
263
268
  default: break;
264
269
  }
265
270
 
@@ -270,15 +275,15 @@ _resume:
270
275
  {
271
276
  tr0:
272
277
  ( state->cs) = 32;
273
- #line 565 "ext/ragel/base_lexer.rl"
278
+ #line 618 "ext/ragel/base_lexer.rl"
274
279
  {{p = ((te))-1;}{
275
280
  p--;
276
- ( state->cs) = 82;
281
+ ( state->cs) = 86;
277
282
  }}
278
283
  goto _again;
279
284
  tr4:
280
285
  ( state->cs) = 32;
281
- #line 86 "ext/ragel/base_lexer.rl"
286
+ #line 89 "ext/ragel/base_lexer.rl"
282
287
  {te = p+1;{
283
288
  callback_simple(id_on_comment_start);
284
289
 
@@ -287,7 +292,7 @@ tr4:
287
292
  goto _again;
288
293
  tr17:
289
294
  ( state->cs) = 32;
290
- #line 125 "ext/ragel/base_lexer.rl"
295
+ #line 128 "ext/ragel/base_lexer.rl"
291
296
  {te = p+1;{
292
297
  callback_simple(id_on_cdata_start);
293
298
 
@@ -296,23 +301,23 @@ tr17:
296
301
  goto _again;
297
302
  tr39:
298
303
  ( state->cs) = 32;
299
- #line 565 "ext/ragel/base_lexer.rl"
304
+ #line 618 "ext/ragel/base_lexer.rl"
300
305
  {te = p+1;{
301
306
  p--;
302
- ( state->cs) = 82;
307
+ ( state->cs) = 86;
303
308
  }}
304
309
  goto _again;
305
310
  tr41:
306
311
  ( state->cs) = 32;
307
- #line 565 "ext/ragel/base_lexer.rl"
312
+ #line 618 "ext/ragel/base_lexer.rl"
308
313
  {te = p;p--;{
309
314
  p--;
310
- ( state->cs) = 82;
315
+ ( state->cs) = 86;
311
316
  }}
312
317
  goto _again;
313
318
  tr42:
314
319
  ( state->cs) = 32;
315
- #line 368 "ext/ragel/base_lexer.rl"
320
+ #line 371 "ext/ragel/base_lexer.rl"
316
321
  {te = p+1;{
317
322
  p--;
318
323
  ( state->cs) = 69;
@@ -320,14 +325,14 @@ tr42:
320
325
  goto _again;
321
326
  tr44:
322
327
  ( state->cs) = 32;
323
- #line 373 "ext/ragel/base_lexer.rl"
328
+ #line 376 "ext/ragel/base_lexer.rl"
324
329
  {te = p+1;{
325
330
  ( state->cs) = 71;
326
331
  }}
327
332
  goto _again;
328
333
  tr46:
329
334
  ( state->cs) = 32;
330
- #line 257 "ext/ragel/base_lexer.rl"
335
+ #line 260 "ext/ragel/base_lexer.rl"
331
336
  {te = p;p--;{
332
337
  callback_simple(id_on_doctype_start);
333
338
 
@@ -345,13 +350,13 @@ tr47:
345
350
  ( state->cs) = 32;
346
351
  #line 1 "NONE"
347
352
  { switch( ( state->act) ) {
348
- case 54:
353
+ case 60:
349
354
  {{p = ((te))-1;}
350
355
  callback_simple(id_on_xml_decl_start);
351
356
  ( state->cs) = 66;
352
357
  }
353
358
  break;
354
- case 57:
359
+ case 63:
355
360
  {{p = ((te))-1;}
356
361
  callback_simple(id_on_proc_ins_start);
357
362
  callback(id_on_proc_ins_name, data, encoding, ts + 2, te);
@@ -364,7 +369,7 @@ tr47:
364
369
  goto _again;
365
370
  tr48:
366
371
  ( state->cs) = 32;
367
- #line 167 "ext/ragel/base_lexer.rl"
372
+ #line 170 "ext/ragel/base_lexer.rl"
368
373
  {te = p;p--;{
369
374
  callback_simple(id_on_proc_ins_start);
370
375
  callback(id_on_proc_ins_name, data, encoding, ts + 2, te);
@@ -380,7 +385,7 @@ st32:
380
385
  case 32:
381
386
  #line 1 "NONE"
382
387
  {ts = p;}
383
- #line 384 "ext/c/lexer.c"
388
+ #line 389 "ext/c/lexer.c"
384
389
  if ( (*p) == 60 )
385
390
  goto tr40;
386
391
  goto tr39;
@@ -392,7 +397,7 @@ st33:
392
397
  if ( ++p == pe )
393
398
  goto _test_eof33;
394
399
  case 33:
395
- #line 396 "ext/c/lexer.c"
400
+ #line 401 "ext/c/lexer.c"
396
401
  switch( (*p) ) {
397
402
  case 33: goto st1;
398
403
  case 47: goto tr44;
@@ -495,7 +500,7 @@ case 9:
495
500
  goto tr11;
496
501
  goto tr0;
497
502
  tr11:
498
- #line 58 "ext/ragel/base_lexer.rl"
503
+ #line 61 "ext/ragel/base_lexer.rl"
499
504
  {
500
505
  if ( (*p) == '\n' ) lines++;
501
506
  }
@@ -504,7 +509,7 @@ st34:
504
509
  if ( ++p == pe )
505
510
  goto _test_eof34;
506
511
  case 34:
507
- #line 508 "ext/c/lexer.c"
512
+ #line 513 "ext/c/lexer.c"
508
513
  switch( (*p) ) {
509
514
  case 13: goto tr11;
510
515
  case 32: goto tr11;
@@ -578,20 +583,20 @@ case 16:
578
583
  tr18:
579
584
  #line 1 "NONE"
580
585
  {te = p+1;}
581
- #line 167 "ext/ragel/base_lexer.rl"
582
- {( state->act) = 57;}
586
+ #line 170 "ext/ragel/base_lexer.rl"
587
+ {( state->act) = 63;}
583
588
  goto st35;
584
589
  tr50:
585
590
  #line 1 "NONE"
586
591
  {te = p+1;}
587
- #line 321 "ext/ragel/base_lexer.rl"
588
- {( state->act) = 54;}
592
+ #line 324 "ext/ragel/base_lexer.rl"
593
+ {( state->act) = 60;}
589
594
  goto st35;
590
595
  st35:
591
596
  if ( ++p == pe )
592
597
  goto _test_eof35;
593
598
  case 35:
594
- #line 595 "ext/c/lexer.c"
599
+ #line 600 "ext/c/lexer.c"
595
600
  switch( (*p) ) {
596
601
  case 47: goto tr47;
597
602
  case 96: goto tr47;
@@ -651,7 +656,7 @@ case 37:
651
656
  goto tr48;
652
657
  goto tr18;
653
658
  tr20:
654
- #line 93 "ext/ragel/base_lexer.rl"
659
+ #line 96 "ext/ragel/base_lexer.rl"
655
660
  {{p = ((te))-1;}{
656
661
  callback(id_on_comment_body, data, encoding, ts, te);
657
662
 
@@ -665,7 +670,7 @@ tr20:
665
670
  goto st38;
666
671
  tr21:
667
672
  ( state->cs) = 38;
668
- #line 104 "ext/ragel/base_lexer.rl"
673
+ #line 107 "ext/ragel/base_lexer.rl"
669
674
  {te = p+1;{
670
675
  callback_simple(id_on_comment_end);
671
676
 
@@ -673,7 +678,7 @@ tr21:
673
678
  }}
674
679
  goto _again;
675
680
  tr53:
676
- #line 93 "ext/ragel/base_lexer.rl"
681
+ #line 96 "ext/ragel/base_lexer.rl"
677
682
  {te = p;p--;{
678
683
  callback(id_on_comment_body, data, encoding, ts, te);
679
684
 
@@ -693,12 +698,12 @@ st38:
693
698
  case 38:
694
699
  #line 1 "NONE"
695
700
  {ts = p;}
696
- #line 697 "ext/c/lexer.c"
701
+ #line 702 "ext/c/lexer.c"
697
702
  if ( (*p) == 45 )
698
703
  goto tr52;
699
704
  goto tr51;
700
705
  tr51:
701
- #line 58 "ext/ragel/base_lexer.rl"
706
+ #line 61 "ext/ragel/base_lexer.rl"
702
707
  {
703
708
  if ( (*p) == '\n' ) lines++;
704
709
  }
@@ -707,14 +712,14 @@ st39:
707
712
  if ( ++p == pe )
708
713
  goto _test_eof39;
709
714
  case 39:
710
- #line 711 "ext/c/lexer.c"
715
+ #line 716 "ext/c/lexer.c"
711
716
  if ( (*p) == 45 )
712
717
  goto tr53;
713
718
  goto tr51;
714
719
  tr52:
715
720
  #line 1 "NONE"
716
721
  {te = p+1;}
717
- #line 58 "ext/ragel/base_lexer.rl"
722
+ #line 61 "ext/ragel/base_lexer.rl"
718
723
  {
719
724
  if ( (*p) == '\n' ) lines++;
720
725
  }
@@ -723,7 +728,7 @@ st40:
723
728
  if ( ++p == pe )
724
729
  goto _test_eof40;
725
730
  case 40:
726
- #line 727 "ext/c/lexer.c"
731
+ #line 732 "ext/c/lexer.c"
727
732
  if ( (*p) == 45 )
728
733
  goto st17;
729
734
  goto tr53;
@@ -735,7 +740,7 @@ case 17:
735
740
  goto tr21;
736
741
  goto tr20;
737
742
  tr22:
738
- #line 132 "ext/ragel/base_lexer.rl"
743
+ #line 135 "ext/ragel/base_lexer.rl"
739
744
  {{p = ((te))-1;}{
740
745
  callback(id_on_cdata_body, data, encoding, ts, te);
741
746
 
@@ -749,7 +754,7 @@ tr22:
749
754
  goto st41;
750
755
  tr23:
751
756
  ( state->cs) = 41;
752
- #line 143 "ext/ragel/base_lexer.rl"
757
+ #line 146 "ext/ragel/base_lexer.rl"
753
758
  {te = p+1;{
754
759
  callback_simple(id_on_cdata_end);
755
760
 
@@ -757,7 +762,7 @@ tr23:
757
762
  }}
758
763
  goto _again;
759
764
  tr57:
760
- #line 132 "ext/ragel/base_lexer.rl"
765
+ #line 135 "ext/ragel/base_lexer.rl"
761
766
  {te = p;p--;{
762
767
  callback(id_on_cdata_body, data, encoding, ts, te);
763
768
 
@@ -777,12 +782,12 @@ st41:
777
782
  case 41:
778
783
  #line 1 "NONE"
779
784
  {ts = p;}
780
- #line 781 "ext/c/lexer.c"
785
+ #line 786 "ext/c/lexer.c"
781
786
  if ( (*p) == 93 )
782
787
  goto tr56;
783
788
  goto tr55;
784
789
  tr55:
785
- #line 58 "ext/ragel/base_lexer.rl"
790
+ #line 61 "ext/ragel/base_lexer.rl"
786
791
  {
787
792
  if ( (*p) == '\n' ) lines++;
788
793
  }
@@ -791,14 +796,14 @@ st42:
791
796
  if ( ++p == pe )
792
797
  goto _test_eof42;
793
798
  case 42:
794
- #line 795 "ext/c/lexer.c"
799
+ #line 800 "ext/c/lexer.c"
795
800
  if ( (*p) == 93 )
796
801
  goto tr57;
797
802
  goto tr55;
798
803
  tr56:
799
804
  #line 1 "NONE"
800
805
  {te = p+1;}
801
- #line 58 "ext/ragel/base_lexer.rl"
806
+ #line 61 "ext/ragel/base_lexer.rl"
802
807
  {
803
808
  if ( (*p) == '\n' ) lines++;
804
809
  }
@@ -807,7 +812,7 @@ st43:
807
812
  if ( ++p == pe )
808
813
  goto _test_eof43;
809
814
  case 43:
810
- #line 811 "ext/c/lexer.c"
815
+ #line 816 "ext/c/lexer.c"
811
816
  if ( (*p) == 93 )
812
817
  goto st18;
813
818
  goto tr57;
@@ -819,7 +824,7 @@ case 18:
819
824
  goto tr23;
820
825
  goto tr22;
821
826
  tr61:
822
- #line 175 "ext/ragel/base_lexer.rl"
827
+ #line 178 "ext/ragel/base_lexer.rl"
823
828
  {te = p;p--;{
824
829
  callback(id_on_proc_ins_body, data, encoding, ts, te);
825
830
 
@@ -833,7 +838,7 @@ tr61:
833
838
  goto st44;
834
839
  tr62:
835
840
  ( state->cs) = 44;
836
- #line 186 "ext/ragel/base_lexer.rl"
841
+ #line 189 "ext/ragel/base_lexer.rl"
837
842
  {te = p+1;{
838
843
  callback_simple(id_on_proc_ins_end);
839
844
 
@@ -848,12 +853,12 @@ st44:
848
853
  case 44:
849
854
  #line 1 "NONE"
850
855
  {ts = p;}
851
- #line 852 "ext/c/lexer.c"
856
+ #line 857 "ext/c/lexer.c"
852
857
  if ( (*p) == 63 )
853
858
  goto tr60;
854
859
  goto tr59;
855
860
  tr59:
856
- #line 58 "ext/ragel/base_lexer.rl"
861
+ #line 61 "ext/ragel/base_lexer.rl"
857
862
  {
858
863
  if ( (*p) == '\n' ) lines++;
859
864
  }
@@ -862,12 +867,12 @@ st45:
862
867
  if ( ++p == pe )
863
868
  goto _test_eof45;
864
869
  case 45:
865
- #line 866 "ext/c/lexer.c"
870
+ #line 871 "ext/c/lexer.c"
866
871
  if ( (*p) == 63 )
867
872
  goto tr61;
868
873
  goto tr59;
869
874
  tr60:
870
- #line 58 "ext/ragel/base_lexer.rl"
875
+ #line 61 "ext/ragel/base_lexer.rl"
871
876
  {
872
877
  if ( (*p) == '\n' ) lines++;
873
878
  }
@@ -876,12 +881,12 @@ st46:
876
881
  if ( ++p == pe )
877
882
  goto _test_eof46;
878
883
  case 46:
879
- #line 880 "ext/c/lexer.c"
884
+ #line 885 "ext/c/lexer.c"
880
885
  if ( (*p) == 62 )
881
886
  goto tr62;
882
887
  goto tr61;
883
888
  tr64:
884
- #line 228 "ext/ragel/base_lexer.rl"
889
+ #line 231 "ext/ragel/base_lexer.rl"
885
890
  {te = p+1;{
886
891
  callback_simple(id_on_string_squote);
887
892
 
@@ -889,7 +894,7 @@ tr64:
889
894
  }}
890
895
  goto st47;
891
896
  tr65:
892
- #line 202 "ext/ragel/base_lexer.rl"
897
+ #line 205 "ext/ragel/base_lexer.rl"
893
898
  {te = p;p--;{
894
899
  callback(id_on_string_body, data, encoding, ts, te);
895
900
 
@@ -909,12 +914,12 @@ st47:
909
914
  case 47:
910
915
  #line 1 "NONE"
911
916
  {ts = p;}
912
- #line 913 "ext/c/lexer.c"
917
+ #line 918 "ext/c/lexer.c"
913
918
  if ( (*p) == 39 )
914
919
  goto tr64;
915
920
  goto tr63;
916
921
  tr63:
917
- #line 58 "ext/ragel/base_lexer.rl"
922
+ #line 61 "ext/ragel/base_lexer.rl"
918
923
  {
919
924
  if ( (*p) == '\n' ) lines++;
920
925
  }
@@ -923,12 +928,12 @@ st48:
923
928
  if ( ++p == pe )
924
929
  goto _test_eof48;
925
930
  case 48:
926
- #line 927 "ext/c/lexer.c"
931
+ #line 932 "ext/c/lexer.c"
927
932
  if ( (*p) == 39 )
928
933
  goto tr65;
929
934
  goto tr63;
930
935
  tr67:
931
- #line 238 "ext/ragel/base_lexer.rl"
936
+ #line 241 "ext/ragel/base_lexer.rl"
932
937
  {te = p+1;{
933
938
  callback_simple(id_on_string_dquote);
934
939
 
@@ -936,7 +941,7 @@ tr67:
936
941
  }}
937
942
  goto st49;
938
943
  tr68:
939
- #line 202 "ext/ragel/base_lexer.rl"
944
+ #line 205 "ext/ragel/base_lexer.rl"
940
945
  {te = p;p--;{
941
946
  callback(id_on_string_body, data, encoding, ts, te);
942
947
 
@@ -956,12 +961,12 @@ st49:
956
961
  case 49:
957
962
  #line 1 "NONE"
958
963
  {ts = p;}
959
- #line 960 "ext/c/lexer.c"
964
+ #line 965 "ext/c/lexer.c"
960
965
  if ( (*p) == 34 )
961
966
  goto tr67;
962
967
  goto tr66;
963
968
  tr66:
964
- #line 58 "ext/ragel/base_lexer.rl"
969
+ #line 61 "ext/ragel/base_lexer.rl"
965
970
  {
966
971
  if ( (*p) == '\n' ) lines++;
967
972
  }
@@ -970,17 +975,17 @@ st50:
970
975
  if ( ++p == pe )
971
976
  goto _test_eof50;
972
977
  case 50:
973
- #line 974 "ext/c/lexer.c"
978
+ #line 979 "ext/c/lexer.c"
974
979
  if ( (*p) == 34 )
975
980
  goto tr68;
976
981
  goto tr66;
977
982
  tr70:
978
983
  ( state->cs) = 51;
979
- #line 283 "ext/ragel/base_lexer.rl"
984
+ #line 286 "ext/ragel/base_lexer.rl"
980
985
  {te = p+1;{ ( state->cs) = 53; }}
981
986
  goto _again;
982
987
  tr71:
983
- #line 272 "ext/ragel/base_lexer.rl"
988
+ #line 275 "ext/ragel/base_lexer.rl"
984
989
  {te = p;p--;{
985
990
  callback(id_on_doctype_inline, data, encoding, ts, te);
986
991
 
@@ -1000,12 +1005,12 @@ st51:
1000
1005
  case 51:
1001
1006
  #line 1 "NONE"
1002
1007
  {ts = p;}
1003
- #line 1004 "ext/c/lexer.c"
1008
+ #line 1009 "ext/c/lexer.c"
1004
1009
  if ( (*p) == 93 )
1005
1010
  goto tr70;
1006
1011
  goto tr69;
1007
1012
  tr69:
1008
- #line 58 "ext/ragel/base_lexer.rl"
1013
+ #line 61 "ext/ragel/base_lexer.rl"
1009
1014
  {
1010
1015
  if ( (*p) == '\n' ) lines++;
1011
1016
  }
@@ -1014,22 +1019,22 @@ st52:
1014
1019
  if ( ++p == pe )
1015
1020
  goto _test_eof52;
1016
1021
  case 52:
1017
- #line 1018 "ext/c/lexer.c"
1022
+ #line 1023 "ext/c/lexer.c"
1018
1023
  if ( (*p) == 93 )
1019
1024
  goto tr71;
1020
1025
  goto tr69;
1021
1026
  tr73:
1022
- #line 311 "ext/ragel/base_lexer.rl"
1027
+ #line 314 "ext/ragel/base_lexer.rl"
1023
1028
  {te = p+1;}
1024
1029
  goto st53;
1025
1030
  tr75:
1026
- #line 62 "ext/ragel/base_lexer.rl"
1031
+ #line 65 "ext/ragel/base_lexer.rl"
1027
1032
  {te = p+1;{
1028
1033
  advance_line(1);
1029
1034
  }}
1030
1035
  goto st53;
1031
1036
  tr77:
1032
- #line 219 "ext/ragel/base_lexer.rl"
1037
+ #line 222 "ext/ragel/base_lexer.rl"
1033
1038
  {te = p+1;{
1034
1039
  callback_simple(id_on_string_dquote);
1035
1040
 
@@ -1037,7 +1042,7 @@ tr77:
1037
1042
  }}
1038
1043
  goto st53;
1039
1044
  tr78:
1040
- #line 213 "ext/ragel/base_lexer.rl"
1045
+ #line 216 "ext/ragel/base_lexer.rl"
1041
1046
  {te = p+1;{
1042
1047
  callback_simple(id_on_string_squote);
1043
1048
 
@@ -1046,7 +1051,7 @@ tr78:
1046
1051
  goto st53;
1047
1052
  tr79:
1048
1053
  ( state->cs) = 53;
1049
- #line 304 "ext/ragel/base_lexer.rl"
1054
+ #line 307 "ext/ragel/base_lexer.rl"
1050
1055
  {te = p+1;{
1051
1056
  callback_simple(id_on_doctype_end);
1052
1057
  ( state->cs) = 32;
@@ -1054,7 +1059,7 @@ tr79:
1054
1059
  goto _again;
1055
1060
  tr82:
1056
1061
  ( state->cs) = 53;
1057
- #line 294 "ext/ragel/base_lexer.rl"
1062
+ #line 297 "ext/ragel/base_lexer.rl"
1058
1063
  {te = p+1;{ ( state->cs) = 51; }}
1059
1064
  goto _again;
1060
1065
  tr83:
@@ -1074,13 +1079,13 @@ tr83:
1074
1079
  }
1075
1080
  goto st53;
1076
1081
  tr84:
1077
- #line 62 "ext/ragel/base_lexer.rl"
1082
+ #line 65 "ext/ragel/base_lexer.rl"
1078
1083
  {te = p;p--;{
1079
1084
  advance_line(1);
1080
1085
  }}
1081
1086
  goto st53;
1082
1087
  tr85:
1083
- #line 300 "ext/ragel/base_lexer.rl"
1088
+ #line 303 "ext/ragel/base_lexer.rl"
1084
1089
  {te = p;p--;{
1085
1090
  callback(id_on_doctype_name, data, encoding, ts, te);
1086
1091
  }}
@@ -1093,7 +1098,7 @@ st53:
1093
1098
  case 53:
1094
1099
  #line 1 "NONE"
1095
1100
  {ts = p;}
1096
- #line 1097 "ext/c/lexer.c"
1101
+ #line 1102 "ext/c/lexer.c"
1097
1102
  switch( (*p) ) {
1098
1103
  case 9: goto tr73;
1099
1104
  case 10: goto tr75;
@@ -1123,20 +1128,20 @@ case 53:
1123
1128
  tr72:
1124
1129
  #line 1 "NONE"
1125
1130
  {te = p+1;}
1126
- #line 300 "ext/ragel/base_lexer.rl"
1131
+ #line 303 "ext/ragel/base_lexer.rl"
1127
1132
  {( state->act) = 17;}
1128
1133
  goto st54;
1129
1134
  tr90:
1130
1135
  #line 1 "NONE"
1131
1136
  {te = p+1;}
1132
- #line 289 "ext/ragel/base_lexer.rl"
1137
+ #line 292 "ext/ragel/base_lexer.rl"
1133
1138
  {( state->act) = 13;}
1134
1139
  goto st54;
1135
1140
  st54:
1136
1141
  if ( ++p == pe )
1137
1142
  goto _test_eof54;
1138
1143
  case 54:
1139
- #line 1140 "ext/c/lexer.c"
1144
+ #line 1145 "ext/c/lexer.c"
1140
1145
  switch( (*p) ) {
1141
1146
  case 47: goto tr83;
1142
1147
  case 96: goto tr83;
@@ -1374,39 +1379,39 @@ case 65:
1374
1379
  goto tr85;
1375
1380
  goto tr72;
1376
1381
  tr96:
1377
- #line 58 "ext/ragel/base_lexer.rl"
1382
+ #line 61 "ext/ragel/base_lexer.rl"
1378
1383
  {
1379
1384
  if ( (*p) == '\n' ) lines++;
1380
1385
  }
1381
- #line 356 "ext/ragel/base_lexer.rl"
1386
+ #line 359 "ext/ragel/base_lexer.rl"
1382
1387
  {te = p+1;}
1383
1388
  goto st66;
1384
1389
  tr97:
1385
- #line 219 "ext/ragel/base_lexer.rl"
1390
+ #line 222 "ext/ragel/base_lexer.rl"
1386
1391
  {te = p+1;{
1387
1392
  callback_simple(id_on_string_dquote);
1388
1393
 
1389
1394
  {( state->stack)[( state->top)++] = 66; goto st49;}
1390
1395
  }}
1391
- #line 58 "ext/ragel/base_lexer.rl"
1396
+ #line 61 "ext/ragel/base_lexer.rl"
1392
1397
  {
1393
1398
  if ( (*p) == '\n' ) lines++;
1394
1399
  }
1395
1400
  goto st66;
1396
1401
  tr98:
1397
- #line 213 "ext/ragel/base_lexer.rl"
1402
+ #line 216 "ext/ragel/base_lexer.rl"
1398
1403
  {te = p+1;{
1399
1404
  callback_simple(id_on_string_squote);
1400
1405
 
1401
1406
  {( state->stack)[( state->top)++] = 66; goto st47;}
1402
1407
  }}
1403
- #line 58 "ext/ragel/base_lexer.rl"
1408
+ #line 61 "ext/ragel/base_lexer.rl"
1404
1409
  {
1405
1410
  if ( (*p) == '\n' ) lines++;
1406
1411
  }
1407
1412
  goto st66;
1408
1413
  tr100:
1409
- #line 342 "ext/ragel/base_lexer.rl"
1414
+ #line 345 "ext/ragel/base_lexer.rl"
1410
1415
  {te = p;p--;{
1411
1416
  if ( lines > 0 )
1412
1417
  {
@@ -1419,12 +1424,12 @@ tr100:
1419
1424
  }}
1420
1425
  goto st66;
1421
1426
  tr102:
1422
- #line 356 "ext/ragel/base_lexer.rl"
1427
+ #line 359 "ext/ragel/base_lexer.rl"
1423
1428
  {te = p;p--;}
1424
1429
  goto st66;
1425
1430
  tr103:
1426
1431
  ( state->cs) = 66;
1427
- #line 328 "ext/ragel/base_lexer.rl"
1432
+ #line 331 "ext/ragel/base_lexer.rl"
1428
1433
  {te = p+1;{
1429
1434
  if ( lines > 0 )
1430
1435
  {
@@ -1446,7 +1451,7 @@ st66:
1446
1451
  case 66:
1447
1452
  #line 1 "NONE"
1448
1453
  {ts = p;}
1449
- #line 1450 "ext/c/lexer.c"
1454
+ #line 1455 "ext/c/lexer.c"
1450
1455
  switch( (*p) ) {
1451
1456
  case 34: goto tr97;
1452
1457
  case 39: goto tr98;
@@ -1467,7 +1472,7 @@ case 66:
1467
1472
  goto tr96;
1468
1473
  goto tr95;
1469
1474
  tr95:
1470
- #line 58 "ext/ragel/base_lexer.rl"
1475
+ #line 61 "ext/ragel/base_lexer.rl"
1471
1476
  {
1472
1477
  if ( (*p) == '\n' ) lines++;
1473
1478
  }
@@ -1476,7 +1481,7 @@ st67:
1476
1481
  if ( ++p == pe )
1477
1482
  goto _test_eof67;
1478
1483
  case 67:
1479
- #line 1480 "ext/c/lexer.c"
1484
+ #line 1485 "ext/c/lexer.c"
1480
1485
  switch( (*p) ) {
1481
1486
  case 47: goto tr100;
1482
1487
  case 96: goto tr100;
@@ -1494,7 +1499,7 @@ case 67:
1494
1499
  goto tr100;
1495
1500
  goto st67;
1496
1501
  tr99:
1497
- #line 58 "ext/ragel/base_lexer.rl"
1502
+ #line 61 "ext/ragel/base_lexer.rl"
1498
1503
  {
1499
1504
  if ( (*p) == '\n' ) lines++;
1500
1505
  }
@@ -1503,22 +1508,33 @@ st68:
1503
1508
  if ( ++p == pe )
1504
1509
  goto _test_eof68;
1505
1510
  case 68:
1506
- #line 1507 "ext/c/lexer.c"
1511
+ #line 1512 "ext/c/lexer.c"
1507
1512
  if ( (*p) == 62 )
1508
1513
  goto tr103;
1509
1514
  goto tr102;
1510
1515
  tr105:
1511
1516
  ( state->cs) = 69;
1512
- #line 396 "ext/ragel/base_lexer.rl"
1517
+ #line 402 "ext/ragel/base_lexer.rl"
1513
1518
  {te = p;p--;{
1514
1519
  callback(id_on_element_name, data, encoding, ts, te);
1515
- ( state->cs) = 78;
1520
+
1521
+ if ( html_p )
1522
+ {
1523
+ ( state->cs) = 82;
1524
+ }
1525
+ else
1526
+ {
1527
+ ( state->cs) = 78;
1528
+ }
1516
1529
  }}
1517
1530
  goto _again;
1518
1531
  tr106:
1519
- #line 392 "ext/ragel/base_lexer.rl"
1532
+ #line 395 "ext/ragel/base_lexer.rl"
1520
1533
  {te = p+1;{
1521
- callback(id_on_element_ns, data, encoding, ts, te - 1);
1534
+ if ( !html_p )
1535
+ {
1536
+ callback(id_on_element_ns, data, encoding, ts, te - 1);
1537
+ }
1522
1538
  }}
1523
1539
  goto st69;
1524
1540
  st69:
@@ -1529,7 +1545,7 @@ st69:
1529
1545
  case 69:
1530
1546
  #line 1 "NONE"
1531
1547
  {ts = p;}
1532
- #line 1533 "ext/c/lexer.c"
1548
+ #line 1549 "ext/c/lexer.c"
1533
1549
  switch( (*p) ) {
1534
1550
  case 47: goto st0;
1535
1551
  case 96: goto st0;
@@ -1568,16 +1584,16 @@ case 70:
1568
1584
  goto tr105;
1569
1585
  goto st70;
1570
1586
  tr108:
1571
- #line 58 "ext/ragel/base_lexer.rl"
1587
+ #line 61 "ext/ragel/base_lexer.rl"
1572
1588
  {
1573
1589
  if ( (*p) == '\n' ) lines++;
1574
1590
  }
1575
- #line 421 "ext/ragel/base_lexer.rl"
1591
+ #line 435 "ext/ragel/base_lexer.rl"
1576
1592
  {te = p+1;}
1577
1593
  goto st71;
1578
1594
  tr109:
1579
1595
  ( state->cs) = 71;
1580
- #line 410 "ext/ragel/base_lexer.rl"
1596
+ #line 424 "ext/ragel/base_lexer.rl"
1581
1597
  {te = p+1;{
1582
1598
  if ( lines > 0 )
1583
1599
  {
@@ -1588,19 +1604,19 @@ tr109:
1588
1604
 
1589
1605
  ( state->cs) = 32;
1590
1606
  }}
1591
- #line 58 "ext/ragel/base_lexer.rl"
1607
+ #line 61 "ext/ragel/base_lexer.rl"
1592
1608
  {
1593
1609
  if ( (*p) == '\n' ) lines++;
1594
1610
  }
1595
1611
  goto _again;
1596
1612
  tr110:
1597
- #line 377 "ext/ragel/base_lexer.rl"
1613
+ #line 380 "ext/ragel/base_lexer.rl"
1598
1614
  {te = p;p--;{
1599
1615
  callback(id_on_element_end, data, encoding, ts, te);
1600
1616
  }}
1601
1617
  goto st71;
1602
1618
  tr112:
1603
- #line 406 "ext/ragel/base_lexer.rl"
1619
+ #line 420 "ext/ragel/base_lexer.rl"
1604
1620
  {te = p+1;}
1605
1621
  goto st71;
1606
1622
  st71:
@@ -1611,7 +1627,7 @@ st71:
1611
1627
  case 71:
1612
1628
  #line 1 "NONE"
1613
1629
  {ts = p;}
1614
- #line 1615 "ext/c/lexer.c"
1630
+ #line 1631 "ext/c/lexer.c"
1615
1631
  switch( (*p) ) {
1616
1632
  case 47: goto tr108;
1617
1633
  case 62: goto tr109;
@@ -1630,7 +1646,7 @@ case 71:
1630
1646
  goto tr108;
1631
1647
  goto tr107;
1632
1648
  tr107:
1633
- #line 58 "ext/ragel/base_lexer.rl"
1649
+ #line 61 "ext/ragel/base_lexer.rl"
1634
1650
  {
1635
1651
  if ( (*p) == '\n' ) lines++;
1636
1652
  }
@@ -1639,7 +1655,7 @@ st72:
1639
1655
  if ( ++p == pe )
1640
1656
  goto _test_eof72;
1641
1657
  case 72:
1642
- #line 1643 "ext/c/lexer.c"
1658
+ #line 1659 "ext/c/lexer.c"
1643
1659
  switch( (*p) ) {
1644
1660
  case 47: goto tr110;
1645
1661
  case 58: goto tr112;
@@ -1659,7 +1675,7 @@ case 72:
1659
1675
  goto st72;
1660
1676
  tr113:
1661
1677
  ( state->cs) = 73;
1662
- #line 442 "ext/ragel/base_lexer.rl"
1678
+ #line 456 "ext/ragel/base_lexer.rl"
1663
1679
  {te = p+1;{
1664
1680
  p--;
1665
1681
 
@@ -1682,16 +1698,16 @@ tr113:
1682
1698
  }}
1683
1699
  goto _again;
1684
1700
  tr114:
1685
- #line 58 "ext/ragel/base_lexer.rl"
1701
+ #line 61 "ext/ragel/base_lexer.rl"
1686
1702
  {
1687
1703
  if ( (*p) == '\n' ) lines++;
1688
1704
  }
1689
- #line 427 "ext/ragel/base_lexer.rl"
1705
+ #line 441 "ext/ragel/base_lexer.rl"
1690
1706
  {te = p+1;}
1691
1707
  goto st73;
1692
1708
  tr116:
1693
1709
  ( state->cs) = 73;
1694
- #line 429 "ext/ragel/base_lexer.rl"
1710
+ #line 443 "ext/ragel/base_lexer.rl"
1695
1711
  {te = p+1;{
1696
1712
  p--;
1697
1713
 
@@ -1706,7 +1722,7 @@ tr116:
1706
1722
  }}
1707
1723
  goto _again;
1708
1724
  tr117:
1709
- #line 427 "ext/ragel/base_lexer.rl"
1725
+ #line 441 "ext/ragel/base_lexer.rl"
1710
1726
  {te = p;p--;}
1711
1727
  goto st73;
1712
1728
  st73:
@@ -1717,7 +1733,7 @@ st73:
1717
1733
  case 73:
1718
1734
  #line 1 "NONE"
1719
1735
  {ts = p;}
1720
- #line 1721 "ext/c/lexer.c"
1736
+ #line 1737 "ext/c/lexer.c"
1721
1737
  switch( (*p) ) {
1722
1738
  case 13: goto tr115;
1723
1739
  case 32: goto tr114;
@@ -1728,7 +1744,7 @@ case 73:
1728
1744
  goto tr114;
1729
1745
  goto tr113;
1730
1746
  tr115:
1731
- #line 58 "ext/ragel/base_lexer.rl"
1747
+ #line 61 "ext/ragel/base_lexer.rl"
1732
1748
  {
1733
1749
  if ( (*p) == '\n' ) lines++;
1734
1750
  }
@@ -1737,19 +1753,19 @@ st74:
1737
1753
  if ( ++p == pe )
1738
1754
  goto _test_eof74;
1739
1755
  case 74:
1740
- #line 1741 "ext/c/lexer.c"
1756
+ #line 1757 "ext/c/lexer.c"
1741
1757
  if ( (*p) == 10 )
1742
1758
  goto tr114;
1743
1759
  goto tr117;
1744
1760
  tr119:
1745
- #line 66 "ext/ragel/base_lexer.rl"
1761
+ #line 69 "ext/ragel/base_lexer.rl"
1746
1762
  {te = p+1;{
1747
1763
  p--;
1748
1764
  {( state->cs) = ( state->stack)[--( state->top)];goto _again;}
1749
1765
  }}
1750
1766
  goto st75;
1751
1767
  tr120:
1752
- #line 480 "ext/ragel/base_lexer.rl"
1768
+ #line 494 "ext/ragel/base_lexer.rl"
1753
1769
  {te = p;p--;{
1754
1770
  callback_simple(id_on_string_squote);
1755
1771
 
@@ -1766,7 +1782,7 @@ st75:
1766
1782
  case 75:
1767
1783
  #line 1 "NONE"
1768
1784
  {ts = p;}
1769
- #line 1770 "ext/c/lexer.c"
1785
+ #line 1786 "ext/c/lexer.c"
1770
1786
  switch( (*p) ) {
1771
1787
  case 13: goto tr119;
1772
1788
  case 32: goto tr119;
@@ -1788,7 +1804,7 @@ case 76:
1788
1804
  goto tr120;
1789
1805
  goto st76;
1790
1806
  tr121:
1791
- #line 66 "ext/ragel/base_lexer.rl"
1807
+ #line 69 "ext/ragel/base_lexer.rl"
1792
1808
  {te = p+1;{
1793
1809
  p--;
1794
1810
  {( state->cs) = ( state->stack)[--( state->top)];goto _again;}
@@ -1796,7 +1812,7 @@ tr121:
1796
1812
  goto st77;
1797
1813
  tr122:
1798
1814
  ( state->cs) = 77;
1799
- #line 502 "ext/ragel/base_lexer.rl"
1815
+ #line 516 "ext/ragel/base_lexer.rl"
1800
1816
  {te = p+1;{
1801
1817
  callback_simple(id_on_string_dquote);
1802
1818
 
@@ -1805,7 +1821,7 @@ tr122:
1805
1821
  goto _again;
1806
1822
  tr123:
1807
1823
  ( state->cs) = 77;
1808
- #line 496 "ext/ragel/base_lexer.rl"
1824
+ #line 510 "ext/ragel/base_lexer.rl"
1809
1825
  {te = p+1;{
1810
1826
  callback_simple(id_on_string_squote);
1811
1827
 
@@ -1820,77 +1836,66 @@ st77:
1820
1836
  case 77:
1821
1837
  #line 1 "NONE"
1822
1838
  {ts = p;}
1823
- #line 1824 "ext/c/lexer.c"
1839
+ #line 1840 "ext/c/lexer.c"
1824
1840
  switch( (*p) ) {
1825
1841
  case 34: goto tr122;
1826
1842
  case 39: goto tr123;
1827
1843
  }
1828
1844
  goto tr121;
1829
1845
  tr125:
1830
- #line 554 "ext/ragel/base_lexer.rl"
1846
+ #line 574 "ext/ragel/base_lexer.rl"
1831
1847
  {te = p+1;}
1832
1848
  goto st78;
1833
1849
  tr126:
1834
- #line 62 "ext/ragel/base_lexer.rl"
1850
+ #line 65 "ext/ragel/base_lexer.rl"
1835
1851
  {te = p+1;{
1836
1852
  advance_line(1);
1837
1853
  }}
1838
1854
  goto st78;
1839
1855
  tr129:
1840
- #line 526 "ext/ragel/base_lexer.rl"
1856
+ #line 525 "ext/ragel/base_lexer.rl"
1841
1857
  {te = p+1;{
1842
- {( state->stack)[( state->top)++] = 78; goto st73;}
1843
- }}
1858
+ {( state->stack)[( state->top)++] = 78; goto st73;}
1859
+ }}
1844
1860
  goto st78;
1845
1861
  tr130:
1846
1862
  ( state->cs) = 78;
1847
- #line 531 "ext/ragel/base_lexer.rl"
1863
+ #line 566 "ext/ragel/base_lexer.rl"
1848
1864
  {te = p+1;{
1849
1865
  callback_simple(id_on_element_open_end);
1850
1866
 
1851
- if ( html_script_p() )
1852
- {
1853
- ( state->cs) = 86;
1854
- }
1855
- else if ( html_style_p() )
1856
- {
1857
- ( state->cs) = 90;
1858
- }
1859
- else
1860
- {
1861
- ( state->cs) = 32;
1862
- }
1867
+ ( state->cs) = 32;
1863
1868
  }}
1864
1869
  goto _again;
1865
1870
  tr131:
1866
- #line 521 "ext/ragel/base_lexer.rl"
1871
+ #line 560 "ext/ragel/base_lexer.rl"
1867
1872
  {te = p;p--;{
1868
1873
  callback(id_on_attribute, data, encoding, ts, te);
1869
1874
  }}
1870
1875
  goto st78;
1871
1876
  tr132:
1872
- #line 517 "ext/ragel/base_lexer.rl"
1877
+ #line 556 "ext/ragel/base_lexer.rl"
1873
1878
  {te = p+1;{
1874
1879
  callback(id_on_attribute_ns, data, encoding, ts, te - 1);
1875
1880
  }}
1876
1881
  goto st78;
1877
1882
  tr133:
1878
- #line 62 "ext/ragel/base_lexer.rl"
1883
+ #line 65 "ext/ragel/base_lexer.rl"
1879
1884
  {te = p;p--;{
1880
1885
  advance_line(1);
1881
1886
  }}
1882
1887
  goto st78;
1883
1888
  tr134:
1884
- #line 554 "ext/ragel/base_lexer.rl"
1889
+ #line 574 "ext/ragel/base_lexer.rl"
1885
1890
  {te = p;p--;}
1886
1891
  goto st78;
1887
1892
  tr135:
1888
1893
  ( state->cs) = 78;
1889
- #line 549 "ext/ragel/base_lexer.rl"
1894
+ #line 546 "ext/ragel/base_lexer.rl"
1890
1895
  {te = p+1;{
1891
- callback_simple(id_on_element_end);
1892
- ( state->cs) = 32;
1893
- }}
1896
+ callback_simple(id_on_element_end);
1897
+ ( state->cs) = 32;
1898
+ }}
1894
1899
  goto _again;
1895
1900
  st78:
1896
1901
  #line 1 "NONE"
@@ -1900,7 +1905,7 @@ st78:
1900
1905
  case 78:
1901
1906
  #line 1 "NONE"
1902
1907
  {ts = p;}
1903
- #line 1904 "ext/c/lexer.c"
1908
+ #line 1909 "ext/c/lexer.c"
1904
1909
  switch( (*p) ) {
1905
1910
  case 10: goto tr126;
1906
1911
  case 13: goto st80;
@@ -1956,9 +1961,132 @@ case 81:
1956
1961
  if ( (*p) == 62 )
1957
1962
  goto tr135;
1958
1963
  goto tr134;
1964
+ tr137:
1965
+ #line 607 "ext/ragel/base_lexer.rl"
1966
+ {te = p+1;}
1967
+ goto st82;
1959
1968
  tr138:
1969
+ #line 65 "ext/ragel/base_lexer.rl"
1970
+ {te = p+1;{
1971
+ advance_line(1);
1972
+ }}
1973
+ goto st82;
1974
+ tr141:
1975
+ #line 525 "ext/ragel/base_lexer.rl"
1976
+ {te = p+1;{
1977
+ {( state->stack)[( state->top)++] = 82; goto st73;}
1978
+ }}
1979
+ goto st82;
1980
+ tr142:
1960
1981
  ( state->cs) = 82;
1961
- #line 591 "ext/ragel/base_lexer.rl"
1982
+ #line 588 "ext/ragel/base_lexer.rl"
1983
+ {te = p+1;{
1984
+ callback_simple(id_on_element_open_end);
1985
+
1986
+ if ( html_script_p() )
1987
+ {
1988
+ ( state->cs) = 90;
1989
+ }
1990
+ else if ( html_style_p() )
1991
+ {
1992
+ ( state->cs) = 94;
1993
+ }
1994
+ else
1995
+ {
1996
+ ( state->cs) = 32;
1997
+ }
1998
+ }}
1999
+ goto _again;
2000
+ tr143:
2001
+ #line 582 "ext/ragel/base_lexer.rl"
2002
+ {te = p;p--;{
2003
+ callback(id_on_attribute, data, encoding, ts, te);
2004
+ }}
2005
+ goto st82;
2006
+ tr144:
2007
+ #line 65 "ext/ragel/base_lexer.rl"
2008
+ {te = p;p--;{
2009
+ advance_line(1);
2010
+ }}
2011
+ goto st82;
2012
+ tr145:
2013
+ #line 607 "ext/ragel/base_lexer.rl"
2014
+ {te = p;p--;}
2015
+ goto st82;
2016
+ tr146:
2017
+ ( state->cs) = 82;
2018
+ #line 546 "ext/ragel/base_lexer.rl"
2019
+ {te = p+1;{
2020
+ callback_simple(id_on_element_end);
2021
+ ( state->cs) = 32;
2022
+ }}
2023
+ goto _again;
2024
+ st82:
2025
+ #line 1 "NONE"
2026
+ {ts = 0;}
2027
+ if ( ++p == pe )
2028
+ goto _test_eof82;
2029
+ case 82:
2030
+ #line 1 "NONE"
2031
+ {ts = p;}
2032
+ #line 2033 "ext/c/lexer.c"
2033
+ switch( (*p) ) {
2034
+ case 10: goto tr138;
2035
+ case 13: goto st84;
2036
+ case 47: goto st85;
2037
+ case 61: goto tr141;
2038
+ case 62: goto tr142;
2039
+ case 96: goto tr137;
2040
+ }
2041
+ if ( (*p) < 59 ) {
2042
+ if ( 0 <= (*p) && (*p) <= 44 )
2043
+ goto tr137;
2044
+ } else if ( (*p) > 64 ) {
2045
+ if ( (*p) > 94 ) {
2046
+ if ( 123 <= (*p) )
2047
+ goto tr137;
2048
+ } else if ( (*p) >= 91 )
2049
+ goto tr137;
2050
+ } else
2051
+ goto tr137;
2052
+ goto st83;
2053
+ st83:
2054
+ if ( ++p == pe )
2055
+ goto _test_eof83;
2056
+ case 83:
2057
+ switch( (*p) ) {
2058
+ case 47: goto tr143;
2059
+ case 96: goto tr143;
2060
+ }
2061
+ if ( (*p) < 59 ) {
2062
+ if ( 0 <= (*p) && (*p) <= 44 )
2063
+ goto tr143;
2064
+ } else if ( (*p) > 64 ) {
2065
+ if ( (*p) > 94 ) {
2066
+ if ( 123 <= (*p) )
2067
+ goto tr143;
2068
+ } else if ( (*p) >= 91 )
2069
+ goto tr143;
2070
+ } else
2071
+ goto tr143;
2072
+ goto st83;
2073
+ st84:
2074
+ if ( ++p == pe )
2075
+ goto _test_eof84;
2076
+ case 84:
2077
+ if ( (*p) == 10 )
2078
+ goto tr138;
2079
+ goto tr144;
2080
+ st85:
2081
+ if ( ++p == pe )
2082
+ goto _test_eof85;
2083
+ case 85:
2084
+ if ( (*p) == 62 )
2085
+ goto tr146;
2086
+ goto tr145;
2087
+ tr149:
2088
+ ( state->cs) = 86;
2089
+ #line 644 "ext/ragel/base_lexer.rl"
1962
2090
  {te = p;p--;{
1963
2091
  callback(id_on_text, data, encoding, ts, te);
1964
2092
 
@@ -1972,9 +2100,9 @@ tr138:
1972
2100
  ( state->cs) = 32;
1973
2101
  }}
1974
2102
  goto _again;
1975
- tr140:
1976
- ( state->cs) = 82;
1977
- #line 605 "ext/ragel/base_lexer.rl"
2103
+ tr151:
2104
+ ( state->cs) = 86;
2105
+ #line 658 "ext/ragel/base_lexer.rl"
1978
2106
  {te = p+1;{
1979
2107
  callback(id_on_text, data, encoding, ts, mark);
1980
2108
 
@@ -1991,9 +2119,9 @@ tr140:
1991
2119
  ( state->cs) = 32;
1992
2120
  }}
1993
2121
  goto _again;
1994
- tr141:
1995
- ( state->cs) = 82;
1996
- #line 591 "ext/ragel/base_lexer.rl"
2122
+ tr152:
2123
+ ( state->cs) = 86;
2124
+ #line 644 "ext/ragel/base_lexer.rl"
1997
2125
  {te = p+1;{
1998
2126
  callback(id_on_text, data, encoding, ts, te);
1999
2127
 
@@ -2007,100 +2135,100 @@ tr141:
2007
2135
  ( state->cs) = 32;
2008
2136
  }}
2009
2137
  goto _again;
2010
- st82:
2138
+ st86:
2011
2139
  #line 1 "NONE"
2012
2140
  {ts = 0;}
2013
2141
  if ( ++p == pe )
2014
- goto _test_eof82;
2015
- case 82:
2142
+ goto _test_eof86;
2143
+ case 86:
2016
2144
  #line 1 "NONE"
2017
2145
  {ts = p;}
2018
- #line 2019 "ext/c/lexer.c"
2146
+ #line 2147 "ext/c/lexer.c"
2019
2147
  if ( (*p) == 60 )
2020
- goto tr137;
2021
- goto tr136;
2022
- tr136:
2023
- #line 58 "ext/ragel/base_lexer.rl"
2148
+ goto tr148;
2149
+ goto tr147;
2150
+ tr147:
2151
+ #line 61 "ext/ragel/base_lexer.rl"
2024
2152
  {
2025
2153
  if ( (*p) == '\n' ) lines++;
2026
2154
  }
2027
- goto st83;
2028
- st83:
2155
+ goto st87;
2156
+ st87:
2029
2157
  if ( ++p == pe )
2030
- goto _test_eof83;
2031
- case 83:
2032
- #line 2033 "ext/c/lexer.c"
2158
+ goto _test_eof87;
2159
+ case 87:
2160
+ #line 2161 "ext/c/lexer.c"
2033
2161
  if ( (*p) == 60 )
2034
- goto tr139;
2035
- goto tr136;
2036
- tr139:
2037
- #line 58 "ext/ragel/base_lexer.rl"
2162
+ goto tr150;
2163
+ goto tr147;
2164
+ tr150:
2165
+ #line 61 "ext/ragel/base_lexer.rl"
2038
2166
  {
2039
2167
  if ( (*p) == '\n' ) lines++;
2040
2168
  }
2041
- #line 605 "ext/ragel/base_lexer.rl"
2169
+ #line 658 "ext/ragel/base_lexer.rl"
2042
2170
  { mark = p; }
2043
- goto st84;
2044
- st84:
2171
+ goto st88;
2172
+ st88:
2045
2173
  if ( ++p == pe )
2046
- goto _test_eof84;
2047
- case 84:
2048
- #line 2049 "ext/c/lexer.c"
2174
+ goto _test_eof88;
2175
+ case 88:
2176
+ #line 2177 "ext/c/lexer.c"
2049
2177
  switch( (*p) ) {
2050
- case 60: goto tr139;
2051
- case 64: goto tr136;
2052
- case 96: goto tr136;
2178
+ case 60: goto tr150;
2179
+ case 64: goto tr147;
2180
+ case 96: goto tr147;
2053
2181
  }
2054
2182
  if ( (*p) < 58 ) {
2055
2183
  if ( (*p) > 32 ) {
2056
2184
  if ( 34 <= (*p) && (*p) <= 44 )
2057
- goto tr136;
2185
+ goto tr147;
2058
2186
  } else if ( (*p) >= 0 )
2059
- goto tr136;
2187
+ goto tr147;
2060
2188
  } else if ( (*p) > 62 ) {
2061
2189
  if ( (*p) > 94 ) {
2062
2190
  if ( 123 <= (*p) )
2063
- goto tr136;
2191
+ goto tr147;
2064
2192
  } else if ( (*p) >= 91 )
2065
- goto tr136;
2193
+ goto tr147;
2066
2194
  } else
2067
- goto tr136;
2068
- goto tr140;
2069
- tr137:
2070
- #line 58 "ext/ragel/base_lexer.rl"
2195
+ goto tr147;
2196
+ goto tr151;
2197
+ tr148:
2198
+ #line 61 "ext/ragel/base_lexer.rl"
2071
2199
  {
2072
2200
  if ( (*p) == '\n' ) lines++;
2073
2201
  }
2074
- #line 605 "ext/ragel/base_lexer.rl"
2202
+ #line 658 "ext/ragel/base_lexer.rl"
2075
2203
  { mark = p; }
2076
- goto st85;
2077
- st85:
2204
+ goto st89;
2205
+ st89:
2078
2206
  if ( ++p == pe )
2079
- goto _test_eof85;
2080
- case 85:
2081
- #line 2082 "ext/c/lexer.c"
2207
+ goto _test_eof89;
2208
+ case 89:
2209
+ #line 2210 "ext/c/lexer.c"
2082
2210
  switch( (*p) ) {
2083
- case 60: goto tr139;
2084
- case 64: goto tr136;
2085
- case 96: goto tr136;
2211
+ case 60: goto tr150;
2212
+ case 64: goto tr147;
2213
+ case 96: goto tr147;
2086
2214
  }
2087
2215
  if ( (*p) < 58 ) {
2088
2216
  if ( (*p) > 32 ) {
2089
2217
  if ( 34 <= (*p) && (*p) <= 44 )
2090
- goto tr136;
2218
+ goto tr147;
2091
2219
  } else if ( (*p) >= 0 )
2092
- goto tr136;
2220
+ goto tr147;
2093
2221
  } else if ( (*p) > 62 ) {
2094
2222
  if ( (*p) > 94 ) {
2095
2223
  if ( 123 <= (*p) )
2096
- goto tr136;
2224
+ goto tr147;
2097
2225
  } else if ( (*p) >= 91 )
2098
- goto tr136;
2226
+ goto tr147;
2099
2227
  } else
2100
- goto tr136;
2101
- goto tr141;
2228
+ goto tr147;
2229
+ goto tr152;
2102
2230
  tr24:
2103
- #line 579 "ext/ragel/base_lexer.rl"
2231
+ #line 632 "ext/ragel/base_lexer.rl"
2104
2232
  {{p = ((te))-1;}{
2105
2233
  callback(id_on_text, data, encoding, ts, te);
2106
2234
 
@@ -2111,18 +2239,18 @@ tr24:
2111
2239
  lines = 0;
2112
2240
  }
2113
2241
  }}
2114
- goto st86;
2242
+ goto st90;
2115
2243
  tr31:
2116
- ( state->cs) = 86;
2117
- #line 381 "ext/ragel/base_lexer.rl"
2244
+ ( state->cs) = 90;
2245
+ #line 384 "ext/ragel/base_lexer.rl"
2118
2246
  {te = p+1;{
2119
2247
  callback_simple(id_on_element_end);
2120
2248
 
2121
2249
  ( state->cs) = 32;
2122
2250
  }}
2123
2251
  goto _again;
2124
- tr144:
2125
- #line 579 "ext/ragel/base_lexer.rl"
2252
+ tr155:
2253
+ #line 632 "ext/ragel/base_lexer.rl"
2126
2254
  {te = p;p--;{
2127
2255
  callback(id_on_text, data, encoding, ts, te);
2128
2256
 
@@ -2133,51 +2261,51 @@ tr144:
2133
2261
  lines = 0;
2134
2262
  }
2135
2263
  }}
2136
- goto st86;
2137
- st86:
2264
+ goto st90;
2265
+ st90:
2138
2266
  #line 1 "NONE"
2139
2267
  {ts = 0;}
2140
2268
  if ( ++p == pe )
2141
- goto _test_eof86;
2142
- case 86:
2269
+ goto _test_eof90;
2270
+ case 90:
2143
2271
  #line 1 "NONE"
2144
2272
  {ts = p;}
2145
- #line 2146 "ext/c/lexer.c"
2273
+ #line 2274 "ext/c/lexer.c"
2146
2274
  if ( (*p) == 60 )
2147
- goto tr143;
2148
- goto tr142;
2149
- tr142:
2150
- #line 58 "ext/ragel/base_lexer.rl"
2275
+ goto tr154;
2276
+ goto tr153;
2277
+ tr153:
2278
+ #line 61 "ext/ragel/base_lexer.rl"
2151
2279
  {
2152
2280
  if ( (*p) == '\n' ) lines++;
2153
2281
  }
2154
- goto st87;
2155
- st87:
2282
+ goto st91;
2283
+ st91:
2156
2284
  if ( ++p == pe )
2157
- goto _test_eof87;
2158
- case 87:
2159
- #line 2160 "ext/c/lexer.c"
2285
+ goto _test_eof91;
2286
+ case 91:
2287
+ #line 2288 "ext/c/lexer.c"
2160
2288
  if ( (*p) == 60 )
2161
- goto tr144;
2162
- goto tr142;
2163
- tr143:
2289
+ goto tr155;
2290
+ goto tr153;
2291
+ tr154:
2164
2292
  #line 1 "NONE"
2165
2293
  {te = p+1;}
2166
- #line 58 "ext/ragel/base_lexer.rl"
2294
+ #line 61 "ext/ragel/base_lexer.rl"
2167
2295
  {
2168
2296
  if ( (*p) == '\n' ) lines++;
2169
2297
  }
2170
- goto st88;
2171
- st88:
2298
+ goto st92;
2299
+ st92:
2172
2300
  if ( ++p == pe )
2173
- goto _test_eof88;
2174
- case 88:
2175
- #line 2176 "ext/c/lexer.c"
2301
+ goto _test_eof92;
2302
+ case 92:
2303
+ #line 2304 "ext/c/lexer.c"
2176
2304
  switch( (*p) ) {
2177
2305
  case 47: goto st19;
2178
- case 60: goto tr146;
2306
+ case 60: goto tr157;
2179
2307
  }
2180
- goto tr144;
2308
+ goto tr155;
2181
2309
  st19:
2182
2310
  if ( ++p == pe )
2183
2311
  goto _test_eof19;
@@ -2227,22 +2355,22 @@ case 25:
2227
2355
  if ( (*p) == 62 )
2228
2356
  goto tr31;
2229
2357
  goto tr24;
2230
- tr146:
2231
- #line 58 "ext/ragel/base_lexer.rl"
2358
+ tr157:
2359
+ #line 61 "ext/ragel/base_lexer.rl"
2232
2360
  {
2233
2361
  if ( (*p) == '\n' ) lines++;
2234
2362
  }
2235
- goto st89;
2236
- st89:
2363
+ goto st93;
2364
+ st93:
2237
2365
  if ( ++p == pe )
2238
- goto _test_eof89;
2239
- case 89:
2240
- #line 2241 "ext/c/lexer.c"
2366
+ goto _test_eof93;
2367
+ case 93:
2368
+ #line 2369 "ext/c/lexer.c"
2241
2369
  if ( (*p) == 60 )
2242
- goto tr146;
2243
- goto tr144;
2370
+ goto tr157;
2371
+ goto tr155;
2244
2372
  tr32:
2245
- #line 579 "ext/ragel/base_lexer.rl"
2373
+ #line 632 "ext/ragel/base_lexer.rl"
2246
2374
  {{p = ((te))-1;}{
2247
2375
  callback(id_on_text, data, encoding, ts, te);
2248
2376
 
@@ -2253,18 +2381,18 @@ tr32:
2253
2381
  lines = 0;
2254
2382
  }
2255
2383
  }}
2256
- goto st90;
2384
+ goto st94;
2257
2385
  tr38:
2258
- ( state->cs) = 90;
2259
- #line 381 "ext/ragel/base_lexer.rl"
2386
+ ( state->cs) = 94;
2387
+ #line 384 "ext/ragel/base_lexer.rl"
2260
2388
  {te = p+1;{
2261
2389
  callback_simple(id_on_element_end);
2262
2390
 
2263
2391
  ( state->cs) = 32;
2264
2392
  }}
2265
2393
  goto _again;
2266
- tr149:
2267
- #line 579 "ext/ragel/base_lexer.rl"
2394
+ tr160:
2395
+ #line 632 "ext/ragel/base_lexer.rl"
2268
2396
  {te = p;p--;{
2269
2397
  callback(id_on_text, data, encoding, ts, te);
2270
2398
 
@@ -2275,51 +2403,51 @@ tr149:
2275
2403
  lines = 0;
2276
2404
  }
2277
2405
  }}
2278
- goto st90;
2279
- st90:
2406
+ goto st94;
2407
+ st94:
2280
2408
  #line 1 "NONE"
2281
2409
  {ts = 0;}
2282
2410
  if ( ++p == pe )
2283
- goto _test_eof90;
2284
- case 90:
2411
+ goto _test_eof94;
2412
+ case 94:
2285
2413
  #line 1 "NONE"
2286
2414
  {ts = p;}
2287
- #line 2288 "ext/c/lexer.c"
2415
+ #line 2416 "ext/c/lexer.c"
2288
2416
  if ( (*p) == 60 )
2289
- goto tr148;
2290
- goto tr147;
2291
- tr147:
2292
- #line 58 "ext/ragel/base_lexer.rl"
2417
+ goto tr159;
2418
+ goto tr158;
2419
+ tr158:
2420
+ #line 61 "ext/ragel/base_lexer.rl"
2293
2421
  {
2294
2422
  if ( (*p) == '\n' ) lines++;
2295
2423
  }
2296
- goto st91;
2297
- st91:
2424
+ goto st95;
2425
+ st95:
2298
2426
  if ( ++p == pe )
2299
- goto _test_eof91;
2300
- case 91:
2301
- #line 2302 "ext/c/lexer.c"
2427
+ goto _test_eof95;
2428
+ case 95:
2429
+ #line 2430 "ext/c/lexer.c"
2302
2430
  if ( (*p) == 60 )
2303
- goto tr149;
2304
- goto tr147;
2305
- tr148:
2431
+ goto tr160;
2432
+ goto tr158;
2433
+ tr159:
2306
2434
  #line 1 "NONE"
2307
2435
  {te = p+1;}
2308
- #line 58 "ext/ragel/base_lexer.rl"
2436
+ #line 61 "ext/ragel/base_lexer.rl"
2309
2437
  {
2310
2438
  if ( (*p) == '\n' ) lines++;
2311
2439
  }
2312
- goto st92;
2313
- st92:
2440
+ goto st96;
2441
+ st96:
2314
2442
  if ( ++p == pe )
2315
- goto _test_eof92;
2316
- case 92:
2317
- #line 2318 "ext/c/lexer.c"
2443
+ goto _test_eof96;
2444
+ case 96:
2445
+ #line 2446 "ext/c/lexer.c"
2318
2446
  switch( (*p) ) {
2319
2447
  case 47: goto st26;
2320
- case 60: goto tr151;
2448
+ case 60: goto tr162;
2321
2449
  }
2322
- goto tr149;
2450
+ goto tr160;
2323
2451
  st26:
2324
2452
  if ( ++p == pe )
2325
2453
  goto _test_eof26;
@@ -2362,20 +2490,20 @@ case 31:
2362
2490
  if ( (*p) == 62 )
2363
2491
  goto tr38;
2364
2492
  goto tr32;
2365
- tr151:
2366
- #line 58 "ext/ragel/base_lexer.rl"
2493
+ tr162:
2494
+ #line 61 "ext/ragel/base_lexer.rl"
2367
2495
  {
2368
2496
  if ( (*p) == '\n' ) lines++;
2369
2497
  }
2370
- goto st93;
2371
- st93:
2498
+ goto st97;
2499
+ st97:
2372
2500
  if ( ++p == pe )
2373
- goto _test_eof93;
2374
- case 93:
2375
- #line 2376 "ext/c/lexer.c"
2501
+ goto _test_eof97;
2502
+ case 97:
2503
+ #line 2504 "ext/c/lexer.c"
2376
2504
  if ( (*p) == 60 )
2377
- goto tr151;
2378
- goto tr149;
2505
+ goto tr162;
2506
+ goto tr160;
2379
2507
  }
2380
2508
  _test_eof32: ( state->cs) = 32; goto _test_eof;
2381
2509
  _test_eof33: ( state->cs) = 33; goto _test_eof;
@@ -2452,6 +2580,10 @@ case 93:
2452
2580
  _test_eof86: ( state->cs) = 86; goto _test_eof;
2453
2581
  _test_eof87: ( state->cs) = 87; goto _test_eof;
2454
2582
  _test_eof88: ( state->cs) = 88; goto _test_eof;
2583
+ _test_eof89: ( state->cs) = 89; goto _test_eof;
2584
+ _test_eof90: ( state->cs) = 90; goto _test_eof;
2585
+ _test_eof91: ( state->cs) = 91; goto _test_eof;
2586
+ _test_eof92: ( state->cs) = 92; goto _test_eof;
2455
2587
  _test_eof19: ( state->cs) = 19; goto _test_eof;
2456
2588
  _test_eof20: ( state->cs) = 20; goto _test_eof;
2457
2589
  _test_eof21: ( state->cs) = 21; goto _test_eof;
@@ -2459,17 +2591,17 @@ case 93:
2459
2591
  _test_eof23: ( state->cs) = 23; goto _test_eof;
2460
2592
  _test_eof24: ( state->cs) = 24; goto _test_eof;
2461
2593
  _test_eof25: ( state->cs) = 25; goto _test_eof;
2462
- _test_eof89: ( state->cs) = 89; goto _test_eof;
2463
- _test_eof90: ( state->cs) = 90; goto _test_eof;
2464
- _test_eof91: ( state->cs) = 91; goto _test_eof;
2465
- _test_eof92: ( state->cs) = 92; goto _test_eof;
2594
+ _test_eof93: ( state->cs) = 93; goto _test_eof;
2595
+ _test_eof94: ( state->cs) = 94; goto _test_eof;
2596
+ _test_eof95: ( state->cs) = 95; goto _test_eof;
2597
+ _test_eof96: ( state->cs) = 96; goto _test_eof;
2466
2598
  _test_eof26: ( state->cs) = 26; goto _test_eof;
2467
2599
  _test_eof27: ( state->cs) = 27; goto _test_eof;
2468
2600
  _test_eof28: ( state->cs) = 28; goto _test_eof;
2469
2601
  _test_eof29: ( state->cs) = 29; goto _test_eof;
2470
2602
  _test_eof30: ( state->cs) = 30; goto _test_eof;
2471
2603
  _test_eof31: ( state->cs) = 31; goto _test_eof;
2472
- _test_eof93: ( state->cs) = 93; goto _test_eof;
2604
+ _test_eof97: ( state->cs) = 97; goto _test_eof;
2473
2605
 
2474
2606
  _test_eof: {}
2475
2607
  if ( p == eof )
@@ -2528,11 +2660,14 @@ case 93:
2528
2660
  case 79: goto tr131;
2529
2661
  case 80: goto tr133;
2530
2662
  case 81: goto tr134;
2531
- case 83: goto tr138;
2532
- case 84: goto tr138;
2533
- case 85: goto tr138;
2534
- case 87: goto tr144;
2535
- case 88: goto tr144;
2663
+ case 83: goto tr143;
2664
+ case 84: goto tr144;
2665
+ case 85: goto tr145;
2666
+ case 87: goto tr149;
2667
+ case 88: goto tr149;
2668
+ case 89: goto tr149;
2669
+ case 91: goto tr155;
2670
+ case 92: goto tr155;
2536
2671
  case 19: goto tr24;
2537
2672
  case 20: goto tr24;
2538
2673
  case 21: goto tr24;
@@ -2540,16 +2675,16 @@ case 93:
2540
2675
  case 23: goto tr24;
2541
2676
  case 24: goto tr24;
2542
2677
  case 25: goto tr24;
2543
- case 89: goto tr144;
2544
- case 91: goto tr149;
2545
- case 92: goto tr149;
2678
+ case 93: goto tr155;
2679
+ case 95: goto tr160;
2680
+ case 96: goto tr160;
2546
2681
  case 26: goto tr32;
2547
2682
  case 27: goto tr32;
2548
2683
  case 28: goto tr32;
2549
2684
  case 29: goto tr32;
2550
2685
  case 30: goto tr32;
2551
2686
  case 31: goto tr32;
2552
- case 93: goto tr149;
2687
+ case 97: goto tr160;
2553
2688
  }
2554
2689
  }
2555
2690