hpricot 0.8.1-x86-mswin32 → 0.8.2-x86-mswin32

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,155 @@
1
+ import java.io.IOException;
2
+
3
+ import org.jruby.Ruby;
4
+ import org.jruby.RubyArray;
5
+ import org.jruby.RubyClass;
6
+ import org.jruby.RubyHash;
7
+ import org.jruby.RubyModule;
8
+ import org.jruby.RubyNumeric;
9
+ import org.jruby.RubyObject;
10
+ import org.jruby.RubyObjectAdapter;
11
+ import org.jruby.RubyRegexp;
12
+ import org.jruby.RubyString;
13
+ import org.jruby.anno.JRubyMethod;
14
+ import org.jruby.exceptions.RaiseException;
15
+ import org.jruby.javasupport.JavaEmbedUtils;
16
+ import org.jruby.runtime.Arity;
17
+ import org.jruby.runtime.Block;
18
+ import org.jruby.runtime.ObjectAllocator;
19
+ import org.jruby.runtime.ThreadContext;
20
+ import org.jruby.runtime.builtin.IRubyObject;
21
+ import org.jruby.runtime.callback.Callback;
22
+ import org.jruby.exceptions.RaiseException;
23
+ import org.jruby.runtime.load.BasicLibraryService;
24
+ import org.jruby.util.ByteList;
25
+
26
+ public class HpricotCss {
27
+ public void FILTER(String id) {
28
+ IRubyObject[] args = new IRubyObject[fargs];
29
+ System.arraycopy(fvals, 0, args, 0, fargs);
30
+ mod.callMethod(ctx, id, args);
31
+ tmpt.rb_clear();
32
+ fargs = 1;
33
+ }
34
+
35
+ public void FILTERAUTO() {
36
+ try {
37
+ FILTER(new String(data, ts, te - ts, "ISO-8859-1"));
38
+ } catch(java.io.UnsupportedEncodingException e) {}
39
+ }
40
+
41
+ public void PUSH(int aps, int ape) {
42
+ RubyString str = RubyString.newString(runtime, data, aps, ape-aps);
43
+ fvals[fargs++] = str;
44
+ tmpt.append(str);
45
+ }
46
+
47
+ private IRubyObject self, mod, str, node;
48
+ private int cs, act, eof, p, pe, ts, te, aps, ape, aps2, ape2;
49
+ private byte[] data;
50
+
51
+ private int fargs = 1;
52
+ private IRubyObject[] fvals = new IRubyObject[6];
53
+ private RubyArray focus;
54
+ private RubyArray tmpt;
55
+ private Ruby runtime;
56
+ private ThreadContext ctx;
57
+
58
+ public HpricotCss(IRubyObject self, IRubyObject mod, IRubyObject str, IRubyObject node) {
59
+ this.self = self;
60
+ this.mod = mod;
61
+ this.str = str;
62
+ this.node = node;
63
+ this.runtime = self.getRuntime();
64
+ this.ctx = runtime.getCurrentContext();
65
+ this.focus = RubyArray.newArray(runtime, node);
66
+ this.tmpt = runtime.newArray();
67
+
68
+ fvals[0] = focus;
69
+
70
+ if(!(str instanceof RubyString)) {
71
+ throw runtime.newArgumentError("bad CSS selector, String only please.");
72
+ }
73
+
74
+ ByteList bl = ((RubyString)str).getByteList();
75
+
76
+ data = bl.bytes;
77
+ p = bl.begin;
78
+ pe = p + bl.realSize;
79
+ eof = pe;
80
+ }
81
+
82
+ %%{
83
+ machine hpricot_css;
84
+
85
+ action a {
86
+ aps = p;
87
+ }
88
+
89
+ action b {
90
+ ape = p;
91
+ PUSH(aps, ape);
92
+ }
93
+
94
+ action c {
95
+ ape = p;
96
+ aps2 = p;
97
+ }
98
+
99
+ action d {
100
+ ape2 = p;
101
+ PUSH(aps, ape);
102
+ PUSH(aps2, ape2);
103
+ }
104
+
105
+ commas = space* "," space*;
106
+ traverse = [>+~];
107
+ sdot = "\\.";
108
+ utfw = alnum | "_" | "-" |
109
+ (0xc4 0xa8..0xbf) | (0xc5..0xdf 0x80..0xbf) |
110
+ (0xe0..0xef 0x80..0xbf 0x80..0xbf) |
111
+ (0xf0..0xf4 0x80..0xbf 0x80..0xbf 0x80..0xbf);
112
+ utfword = utfw+;
113
+ utfname = (utfw | sdot)+;
114
+ quote1 = "'" [^']* "'";
115
+ quote2 = '"' [^"]* '"';
116
+
117
+ cssid = "#" %a utfname %b;
118
+ cssclass = "." %a utfname %b;
119
+ cssname = "[name=" %a utfname %b "]";
120
+ cssattr = "[" %a utfname %c space* [^ \n\t]? "=" %d space* (quote1 | quote2 | [^\]]+) "]";
121
+ csstag = utfname >a %b;
122
+ cssmod = ("even" | "odd" | (digit | "n" | "+" | "-")* );
123
+ csschild = ":" %a ("only" | "nth" | "last" | "first") "-child" %b ("(" %a cssmod %b ")")?;
124
+ csspos = ":" %a ("nth" | "eq" | "gt" | "lt" | "first" | "last" | "even" | "odd") %b ("(" %a digit+ %b ")")?;
125
+ pseudop = "(" [^)]+ ")";
126
+ pseudoq = "'" (pseudop+ | [^'()]*) "'" |
127
+ '"' (pseudop+ | [^"()]*) '"' |
128
+ (pseudop+ | [^"()]*);
129
+ pseudo = ":" %a utfname %b ("(" %a pseudoq %b ")")?;
130
+
131
+ main := |*
132
+ cssid => { FILTER("ID"); };
133
+ cssclass => { FILTER("CLASS"); };
134
+ cssname => { FILTER("NAME"); };
135
+ cssattr => { FILTER("ATTR"); };
136
+ csstag => { FILTER("TAG"); };
137
+ cssmod => { FILTER("MOD"); };
138
+ csschild => { FILTER("CHILD"); };
139
+ csspos => { FILTER("POS"); };
140
+ pseudo => { FILTER("PSUEDO"); };
141
+ commas => { focus = RubyArray.newArray(runtime, node); };
142
+ traverse => { FILTERAUTO(); };
143
+ space;
144
+ *|;
145
+
146
+ write data nofinal;
147
+ }%%
148
+
149
+ public IRubyObject scan() {
150
+ %% write init;
151
+ %% write exec;
152
+
153
+ return focus;
154
+ }
155
+ }
@@ -93,7 +93,7 @@ static VALUE reProcInsParse;
93
93
 
94
94
  #define EBLK(N, T) CAT(tag, p - T + 1); ELE(N);
95
95
 
96
- #line 140 "hpricot_scan.rl"
96
+ #line 142 "hpricot_scan.rl"
97
97
 
98
98
 
99
99
 
@@ -106,7 +106,7 @@ static const int hpricot_scan_en_html_cdata = 216;
106
106
  static const int hpricot_scan_en_html_procins = 218;
107
107
  static const int hpricot_scan_en_main = 204;
108
108
 
109
- #line 143 "hpricot_scan.rl"
109
+ #line 145 "hpricot_scan.rl"
110
110
 
111
111
  #define BUFSIZE 16384
112
112
 
@@ -451,7 +451,7 @@ VALUE hpricot_scan(int argc, VALUE *argv, VALUE self)
451
451
  te = 0;
452
452
  act = 0;
453
453
  }
454
- #line 480 "hpricot_scan.rl"
454
+ #line 482 "hpricot_scan.rl"
455
455
 
456
456
  while (!done) {
457
457
  VALUE str;
@@ -543,6 +543,7 @@ tr39:
543
543
  case 15:
544
544
  {{p = ((te))-1;} TEXT_PASS(); }
545
545
  break;
546
+ default: break;
546
547
  }
547
548
  }
548
549
  goto st204;
@@ -575,6 +576,8 @@ tr112:
575
576
  { SET(akey, p); }
576
577
  #line 134 "hpricot_scan.rl"
577
578
  {
579
+ if (!S->xml)
580
+ akey = rb_funcall(akey, s_downcase, 0);
578
581
  ATTR(akey, aval);
579
582
  }
580
583
  #line 68 "hpricot_scan.rl"
@@ -583,6 +586,8 @@ tr112:
583
586
  tr117:
584
587
  #line 134 "hpricot_scan.rl"
585
588
  {
589
+ if (!S->xml)
590
+ akey = rb_funcall(akey, s_downcase, 0);
586
591
  ATTR(akey, aval);
587
592
  }
588
593
  #line 68 "hpricot_scan.rl"
@@ -600,6 +605,8 @@ tr129:
600
605
  }
601
606
  #line 134 "hpricot_scan.rl"
602
607
  {
608
+ if (!S->xml)
609
+ akey = rb_funcall(akey, s_downcase, 0);
603
610
  ATTR(akey, aval);
604
611
  }
605
612
  #line 68 "hpricot_scan.rl"
@@ -608,6 +615,8 @@ tr129:
608
615
  tr133:
609
616
  #line 134 "hpricot_scan.rl"
610
617
  {
618
+ if (!S->xml)
619
+ akey = rb_funcall(akey, s_downcase, 0);
611
620
  ATTR(akey, aval);
612
621
  }
613
622
  #line 116 "hpricot_scan.rl"
@@ -628,6 +637,8 @@ tr139:
628
637
  { SET(akey, p); }
629
638
  #line 134 "hpricot_scan.rl"
630
639
  {
640
+ if (!S->xml)
641
+ akey = rb_funcall(akey, s_downcase, 0);
631
642
  ATTR(akey, aval);
632
643
  }
633
644
  #line 68 "hpricot_scan.rl"
@@ -671,7 +682,7 @@ st204:
671
682
  case 204:
672
683
  #line 1 "hpricot_scan.rl"
673
684
  {ts = p;}
674
- #line 675 "hpricot_scan.c"
685
+ #line 686 "hpricot_scan.c"
675
686
  switch( (*p) ) {
676
687
  case 10: goto tr412;
677
688
  case 60: goto tr413;
@@ -699,7 +710,7 @@ st205:
699
710
  if ( ++p == pe )
700
711
  goto _test_eof205;
701
712
  case 205:
702
- #line 703 "hpricot_scan.c"
713
+ #line 714 "hpricot_scan.c"
703
714
  switch( (*p) ) {
704
715
  case 33: goto st0;
705
716
  case 47: goto st59;
@@ -807,7 +818,7 @@ st10:
807
818
  if ( ++p == pe )
808
819
  goto _test_eof10;
809
820
  case 10:
810
- #line 811 "hpricot_scan.c"
821
+ #line 822 "hpricot_scan.c"
811
822
  switch( (*p) ) {
812
823
  case 32: goto tr13;
813
824
  case 62: goto tr15;
@@ -838,7 +849,7 @@ st11:
838
849
  if ( ++p == pe )
839
850
  goto _test_eof11;
840
851
  case 11:
841
- #line 842 "hpricot_scan.c"
852
+ #line 853 "hpricot_scan.c"
842
853
  switch( (*p) ) {
843
854
  case 32: goto st11;
844
855
  case 62: goto tr18;
@@ -935,7 +946,7 @@ st20:
935
946
  if ( ++p == pe )
936
947
  goto _test_eof20;
937
948
  case 20:
938
- #line 939 "hpricot_scan.c"
949
+ #line 950 "hpricot_scan.c"
939
950
  switch( (*p) ) {
940
951
  case 9: goto st20;
941
952
  case 34: goto tr33;
@@ -968,7 +979,7 @@ st21:
968
979
  if ( ++p == pe )
969
980
  goto _test_eof21;
970
981
  case 21:
971
- #line 972 "hpricot_scan.c"
982
+ #line 983 "hpricot_scan.c"
972
983
  switch( (*p) ) {
973
984
  case 32: goto st22;
974
985
  case 62: goto tr18;
@@ -1006,7 +1017,7 @@ st24:
1006
1017
  if ( ++p == pe )
1007
1018
  goto _test_eof24;
1008
1019
  case 24:
1009
- #line 1010 "hpricot_scan.c"
1020
+ #line 1021 "hpricot_scan.c"
1010
1021
  if ( (*p) == 34 )
1011
1022
  goto tr41;
1012
1023
  goto st24;
@@ -1024,7 +1035,7 @@ st25:
1024
1035
  if ( ++p == pe )
1025
1036
  goto _test_eof25;
1026
1037
  case 25:
1027
- #line 1028 "hpricot_scan.c"
1038
+ #line 1039 "hpricot_scan.c"
1028
1039
  switch( (*p) ) {
1029
1040
  case 32: goto st25;
1030
1041
  case 62: goto tr18;
@@ -1041,7 +1052,7 @@ st26:
1041
1052
  if ( ++p == pe )
1042
1053
  goto _test_eof26;
1043
1054
  case 26:
1044
- #line 1045 "hpricot_scan.c"
1055
+ #line 1056 "hpricot_scan.c"
1045
1056
  if ( (*p) == 93 )
1046
1057
  goto st27;
1047
1058
  goto st26;
@@ -1071,7 +1082,7 @@ st29:
1071
1082
  if ( ++p == pe )
1072
1083
  goto _test_eof29;
1073
1084
  case 29:
1074
- #line 1075 "hpricot_scan.c"
1085
+ #line 1086 "hpricot_scan.c"
1075
1086
  if ( (*p) == 39 )
1076
1087
  goto tr41;
1077
1088
  goto st29;
@@ -1108,7 +1119,7 @@ st31:
1108
1119
  if ( ++p == pe )
1109
1120
  goto _test_eof31;
1110
1121
  case 31:
1111
- #line 1112 "hpricot_scan.c"
1122
+ #line 1123 "hpricot_scan.c"
1112
1123
  switch( (*p) ) {
1113
1124
  case 9: goto st31;
1114
1125
  case 39: goto tr49;
@@ -1158,7 +1169,7 @@ st32:
1158
1169
  if ( ++p == pe )
1159
1170
  goto _test_eof32;
1160
1171
  case 32:
1161
- #line 1162 "hpricot_scan.c"
1172
+ #line 1173 "hpricot_scan.c"
1162
1173
  switch( (*p) ) {
1163
1174
  case 9: goto st33;
1164
1175
  case 32: goto st33;
@@ -1225,7 +1236,7 @@ st34:
1225
1236
  if ( ++p == pe )
1226
1237
  goto _test_eof34;
1227
1238
  case 34:
1228
- #line 1229 "hpricot_scan.c"
1239
+ #line 1240 "hpricot_scan.c"
1229
1240
  switch( (*p) ) {
1230
1241
  case 9: goto tr52;
1231
1242
  case 32: goto tr52;
@@ -1258,7 +1269,7 @@ st35:
1258
1269
  if ( ++p == pe )
1259
1270
  goto _test_eof35;
1260
1271
  case 35:
1261
- #line 1262 "hpricot_scan.c"
1272
+ #line 1273 "hpricot_scan.c"
1262
1273
  switch( (*p) ) {
1263
1274
  case 9: goto st35;
1264
1275
  case 32: goto st35;
@@ -1291,7 +1302,7 @@ st36:
1291
1302
  if ( ++p == pe )
1292
1303
  goto _test_eof36;
1293
1304
  case 36:
1294
- #line 1295 "hpricot_scan.c"
1305
+ #line 1306 "hpricot_scan.c"
1295
1306
  switch( (*p) ) {
1296
1307
  case 32: goto st36;
1297
1308
  case 34: goto st37;
@@ -1319,7 +1330,7 @@ st38:
1319
1330
  if ( ++p == pe )
1320
1331
  goto _test_eof38;
1321
1332
  case 38:
1322
- #line 1323 "hpricot_scan.c"
1333
+ #line 1334 "hpricot_scan.c"
1323
1334
  switch( (*p) ) {
1324
1335
  case 34: goto tr70;
1325
1336
  case 39: goto tr71;
@@ -1343,7 +1354,7 @@ st39:
1343
1354
  if ( ++p == pe )
1344
1355
  goto _test_eof39;
1345
1356
  case 39:
1346
- #line 1347 "hpricot_scan.c"
1357
+ #line 1358 "hpricot_scan.c"
1347
1358
  switch( (*p) ) {
1348
1359
  case 32: goto st39;
1349
1360
  case 39: goto tr41;
@@ -1371,7 +1382,7 @@ st206:
1371
1382
  if ( ++p == pe )
1372
1383
  goto _test_eof206;
1373
1384
  case 206:
1374
- #line 1375 "hpricot_scan.c"
1385
+ #line 1386 "hpricot_scan.c"
1375
1386
  if ( (*p) == 39 )
1376
1387
  goto tr41;
1377
1388
  goto st29;
@@ -1383,7 +1394,7 @@ st40:
1383
1394
  if ( ++p == pe )
1384
1395
  goto _test_eof40;
1385
1396
  case 40:
1386
- #line 1387 "hpricot_scan.c"
1397
+ #line 1398 "hpricot_scan.c"
1387
1398
  switch( (*p) ) {
1388
1399
  case 39: goto tr73;
1389
1400
  case 93: goto st42;
@@ -1397,7 +1408,7 @@ st41:
1397
1408
  if ( ++p == pe )
1398
1409
  goto _test_eof41;
1399
1410
  case 41:
1400
- #line 1401 "hpricot_scan.c"
1411
+ #line 1412 "hpricot_scan.c"
1401
1412
  switch( (*p) ) {
1402
1413
  case 32: goto st41;
1403
1414
  case 62: goto tr76;
@@ -1416,7 +1427,7 @@ st207:
1416
1427
  if ( ++p == pe )
1417
1428
  goto _test_eof207;
1418
1429
  case 207:
1419
- #line 1420 "hpricot_scan.c"
1430
+ #line 1431 "hpricot_scan.c"
1420
1431
  if ( (*p) == 93 )
1421
1432
  goto st27;
1422
1433
  goto st26;
@@ -1446,7 +1457,7 @@ st43:
1446
1457
  if ( ++p == pe )
1447
1458
  goto _test_eof43;
1448
1459
  case 43:
1449
- #line 1450 "hpricot_scan.c"
1460
+ #line 1461 "hpricot_scan.c"
1450
1461
  switch( (*p) ) {
1451
1462
  case 32: goto st43;
1452
1463
  case 34: goto tr41;
@@ -1466,7 +1477,7 @@ st208:
1466
1477
  if ( ++p == pe )
1467
1478
  goto _test_eof208;
1468
1479
  case 208:
1469
- #line 1470 "hpricot_scan.c"
1480
+ #line 1481 "hpricot_scan.c"
1470
1481
  if ( (*p) == 34 )
1471
1482
  goto tr41;
1472
1483
  goto st24;
@@ -1499,7 +1510,7 @@ st46:
1499
1510
  if ( ++p == pe )
1500
1511
  goto _test_eof46;
1501
1512
  case 46:
1502
- #line 1503 "hpricot_scan.c"
1513
+ #line 1514 "hpricot_scan.c"
1503
1514
  switch( (*p) ) {
1504
1515
  case 32: goto tr81;
1505
1516
  case 39: goto tr38;
@@ -1517,7 +1528,7 @@ st47:
1517
1528
  if ( ++p == pe )
1518
1529
  goto _test_eof47;
1519
1530
  case 47:
1520
- #line 1521 "hpricot_scan.c"
1531
+ #line 1532 "hpricot_scan.c"
1521
1532
  switch( (*p) ) {
1522
1533
  case 9: goto st47;
1523
1534
  case 39: goto tr82;
@@ -1638,7 +1649,7 @@ st60:
1638
1649
  if ( ++p == pe )
1639
1650
  goto _test_eof60;
1640
1651
  case 60:
1641
- #line 1642 "hpricot_scan.c"
1652
+ #line 1653 "hpricot_scan.c"
1642
1653
  switch( (*p) ) {
1643
1654
  case 32: goto tr95;
1644
1655
  case 62: goto tr97;
@@ -1668,7 +1679,7 @@ st61:
1668
1679
  if ( ++p == pe )
1669
1680
  goto _test_eof61;
1670
1681
  case 61:
1671
- #line 1672 "hpricot_scan.c"
1682
+ #line 1683 "hpricot_scan.c"
1672
1683
  switch( (*p) ) {
1673
1684
  case 32: goto st61;
1674
1685
  case 62: goto tr99;
@@ -1684,7 +1695,7 @@ st62:
1684
1695
  if ( ++p == pe )
1685
1696
  goto _test_eof62;
1686
1697
  case 62:
1687
- #line 1688 "hpricot_scan.c"
1698
+ #line 1699 "hpricot_scan.c"
1688
1699
  switch( (*p) ) {
1689
1700
  case 32: goto tr100;
1690
1701
  case 47: goto tr102;
@@ -1712,7 +1723,7 @@ st63:
1712
1723
  if ( ++p == pe )
1713
1724
  goto _test_eof63;
1714
1725
  case 63:
1715
- #line 1716 "hpricot_scan.c"
1726
+ #line 1727 "hpricot_scan.c"
1716
1727
  switch( (*p) ) {
1717
1728
  case 32: goto st63;
1718
1729
  case 47: goto st66;
@@ -1746,6 +1757,8 @@ tr105:
1746
1757
  tr114:
1747
1758
  #line 134 "hpricot_scan.rl"
1748
1759
  {
1760
+ if (!S->xml)
1761
+ akey = rb_funcall(akey, s_downcase, 0);
1749
1762
  ATTR(akey, aval);
1750
1763
  }
1751
1764
  #line 127 "hpricot_scan.rl"
@@ -1762,7 +1775,7 @@ st64:
1762
1775
  if ( ++p == pe )
1763
1776
  goto _test_eof64;
1764
1777
  case 64:
1765
- #line 1766 "hpricot_scan.c"
1778
+ #line 1779 "hpricot_scan.c"
1766
1779
  switch( (*p) ) {
1767
1780
  case 32: goto tr108;
1768
1781
  case 47: goto tr110;
@@ -1807,7 +1820,7 @@ st65:
1807
1820
  if ( ++p == pe )
1808
1821
  goto _test_eof65;
1809
1822
  case 65:
1810
- #line 1811 "hpricot_scan.c"
1823
+ #line 1824 "hpricot_scan.c"
1811
1824
  switch( (*p) ) {
1812
1825
  case 32: goto st65;
1813
1826
  case 47: goto tr115;
@@ -1837,12 +1850,16 @@ tr110:
1837
1850
  { SET(akey, p); }
1838
1851
  #line 134 "hpricot_scan.rl"
1839
1852
  {
1853
+ if (!S->xml)
1854
+ akey = rb_funcall(akey, s_downcase, 0);
1840
1855
  ATTR(akey, aval);
1841
1856
  }
1842
1857
  goto st66;
1843
1858
  tr115:
1844
1859
  #line 134 "hpricot_scan.rl"
1845
1860
  {
1861
+ if (!S->xml)
1862
+ akey = rb_funcall(akey, s_downcase, 0);
1846
1863
  ATTR(akey, aval);
1847
1864
  }
1848
1865
  goto st66;
@@ -1850,7 +1867,7 @@ st66:
1850
1867
  if ( ++p == pe )
1851
1868
  goto _test_eof66;
1852
1869
  case 66:
1853
- #line 1854 "hpricot_scan.c"
1870
+ #line 1871 "hpricot_scan.c"
1854
1871
  if ( (*p) == 62 )
1855
1872
  goto tr118;
1856
1873
  goto tr39;
@@ -1862,7 +1879,7 @@ st67:
1862
1879
  if ( ++p == pe )
1863
1880
  goto _test_eof67;
1864
1881
  case 67:
1865
- #line 1866 "hpricot_scan.c"
1882
+ #line 1883 "hpricot_scan.c"
1866
1883
  switch( (*p) ) {
1867
1884
  case 13: goto tr120;
1868
1885
  case 32: goto tr120;
@@ -1886,7 +1903,7 @@ st68:
1886
1903
  if ( ++p == pe )
1887
1904
  goto _test_eof68;
1888
1905
  case 68:
1889
- #line 1890 "hpricot_scan.c"
1906
+ #line 1907 "hpricot_scan.c"
1890
1907
  switch( (*p) ) {
1891
1908
  case 13: goto tr126;
1892
1909
  case 32: goto tr126;
@@ -1921,7 +1938,7 @@ st69:
1921
1938
  if ( ++p == pe )
1922
1939
  goto _test_eof69;
1923
1940
  case 69:
1924
- #line 1925 "hpricot_scan.c"
1941
+ #line 1942 "hpricot_scan.c"
1925
1942
  switch( (*p) ) {
1926
1943
  case 32: goto st69;
1927
1944
  case 47: goto tr115;
@@ -1962,7 +1979,7 @@ st70:
1962
1979
  if ( ++p == pe )
1963
1980
  goto _test_eof70;
1964
1981
  case 70:
1965
- #line 1966 "hpricot_scan.c"
1982
+ #line 1983 "hpricot_scan.c"
1966
1983
  switch( (*p) ) {
1967
1984
  case 13: goto tr126;
1968
1985
  case 32: goto tr126;
@@ -1990,6 +2007,8 @@ case 70:
1990
2007
  tr131:
1991
2008
  #line 134 "hpricot_scan.rl"
1992
2009
  {
2010
+ if (!S->xml)
2011
+ akey = rb_funcall(akey, s_downcase, 0);
1993
2012
  ATTR(akey, aval);
1994
2013
  }
1995
2014
  #line 127 "hpricot_scan.rl"
@@ -2007,6 +2026,8 @@ tr150:
2007
2026
  { mark_aval = p; }
2008
2027
  #line 134 "hpricot_scan.rl"
2009
2028
  {
2029
+ if (!S->xml)
2030
+ akey = rb_funcall(akey, s_downcase, 0);
2010
2031
  ATTR(akey, aval);
2011
2032
  }
2012
2033
  #line 127 "hpricot_scan.rl"
@@ -2023,7 +2044,7 @@ st71:
2023
2044
  if ( ++p == pe )
2024
2045
  goto _test_eof71;
2025
2046
  case 71:
2026
- #line 2027 "hpricot_scan.c"
2047
+ #line 2048 "hpricot_scan.c"
2027
2048
  switch( (*p) ) {
2028
2049
  case 13: goto tr134;
2029
2050
  case 32: goto tr134;
@@ -2069,7 +2090,7 @@ st72:
2069
2090
  if ( ++p == pe )
2070
2091
  goto _test_eof72;
2071
2092
  case 72:
2072
- #line 2073 "hpricot_scan.c"
2093
+ #line 2094 "hpricot_scan.c"
2073
2094
  switch( (*p) ) {
2074
2095
  case 13: goto tr140;
2075
2096
  case 32: goto tr140;
@@ -2100,6 +2121,8 @@ tr124:
2100
2121
  { mark_aval = p; }
2101
2122
  #line 134 "hpricot_scan.rl"
2102
2123
  {
2124
+ if (!S->xml)
2125
+ akey = rb_funcall(akey, s_downcase, 0);
2103
2126
  ATTR(akey, aval);
2104
2127
  }
2105
2128
  goto st73;
@@ -2111,12 +2134,16 @@ tr128:
2111
2134
  }
2112
2135
  #line 134 "hpricot_scan.rl"
2113
2136
  {
2137
+ if (!S->xml)
2138
+ akey = rb_funcall(akey, s_downcase, 0);
2114
2139
  ATTR(akey, aval);
2115
2140
  }
2116
2141
  goto st73;
2117
2142
  tr132:
2118
2143
  #line 134 "hpricot_scan.rl"
2119
2144
  {
2145
+ if (!S->xml)
2146
+ akey = rb_funcall(akey, s_downcase, 0);
2120
2147
  ATTR(akey, aval);
2121
2148
  }
2122
2149
  #line 116 "hpricot_scan.rl"
@@ -2135,6 +2162,8 @@ tr137:
2135
2162
  { SET(akey, p); }
2136
2163
  #line 134 "hpricot_scan.rl"
2137
2164
  {
2165
+ if (!S->xml)
2166
+ akey = rb_funcall(akey, s_downcase, 0);
2138
2167
  ATTR(akey, aval);
2139
2168
  }
2140
2169
  goto st73;
@@ -2148,6 +2177,8 @@ tr147:
2148
2177
  }
2149
2178
  #line 134 "hpricot_scan.rl"
2150
2179
  {
2180
+ if (!S->xml)
2181
+ akey = rb_funcall(akey, s_downcase, 0);
2151
2182
  ATTR(akey, aval);
2152
2183
  }
2153
2184
  goto st73;
@@ -2156,6 +2187,8 @@ tr151:
2156
2187
  { mark_aval = p; }
2157
2188
  #line 134 "hpricot_scan.rl"
2158
2189
  {
2190
+ if (!S->xml)
2191
+ akey = rb_funcall(akey, s_downcase, 0);
2159
2192
  ATTR(akey, aval);
2160
2193
  }
2161
2194
  #line 116 "hpricot_scan.rl"
@@ -2168,7 +2201,7 @@ st73:
2168
2201
  if ( ++p == pe )
2169
2202
  goto _test_eof73;
2170
2203
  case 73:
2171
- #line 2172 "hpricot_scan.c"
2204
+ #line 2205 "hpricot_scan.c"
2172
2205
  switch( (*p) ) {
2173
2206
  case 13: goto tr126;
2174
2207
  case 32: goto tr126;
@@ -2194,7 +2227,7 @@ st74:
2194
2227
  if ( ++p == pe )
2195
2228
  goto _test_eof74;
2196
2229
  case 74:
2197
- #line 2198 "hpricot_scan.c"
2230
+ #line 2231 "hpricot_scan.c"
2198
2231
  switch( (*p) ) {
2199
2232
  case 13: goto tr143;
2200
2233
  case 32: goto tr143;
@@ -2227,7 +2260,7 @@ st75:
2227
2260
  if ( ++p == pe )
2228
2261
  goto _test_eof75;
2229
2262
  case 75:
2230
- #line 2231 "hpricot_scan.c"
2263
+ #line 2264 "hpricot_scan.c"
2231
2264
  switch( (*p) ) {
2232
2265
  case 13: goto tr148;
2233
2266
  case 32: goto tr148;
@@ -2271,7 +2304,7 @@ st76:
2271
2304
  if ( ++p == pe )
2272
2305
  goto _test_eof76;
2273
2306
  case 76:
2274
- #line 2275 "hpricot_scan.c"
2307
+ #line 2308 "hpricot_scan.c"
2275
2308
  switch( (*p) ) {
2276
2309
  case 13: goto tr143;
2277
2310
  case 32: goto tr143;
@@ -2325,7 +2358,7 @@ st78:
2325
2358
  if ( ++p == pe )
2326
2359
  goto _test_eof78;
2327
2360
  case 78:
2328
- #line 2329 "hpricot_scan.c"
2361
+ #line 2362 "hpricot_scan.c"
2329
2362
  switch( (*p) ) {
2330
2363
  case 13: goto tr161;
2331
2364
  case 32: goto tr161;
@@ -2375,7 +2408,7 @@ st79:
2375
2408
  if ( ++p == pe )
2376
2409
  goto _test_eof79;
2377
2410
  case 79:
2378
- #line 2379 "hpricot_scan.c"
2411
+ #line 2412 "hpricot_scan.c"
2379
2412
  switch( (*p) ) {
2380
2413
  case 32: goto st79;
2381
2414
  case 34: goto tr169;
@@ -2405,7 +2438,7 @@ st80:
2405
2438
  if ( ++p == pe )
2406
2439
  goto _test_eof80;
2407
2440
  case 80:
2408
- #line 2409 "hpricot_scan.c"
2441
+ #line 2442 "hpricot_scan.c"
2409
2442
  switch( (*p) ) {
2410
2443
  case 34: goto tr169;
2411
2444
  case 92: goto st81;
@@ -2419,7 +2452,7 @@ st81:
2419
2452
  if ( ++p == pe )
2420
2453
  goto _test_eof81;
2421
2454
  case 81:
2422
- #line 2423 "hpricot_scan.c"
2455
+ #line 2456 "hpricot_scan.c"
2423
2456
  switch( (*p) ) {
2424
2457
  case 34: goto tr174;
2425
2458
  case 92: goto st81;
@@ -2428,6 +2461,8 @@ case 81:
2428
2461
  tr170:
2429
2462
  #line 134 "hpricot_scan.rl"
2430
2463
  {
2464
+ if (!S->xml)
2465
+ akey = rb_funcall(akey, s_downcase, 0);
2431
2466
  ATTR(akey, aval);
2432
2467
  }
2433
2468
  #line 127 "hpricot_scan.rl"
@@ -2445,6 +2480,8 @@ tr337:
2445
2480
  { mark_aval = p; }
2446
2481
  #line 134 "hpricot_scan.rl"
2447
2482
  {
2483
+ if (!S->xml)
2484
+ akey = rb_funcall(akey, s_downcase, 0);
2448
2485
  ATTR(akey, aval);
2449
2486
  }
2450
2487
  #line 127 "hpricot_scan.rl"
@@ -2461,7 +2498,7 @@ st82:
2461
2498
  if ( ++p == pe )
2462
2499
  goto _test_eof82;
2463
2500
  case 82:
2464
- #line 2465 "hpricot_scan.c"
2501
+ #line 2502 "hpricot_scan.c"
2465
2502
  switch( (*p) ) {
2466
2503
  case 32: goto tr175;
2467
2504
  case 34: goto tr169;
@@ -2508,7 +2545,7 @@ st83:
2508
2545
  if ( ++p == pe )
2509
2546
  goto _test_eof83;
2510
2547
  case 83:
2511
- #line 2512 "hpricot_scan.c"
2548
+ #line 2549 "hpricot_scan.c"
2512
2549
  switch( (*p) ) {
2513
2550
  case 32: goto st83;
2514
2551
  case 34: goto tr169;
@@ -2536,12 +2573,16 @@ tr177:
2536
2573
  { SET(akey, p); }
2537
2574
  #line 134 "hpricot_scan.rl"
2538
2575
  {
2576
+ if (!S->xml)
2577
+ akey = rb_funcall(akey, s_downcase, 0);
2539
2578
  ATTR(akey, aval);
2540
2579
  }
2541
2580
  goto st84;
2542
2581
  tr171:
2543
2582
  #line 134 "hpricot_scan.rl"
2544
2583
  {
2584
+ if (!S->xml)
2585
+ akey = rb_funcall(akey, s_downcase, 0);
2545
2586
  ATTR(akey, aval);
2546
2587
  }
2547
2588
  goto st84;
@@ -2550,6 +2591,8 @@ tr338:
2550
2591
  { mark_aval = p; }
2551
2592
  #line 134 "hpricot_scan.rl"
2552
2593
  {
2594
+ if (!S->xml)
2595
+ akey = rb_funcall(akey, s_downcase, 0);
2553
2596
  ATTR(akey, aval);
2554
2597
  }
2555
2598
  goto st84;
@@ -2557,7 +2600,7 @@ st84:
2557
2600
  if ( ++p == pe )
2558
2601
  goto _test_eof84;
2559
2602
  case 84:
2560
- #line 2561 "hpricot_scan.c"
2603
+ #line 2604 "hpricot_scan.c"
2561
2604
  switch( (*p) ) {
2562
2605
  case 34: goto tr169;
2563
2606
  case 62: goto tr182;
@@ -2576,6 +2619,8 @@ tr158:
2576
2619
  }
2577
2620
  #line 134 "hpricot_scan.rl"
2578
2621
  {
2622
+ if (!S->xml)
2623
+ akey = rb_funcall(akey, s_downcase, 0);
2579
2624
  ATTR(akey, aval);
2580
2625
  }
2581
2626
  #line 68 "hpricot_scan.rl"
@@ -2591,6 +2636,8 @@ tr166:
2591
2636
  }
2592
2637
  #line 134 "hpricot_scan.rl"
2593
2638
  {
2639
+ if (!S->xml)
2640
+ akey = rb_funcall(akey, s_downcase, 0);
2594
2641
  ATTR(akey, aval);
2595
2642
  }
2596
2643
  #line 68 "hpricot_scan.rl"
@@ -2601,6 +2648,8 @@ tr172:
2601
2648
  {te = p+1;}
2602
2649
  #line 134 "hpricot_scan.rl"
2603
2650
  {
2651
+ if (!S->xml)
2652
+ akey = rb_funcall(akey, s_downcase, 0);
2604
2653
  ATTR(akey, aval);
2605
2654
  }
2606
2655
  #line 68 "hpricot_scan.rl"
@@ -2613,6 +2662,8 @@ tr179:
2613
2662
  { SET(akey, p); }
2614
2663
  #line 134 "hpricot_scan.rl"
2615
2664
  {
2665
+ if (!S->xml)
2666
+ akey = rb_funcall(akey, s_downcase, 0);
2616
2667
  ATTR(akey, aval);
2617
2668
  }
2618
2669
  #line 68 "hpricot_scan.rl"
@@ -2629,6 +2680,8 @@ tr196:
2629
2680
  {te = p+1;}
2630
2681
  #line 134 "hpricot_scan.rl"
2631
2682
  {
2683
+ if (!S->xml)
2684
+ akey = rb_funcall(akey, s_downcase, 0);
2632
2685
  ATTR(akey, aval);
2633
2686
  }
2634
2687
  #line 116 "hpricot_scan.rl"
@@ -2646,6 +2699,8 @@ tr197:
2646
2699
  { mark_aval = p; }
2647
2700
  #line 134 "hpricot_scan.rl"
2648
2701
  {
2702
+ if (!S->xml)
2703
+ akey = rb_funcall(akey, s_downcase, 0);
2649
2704
  ATTR(akey, aval);
2650
2705
  }
2651
2706
  #line 116 "hpricot_scan.rl"
@@ -2668,6 +2723,8 @@ tr205:
2668
2723
  { SET(akey, p); }
2669
2724
  #line 134 "hpricot_scan.rl"
2670
2725
  {
2726
+ if (!S->xml)
2727
+ akey = rb_funcall(akey, s_downcase, 0);
2671
2728
  ATTR(akey, aval);
2672
2729
  }
2673
2730
  #line 68 "hpricot_scan.rl"
@@ -2680,6 +2737,8 @@ tr339:
2680
2737
  { mark_aval = p; }
2681
2738
  #line 134 "hpricot_scan.rl"
2682
2739
  {
2740
+ if (!S->xml)
2741
+ akey = rb_funcall(akey, s_downcase, 0);
2683
2742
  ATTR(akey, aval);
2684
2743
  }
2685
2744
  #line 68 "hpricot_scan.rl"
@@ -2689,7 +2748,7 @@ st209:
2689
2748
  if ( ++p == pe )
2690
2749
  goto _test_eof209;
2691
2750
  case 209:
2692
- #line 2693 "hpricot_scan.c"
2751
+ #line 2752 "hpricot_scan.c"
2693
2752
  switch( (*p) ) {
2694
2753
  case 34: goto tr169;
2695
2754
  case 92: goto st81;
@@ -2703,7 +2762,7 @@ st85:
2703
2762
  if ( ++p == pe )
2704
2763
  goto _test_eof85;
2705
2764
  case 85:
2706
- #line 2707 "hpricot_scan.c"
2765
+ #line 2766 "hpricot_scan.c"
2707
2766
  switch( (*p) ) {
2708
2767
  case 13: goto tr183;
2709
2768
  case 32: goto tr183;
@@ -2728,7 +2787,7 @@ st86:
2728
2787
  if ( ++p == pe )
2729
2788
  goto _test_eof86;
2730
2789
  case 86:
2731
- #line 2732 "hpricot_scan.c"
2790
+ #line 2791 "hpricot_scan.c"
2732
2791
  switch( (*p) ) {
2733
2792
  case 13: goto tr188;
2734
2793
  case 32: goto tr188;
@@ -2762,7 +2821,7 @@ st87:
2762
2821
  if ( ++p == pe )
2763
2822
  goto _test_eof87;
2764
2823
  case 87:
2765
- #line 2766 "hpricot_scan.c"
2824
+ #line 2825 "hpricot_scan.c"
2766
2825
  switch( (*p) ) {
2767
2826
  case 13: goto tr188;
2768
2827
  case 32: goto tr188;
@@ -2807,7 +2866,7 @@ st88:
2807
2866
  if ( ++p == pe )
2808
2867
  goto _test_eof88;
2809
2868
  case 88:
2810
- #line 2811 "hpricot_scan.c"
2869
+ #line 2870 "hpricot_scan.c"
2811
2870
  switch( (*p) ) {
2812
2871
  case 13: goto tr191;
2813
2872
  case 32: goto tr191;
@@ -2843,7 +2902,7 @@ st89:
2843
2902
  if ( ++p == pe )
2844
2903
  goto _test_eof89;
2845
2904
  case 89:
2846
- #line 2847 "hpricot_scan.c"
2905
+ #line 2906 "hpricot_scan.c"
2847
2906
  switch( (*p) ) {
2848
2907
  case 13: goto tr153;
2849
2908
  case 32: goto tr153;
@@ -2900,7 +2959,7 @@ st90:
2900
2959
  if ( ++p == pe )
2901
2960
  goto _test_eof90;
2902
2961
  case 90:
2903
- #line 2904 "hpricot_scan.c"
2962
+ #line 2963 "hpricot_scan.c"
2904
2963
  switch( (*p) ) {
2905
2964
  case 13: goto tr161;
2906
2965
  case 32: goto tr161;
@@ -2930,6 +2989,8 @@ case 90:
2930
2989
  tr198:
2931
2990
  #line 134 "hpricot_scan.rl"
2932
2991
  {
2992
+ if (!S->xml)
2993
+ akey = rb_funcall(akey, s_downcase, 0);
2933
2994
  ATTR(akey, aval);
2934
2995
  }
2935
2996
  #line 127 "hpricot_scan.rl"
@@ -2947,6 +3008,8 @@ tr190:
2947
3008
  { mark_aval = p; }
2948
3009
  #line 134 "hpricot_scan.rl"
2949
3010
  {
3011
+ if (!S->xml)
3012
+ akey = rb_funcall(akey, s_downcase, 0);
2950
3013
  ATTR(akey, aval);
2951
3014
  }
2952
3015
  #line 127 "hpricot_scan.rl"
@@ -2963,7 +3026,7 @@ st91:
2963
3026
  if ( ++p == pe )
2964
3027
  goto _test_eof91;
2965
3028
  case 91:
2966
- #line 2967 "hpricot_scan.c"
3029
+ #line 3030 "hpricot_scan.c"
2967
3030
  switch( (*p) ) {
2968
3031
  case 13: goto tr200;
2969
3032
  case 32: goto tr200;
@@ -3011,7 +3074,7 @@ st92:
3011
3074
  if ( ++p == pe )
3012
3075
  goto _test_eof92;
3013
3076
  case 92:
3014
- #line 3015 "hpricot_scan.c"
3077
+ #line 3078 "hpricot_scan.c"
3015
3078
  switch( (*p) ) {
3016
3079
  case 13: goto tr206;
3017
3080
  case 32: goto tr206;
@@ -3044,6 +3107,8 @@ tr187:
3044
3107
  { mark_aval = p; }
3045
3108
  #line 134 "hpricot_scan.rl"
3046
3109
  {
3110
+ if (!S->xml)
3111
+ akey = rb_funcall(akey, s_downcase, 0);
3047
3112
  ATTR(akey, aval);
3048
3113
  }
3049
3114
  goto st93;
@@ -3055,12 +3120,16 @@ tr164:
3055
3120
  }
3056
3121
  #line 134 "hpricot_scan.rl"
3057
3122
  {
3123
+ if (!S->xml)
3124
+ akey = rb_funcall(akey, s_downcase, 0);
3058
3125
  ATTR(akey, aval);
3059
3126
  }
3060
3127
  goto st93;
3061
3128
  tr199:
3062
3129
  #line 134 "hpricot_scan.rl"
3063
3130
  {
3131
+ if (!S->xml)
3132
+ akey = rb_funcall(akey, s_downcase, 0);
3064
3133
  ATTR(akey, aval);
3065
3134
  }
3066
3135
  #line 116 "hpricot_scan.rl"
@@ -3079,6 +3148,8 @@ tr203:
3079
3148
  { SET(akey, p); }
3080
3149
  #line 134 "hpricot_scan.rl"
3081
3150
  {
3151
+ if (!S->xml)
3152
+ akey = rb_funcall(akey, s_downcase, 0);
3082
3153
  ATTR(akey, aval);
3083
3154
  }
3084
3155
  goto st93;
@@ -3092,6 +3163,8 @@ tr156:
3092
3163
  }
3093
3164
  #line 134 "hpricot_scan.rl"
3094
3165
  {
3166
+ if (!S->xml)
3167
+ akey = rb_funcall(akey, s_downcase, 0);
3095
3168
  ATTR(akey, aval);
3096
3169
  }
3097
3170
  goto st93;
@@ -3100,6 +3173,8 @@ tr195:
3100
3173
  { mark_aval = p; }
3101
3174
  #line 134 "hpricot_scan.rl"
3102
3175
  {
3176
+ if (!S->xml)
3177
+ akey = rb_funcall(akey, s_downcase, 0);
3103
3178
  ATTR(akey, aval);
3104
3179
  }
3105
3180
  #line 116 "hpricot_scan.rl"
@@ -3112,7 +3187,7 @@ st93:
3112
3187
  if ( ++p == pe )
3113
3188
  goto _test_eof93;
3114
3189
  case 93:
3115
- #line 3116 "hpricot_scan.c"
3190
+ #line 3191 "hpricot_scan.c"
3116
3191
  switch( (*p) ) {
3117
3192
  case 13: goto tr161;
3118
3193
  case 32: goto tr161;
@@ -3136,7 +3211,7 @@ st94:
3136
3211
  if ( ++p == pe )
3137
3212
  goto _test_eof94;
3138
3213
  case 94:
3139
- #line 3140 "hpricot_scan.c"
3214
+ #line 3215 "hpricot_scan.c"
3140
3215
  switch( (*p) ) {
3141
3216
  case 13: goto tr161;
3142
3217
  case 32: goto tr161;
@@ -3164,7 +3239,7 @@ st95:
3164
3239
  if ( ++p == pe )
3165
3240
  goto _test_eof95;
3166
3241
  case 95:
3167
- #line 3168 "hpricot_scan.c"
3242
+ #line 3243 "hpricot_scan.c"
3168
3243
  switch( (*p) ) {
3169
3244
  case 13: goto tr191;
3170
3245
  case 32: goto tr191;
@@ -3209,7 +3284,7 @@ st97:
3209
3284
  if ( ++p == pe )
3210
3285
  goto _test_eof97;
3211
3286
  case 97:
3212
- #line 3213 "hpricot_scan.c"
3287
+ #line 3288 "hpricot_scan.c"
3213
3288
  switch( (*p) ) {
3214
3289
  case 13: goto tr220;
3215
3290
  case 32: goto tr220;
@@ -3254,7 +3329,7 @@ st98:
3254
3329
  if ( ++p == pe )
3255
3330
  goto _test_eof98;
3256
3331
  case 98:
3257
- #line 3258 "hpricot_scan.c"
3332
+ #line 3333 "hpricot_scan.c"
3258
3333
  switch( (*p) ) {
3259
3334
  case 32: goto st98;
3260
3335
  case 34: goto tr228;
@@ -3285,7 +3360,7 @@ st99:
3285
3360
  if ( ++p == pe )
3286
3361
  goto _test_eof99;
3287
3362
  case 99:
3288
- #line 3289 "hpricot_scan.c"
3363
+ #line 3364 "hpricot_scan.c"
3289
3364
  switch( (*p) ) {
3290
3365
  case 34: goto tr228;
3291
3366
  case 39: goto tr174;
@@ -3332,7 +3407,7 @@ st100:
3332
3407
  if ( ++p == pe )
3333
3408
  goto _test_eof100;
3334
3409
  case 100:
3335
- #line 3336 "hpricot_scan.c"
3410
+ #line 3411 "hpricot_scan.c"
3336
3411
  switch( (*p) ) {
3337
3412
  case 32: goto st100;
3338
3413
  case 39: goto tr169;
@@ -3362,7 +3437,7 @@ st101:
3362
3437
  if ( ++p == pe )
3363
3438
  goto _test_eof101;
3364
3439
  case 101:
3365
- #line 3366 "hpricot_scan.c"
3440
+ #line 3441 "hpricot_scan.c"
3366
3441
  switch( (*p) ) {
3367
3442
  case 39: goto tr169;
3368
3443
  case 92: goto st102;
@@ -3376,7 +3451,7 @@ st102:
3376
3451
  if ( ++p == pe )
3377
3452
  goto _test_eof102;
3378
3453
  case 102:
3379
- #line 3380 "hpricot_scan.c"
3454
+ #line 3455 "hpricot_scan.c"
3380
3455
  switch( (*p) ) {
3381
3456
  case 39: goto tr228;
3382
3457
  case 92: goto st102;
@@ -3385,6 +3460,8 @@ case 102:
3385
3460
  tr235:
3386
3461
  #line 134 "hpricot_scan.rl"
3387
3462
  {
3463
+ if (!S->xml)
3464
+ akey = rb_funcall(akey, s_downcase, 0);
3388
3465
  ATTR(akey, aval);
3389
3466
  }
3390
3467
  #line 127 "hpricot_scan.rl"
@@ -3402,6 +3479,8 @@ tr332:
3402
3479
  { mark_aval = p; }
3403
3480
  #line 134 "hpricot_scan.rl"
3404
3481
  {
3482
+ if (!S->xml)
3483
+ akey = rb_funcall(akey, s_downcase, 0);
3405
3484
  ATTR(akey, aval);
3406
3485
  }
3407
3486
  #line 127 "hpricot_scan.rl"
@@ -3418,7 +3497,7 @@ st103:
3418
3497
  if ( ++p == pe )
3419
3498
  goto _test_eof103;
3420
3499
  case 103:
3421
- #line 3422 "hpricot_scan.c"
3500
+ #line 3501 "hpricot_scan.c"
3422
3501
  switch( (*p) ) {
3423
3502
  case 32: goto tr239;
3424
3503
  case 39: goto tr169;
@@ -3465,7 +3544,7 @@ st104:
3465
3544
  if ( ++p == pe )
3466
3545
  goto _test_eof104;
3467
3546
  case 104:
3468
- #line 3469 "hpricot_scan.c"
3547
+ #line 3548 "hpricot_scan.c"
3469
3548
  switch( (*p) ) {
3470
3549
  case 32: goto st104;
3471
3550
  case 39: goto tr169;
@@ -3493,12 +3572,16 @@ tr241:
3493
3572
  { SET(akey, p); }
3494
3573
  #line 134 "hpricot_scan.rl"
3495
3574
  {
3575
+ if (!S->xml)
3576
+ akey = rb_funcall(akey, s_downcase, 0);
3496
3577
  ATTR(akey, aval);
3497
3578
  }
3498
3579
  goto st105;
3499
3580
  tr236:
3500
3581
  #line 134 "hpricot_scan.rl"
3501
3582
  {
3583
+ if (!S->xml)
3584
+ akey = rb_funcall(akey, s_downcase, 0);
3502
3585
  ATTR(akey, aval);
3503
3586
  }
3504
3587
  goto st105;
@@ -3507,6 +3590,8 @@ tr333:
3507
3590
  { mark_aval = p; }
3508
3591
  #line 134 "hpricot_scan.rl"
3509
3592
  {
3593
+ if (!S->xml)
3594
+ akey = rb_funcall(akey, s_downcase, 0);
3510
3595
  ATTR(akey, aval);
3511
3596
  }
3512
3597
  goto st105;
@@ -3514,7 +3599,7 @@ st105:
3514
3599
  if ( ++p == pe )
3515
3600
  goto _test_eof105;
3516
3601
  case 105:
3517
- #line 3518 "hpricot_scan.c"
3602
+ #line 3603 "hpricot_scan.c"
3518
3603
  switch( (*p) ) {
3519
3604
  case 39: goto tr169;
3520
3605
  case 62: goto tr246;
@@ -3533,6 +3618,8 @@ tr341:
3533
3618
  }
3534
3619
  #line 134 "hpricot_scan.rl"
3535
3620
  {
3621
+ if (!S->xml)
3622
+ akey = rb_funcall(akey, s_downcase, 0);
3536
3623
  ATTR(akey, aval);
3537
3624
  }
3538
3625
  #line 68 "hpricot_scan.rl"
@@ -3548,6 +3635,8 @@ tr258:
3548
3635
  }
3549
3636
  #line 134 "hpricot_scan.rl"
3550
3637
  {
3638
+ if (!S->xml)
3639
+ akey = rb_funcall(akey, s_downcase, 0);
3551
3640
  ATTR(akey, aval);
3552
3641
  }
3553
3642
  #line 68 "hpricot_scan.rl"
@@ -3558,6 +3647,8 @@ tr237:
3558
3647
  {te = p+1;}
3559
3648
  #line 134 "hpricot_scan.rl"
3560
3649
  {
3650
+ if (!S->xml)
3651
+ akey = rb_funcall(akey, s_downcase, 0);
3561
3652
  ATTR(akey, aval);
3562
3653
  }
3563
3654
  #line 68 "hpricot_scan.rl"
@@ -3570,6 +3661,8 @@ tr243:
3570
3661
  { SET(akey, p); }
3571
3662
  #line 134 "hpricot_scan.rl"
3572
3663
  {
3664
+ if (!S->xml)
3665
+ akey = rb_funcall(akey, s_downcase, 0);
3573
3666
  ATTR(akey, aval);
3574
3667
  }
3575
3668
  #line 68 "hpricot_scan.rl"
@@ -3586,6 +3679,8 @@ tr262:
3586
3679
  {te = p+1;}
3587
3680
  #line 134 "hpricot_scan.rl"
3588
3681
  {
3682
+ if (!S->xml)
3683
+ akey = rb_funcall(akey, s_downcase, 0);
3589
3684
  ATTR(akey, aval);
3590
3685
  }
3591
3686
  #line 116 "hpricot_scan.rl"
@@ -3603,6 +3698,8 @@ tr329:
3603
3698
  { mark_aval = p; }
3604
3699
  #line 134 "hpricot_scan.rl"
3605
3700
  {
3701
+ if (!S->xml)
3702
+ akey = rb_funcall(akey, s_downcase, 0);
3606
3703
  ATTR(akey, aval);
3607
3704
  }
3608
3705
  #line 116 "hpricot_scan.rl"
@@ -3625,6 +3722,8 @@ tr268:
3625
3722
  { SET(akey, p); }
3626
3723
  #line 134 "hpricot_scan.rl"
3627
3724
  {
3725
+ if (!S->xml)
3726
+ akey = rb_funcall(akey, s_downcase, 0);
3628
3727
  ATTR(akey, aval);
3629
3728
  }
3630
3729
  #line 68 "hpricot_scan.rl"
@@ -3637,6 +3736,8 @@ tr334:
3637
3736
  { mark_aval = p; }
3638
3737
  #line 134 "hpricot_scan.rl"
3639
3738
  {
3739
+ if (!S->xml)
3740
+ akey = rb_funcall(akey, s_downcase, 0);
3640
3741
  ATTR(akey, aval);
3641
3742
  }
3642
3743
  #line 68 "hpricot_scan.rl"
@@ -3646,7 +3747,7 @@ st210:
3646
3747
  if ( ++p == pe )
3647
3748
  goto _test_eof210;
3648
3749
  case 210:
3649
- #line 3650 "hpricot_scan.c"
3750
+ #line 3751 "hpricot_scan.c"
3650
3751
  switch( (*p) ) {
3651
3752
  case 39: goto tr169;
3652
3753
  case 92: goto st102;
@@ -3660,7 +3761,7 @@ st106:
3660
3761
  if ( ++p == pe )
3661
3762
  goto _test_eof106;
3662
3763
  case 106:
3663
- #line 3664 "hpricot_scan.c"
3764
+ #line 3765 "hpricot_scan.c"
3664
3765
  switch( (*p) ) {
3665
3766
  case 13: goto tr248;
3666
3767
  case 32: goto tr248;
@@ -3685,7 +3786,7 @@ st107:
3685
3786
  if ( ++p == pe )
3686
3787
  goto _test_eof107;
3687
3788
  case 107:
3688
- #line 3689 "hpricot_scan.c"
3789
+ #line 3790 "hpricot_scan.c"
3689
3790
  switch( (*p) ) {
3690
3791
  case 13: goto tr255;
3691
3792
  case 32: goto tr255;
@@ -3737,7 +3838,7 @@ st108:
3737
3838
  if ( ++p == pe )
3738
3839
  goto _test_eof108;
3739
3840
  case 108:
3740
- #line 3741 "hpricot_scan.c"
3841
+ #line 3842 "hpricot_scan.c"
3741
3842
  switch( (*p) ) {
3742
3843
  case 13: goto tr255;
3743
3844
  case 32: goto tr255;
@@ -3767,6 +3868,8 @@ case 108:
3767
3868
  tr260:
3768
3869
  #line 134 "hpricot_scan.rl"
3769
3870
  {
3871
+ if (!S->xml)
3872
+ akey = rb_funcall(akey, s_downcase, 0);
3770
3873
  ATTR(akey, aval);
3771
3874
  }
3772
3875
  #line 127 "hpricot_scan.rl"
@@ -3784,6 +3887,8 @@ tr279:
3784
3887
  { mark_aval = p; }
3785
3888
  #line 134 "hpricot_scan.rl"
3786
3889
  {
3890
+ if (!S->xml)
3891
+ akey = rb_funcall(akey, s_downcase, 0);
3787
3892
  ATTR(akey, aval);
3788
3893
  }
3789
3894
  #line 127 "hpricot_scan.rl"
@@ -3800,7 +3905,7 @@ st109:
3800
3905
  if ( ++p == pe )
3801
3906
  goto _test_eof109;
3802
3907
  case 109:
3803
- #line 3804 "hpricot_scan.c"
3908
+ #line 3909 "hpricot_scan.c"
3804
3909
  switch( (*p) ) {
3805
3910
  case 13: goto tr263;
3806
3911
  case 32: goto tr263;
@@ -3848,7 +3953,7 @@ st110:
3848
3953
  if ( ++p == pe )
3849
3954
  goto _test_eof110;
3850
3955
  case 110:
3851
- #line 3852 "hpricot_scan.c"
3956
+ #line 3957 "hpricot_scan.c"
3852
3957
  switch( (*p) ) {
3853
3958
  case 13: goto tr269;
3854
3959
  case 32: goto tr269;
@@ -3881,6 +3986,8 @@ tr252:
3881
3986
  { mark_aval = p; }
3882
3987
  #line 134 "hpricot_scan.rl"
3883
3988
  {
3989
+ if (!S->xml)
3990
+ akey = rb_funcall(akey, s_downcase, 0);
3884
3991
  ATTR(akey, aval);
3885
3992
  }
3886
3993
  goto st111;
@@ -3892,12 +3999,16 @@ tr257:
3892
3999
  }
3893
4000
  #line 134 "hpricot_scan.rl"
3894
4001
  {
4002
+ if (!S->xml)
4003
+ akey = rb_funcall(akey, s_downcase, 0);
3895
4004
  ATTR(akey, aval);
3896
4005
  }
3897
4006
  goto st111;
3898
4007
  tr261:
3899
4008
  #line 134 "hpricot_scan.rl"
3900
4009
  {
4010
+ if (!S->xml)
4011
+ akey = rb_funcall(akey, s_downcase, 0);
3901
4012
  ATTR(akey, aval);
3902
4013
  }
3903
4014
  #line 116 "hpricot_scan.rl"
@@ -3916,6 +4027,8 @@ tr266:
3916
4027
  { SET(akey, p); }
3917
4028
  #line 134 "hpricot_scan.rl"
3918
4029
  {
4030
+ if (!S->xml)
4031
+ akey = rb_funcall(akey, s_downcase, 0);
3919
4032
  ATTR(akey, aval);
3920
4033
  }
3921
4034
  goto st111;
@@ -3929,6 +4042,8 @@ tr276:
3929
4042
  }
3930
4043
  #line 134 "hpricot_scan.rl"
3931
4044
  {
4045
+ if (!S->xml)
4046
+ akey = rb_funcall(akey, s_downcase, 0);
3932
4047
  ATTR(akey, aval);
3933
4048
  }
3934
4049
  goto st111;
@@ -3937,6 +4052,8 @@ tr280:
3937
4052
  { mark_aval = p; }
3938
4053
  #line 134 "hpricot_scan.rl"
3939
4054
  {
4055
+ if (!S->xml)
4056
+ akey = rb_funcall(akey, s_downcase, 0);
3940
4057
  ATTR(akey, aval);
3941
4058
  }
3942
4059
  #line 116 "hpricot_scan.rl"
@@ -3949,7 +4066,7 @@ st111:
3949
4066
  if ( ++p == pe )
3950
4067
  goto _test_eof111;
3951
4068
  case 111:
3952
- #line 3953 "hpricot_scan.c"
4069
+ #line 4070 "hpricot_scan.c"
3953
4070
  switch( (*p) ) {
3954
4071
  case 13: goto tr255;
3955
4072
  case 32: goto tr255;
@@ -3973,7 +4090,7 @@ st112:
3973
4090
  if ( ++p == pe )
3974
4091
  goto _test_eof112;
3975
4092
  case 112:
3976
- #line 3977 "hpricot_scan.c"
4093
+ #line 4094 "hpricot_scan.c"
3977
4094
  switch( (*p) ) {
3978
4095
  case 13: goto tr255;
3979
4096
  case 32: goto tr255;
@@ -4001,7 +4118,7 @@ st113:
4001
4118
  if ( ++p == pe )
4002
4119
  goto _test_eof113;
4003
4120
  case 113:
4004
- #line 4005 "hpricot_scan.c"
4121
+ #line 4122 "hpricot_scan.c"
4005
4122
  switch( (*p) ) {
4006
4123
  case 13: goto tr272;
4007
4124
  case 32: goto tr272;
@@ -4035,7 +4152,7 @@ st114:
4035
4152
  if ( ++p == pe )
4036
4153
  goto _test_eof114;
4037
4154
  case 114:
4038
- #line 4039 "hpricot_scan.c"
4155
+ #line 4156 "hpricot_scan.c"
4039
4156
  switch( (*p) ) {
4040
4157
  case 13: goto tr277;
4041
4158
  case 32: goto tr277;
@@ -4080,7 +4197,7 @@ st115:
4080
4197
  if ( ++p == pe )
4081
4198
  goto _test_eof115;
4082
4199
  case 115:
4083
- #line 4084 "hpricot_scan.c"
4200
+ #line 4201 "hpricot_scan.c"
4084
4201
  switch( (*p) ) {
4085
4202
  case 13: goto tr272;
4086
4203
  case 32: goto tr272;
@@ -4152,7 +4269,7 @@ st117:
4152
4269
  if ( ++p == pe )
4153
4270
  goto _test_eof117;
4154
4271
  case 117:
4155
- #line 4156 "hpricot_scan.c"
4272
+ #line 4273 "hpricot_scan.c"
4156
4273
  switch( (*p) ) {
4157
4274
  case 13: goto tr220;
4158
4275
  case 32: goto tr220;
@@ -4183,6 +4300,8 @@ case 117:
4183
4300
  tr282:
4184
4301
  #line 134 "hpricot_scan.rl"
4185
4302
  {
4303
+ if (!S->xml)
4304
+ akey = rb_funcall(akey, s_downcase, 0);
4186
4305
  ATTR(akey, aval);
4187
4306
  }
4188
4307
  #line 127 "hpricot_scan.rl"
@@ -4200,6 +4319,8 @@ tr307:
4200
4319
  { mark_aval = p; }
4201
4320
  #line 134 "hpricot_scan.rl"
4202
4321
  {
4322
+ if (!S->xml)
4323
+ akey = rb_funcall(akey, s_downcase, 0);
4203
4324
  ATTR(akey, aval);
4204
4325
  }
4205
4326
  #line 127 "hpricot_scan.rl"
@@ -4216,7 +4337,7 @@ st118:
4216
4337
  if ( ++p == pe )
4217
4338
  goto _test_eof118;
4218
4339
  case 118:
4219
- #line 4220 "hpricot_scan.c"
4340
+ #line 4341 "hpricot_scan.c"
4220
4341
  switch( (*p) ) {
4221
4342
  case 13: goto tr285;
4222
4343
  case 32: goto tr285;
@@ -4269,7 +4390,7 @@ st119:
4269
4390
  if ( ++p == pe )
4270
4391
  goto _test_eof119;
4271
4392
  case 119:
4272
- #line 4273 "hpricot_scan.c"
4393
+ #line 4394 "hpricot_scan.c"
4273
4394
  switch( (*p) ) {
4274
4395
  case 32: goto st119;
4275
4396
  case 34: goto tr228;
@@ -4296,6 +4417,8 @@ case 119:
4296
4417
  tr229:
4297
4418
  #line 134 "hpricot_scan.rl"
4298
4419
  {
4420
+ if (!S->xml)
4421
+ akey = rb_funcall(akey, s_downcase, 0);
4299
4422
  ATTR(akey, aval);
4300
4423
  }
4301
4424
  #line 127 "hpricot_scan.rl"
@@ -4313,6 +4436,8 @@ tr318:
4313
4436
  { mark_aval = p; }
4314
4437
  #line 134 "hpricot_scan.rl"
4315
4438
  {
4439
+ if (!S->xml)
4440
+ akey = rb_funcall(akey, s_downcase, 0);
4316
4441
  ATTR(akey, aval);
4317
4442
  }
4318
4443
  #line 127 "hpricot_scan.rl"
@@ -4329,7 +4454,7 @@ st120:
4329
4454
  if ( ++p == pe )
4330
4455
  goto _test_eof120;
4331
4456
  case 120:
4332
- #line 4333 "hpricot_scan.c"
4457
+ #line 4458 "hpricot_scan.c"
4333
4458
  switch( (*p) ) {
4334
4459
  case 32: goto tr293;
4335
4460
  case 34: goto tr228;
@@ -4358,12 +4483,16 @@ tr295:
4358
4483
  { SET(akey, p); }
4359
4484
  #line 134 "hpricot_scan.rl"
4360
4485
  {
4486
+ if (!S->xml)
4487
+ akey = rb_funcall(akey, s_downcase, 0);
4361
4488
  ATTR(akey, aval);
4362
4489
  }
4363
4490
  goto st121;
4364
4491
  tr230:
4365
4492
  #line 134 "hpricot_scan.rl"
4366
4493
  {
4494
+ if (!S->xml)
4495
+ akey = rb_funcall(akey, s_downcase, 0);
4367
4496
  ATTR(akey, aval);
4368
4497
  }
4369
4498
  goto st121;
@@ -4372,6 +4501,8 @@ tr319:
4372
4501
  { mark_aval = p; }
4373
4502
  #line 134 "hpricot_scan.rl"
4374
4503
  {
4504
+ if (!S->xml)
4505
+ akey = rb_funcall(akey, s_downcase, 0);
4375
4506
  ATTR(akey, aval);
4376
4507
  }
4377
4508
  goto st121;
@@ -4379,7 +4510,7 @@ st121:
4379
4510
  if ( ++p == pe )
4380
4511
  goto _test_eof121;
4381
4512
  case 121:
4382
- #line 4383 "hpricot_scan.c"
4513
+ #line 4514 "hpricot_scan.c"
4383
4514
  switch( (*p) ) {
4384
4515
  case 34: goto tr228;
4385
4516
  case 39: goto tr174;
@@ -4399,6 +4530,8 @@ tr217:
4399
4530
  }
4400
4531
  #line 134 "hpricot_scan.rl"
4401
4532
  {
4533
+ if (!S->xml)
4534
+ akey = rb_funcall(akey, s_downcase, 0);
4402
4535
  ATTR(akey, aval);
4403
4536
  }
4404
4537
  #line 68 "hpricot_scan.rl"
@@ -4414,6 +4547,8 @@ tr225:
4414
4547
  }
4415
4548
  #line 134 "hpricot_scan.rl"
4416
4549
  {
4550
+ if (!S->xml)
4551
+ akey = rb_funcall(akey, s_downcase, 0);
4417
4552
  ATTR(akey, aval);
4418
4553
  }
4419
4554
  #line 68 "hpricot_scan.rl"
@@ -4424,6 +4559,8 @@ tr231:
4424
4559
  {te = p+1;}
4425
4560
  #line 134 "hpricot_scan.rl"
4426
4561
  {
4562
+ if (!S->xml)
4563
+ akey = rb_funcall(akey, s_downcase, 0);
4427
4564
  ATTR(akey, aval);
4428
4565
  }
4429
4566
  #line 68 "hpricot_scan.rl"
@@ -4436,6 +4573,8 @@ tr297:
4436
4573
  { SET(akey, p); }
4437
4574
  #line 134 "hpricot_scan.rl"
4438
4575
  {
4576
+ if (!S->xml)
4577
+ akey = rb_funcall(akey, s_downcase, 0);
4439
4578
  ATTR(akey, aval);
4440
4579
  }
4441
4580
  #line 68 "hpricot_scan.rl"
@@ -4452,6 +4591,8 @@ tr284:
4452
4591
  {te = p+1;}
4453
4592
  #line 134 "hpricot_scan.rl"
4454
4593
  {
4594
+ if (!S->xml)
4595
+ akey = rb_funcall(akey, s_downcase, 0);
4455
4596
  ATTR(akey, aval);
4456
4597
  }
4457
4598
  #line 116 "hpricot_scan.rl"
@@ -4469,6 +4610,8 @@ tr313:
4469
4610
  { mark_aval = p; }
4470
4611
  #line 134 "hpricot_scan.rl"
4471
4612
  {
4613
+ if (!S->xml)
4614
+ akey = rb_funcall(akey, s_downcase, 0);
4472
4615
  ATTR(akey, aval);
4473
4616
  }
4474
4617
  #line 116 "hpricot_scan.rl"
@@ -4491,6 +4634,8 @@ tr290:
4491
4634
  { SET(akey, p); }
4492
4635
  #line 134 "hpricot_scan.rl"
4493
4636
  {
4637
+ if (!S->xml)
4638
+ akey = rb_funcall(akey, s_downcase, 0);
4494
4639
  ATTR(akey, aval);
4495
4640
  }
4496
4641
  #line 68 "hpricot_scan.rl"
@@ -4503,6 +4648,8 @@ tr320:
4503
4648
  { mark_aval = p; }
4504
4649
  #line 134 "hpricot_scan.rl"
4505
4650
  {
4651
+ if (!S->xml)
4652
+ akey = rb_funcall(akey, s_downcase, 0);
4506
4653
  ATTR(akey, aval);
4507
4654
  }
4508
4655
  #line 68 "hpricot_scan.rl"
@@ -4512,7 +4659,7 @@ st211:
4512
4659
  if ( ++p == pe )
4513
4660
  goto _test_eof211;
4514
4661
  case 211:
4515
- #line 4516 "hpricot_scan.c"
4662
+ #line 4663 "hpricot_scan.c"
4516
4663
  switch( (*p) ) {
4517
4664
  case 34: goto tr228;
4518
4665
  case 39: goto tr174;
@@ -4527,7 +4674,7 @@ st122:
4527
4674
  if ( ++p == pe )
4528
4675
  goto _test_eof122;
4529
4676
  case 122:
4530
- #line 4531 "hpricot_scan.c"
4677
+ #line 4678 "hpricot_scan.c"
4531
4678
  switch( (*p) ) {
4532
4679
  case 34: goto tr299;
4533
4680
  case 39: goto tr299;
@@ -4542,7 +4689,7 @@ st123:
4542
4689
  if ( ++p == pe )
4543
4690
  goto _test_eof123;
4544
4691
  case 123:
4545
- #line 4546 "hpricot_scan.c"
4692
+ #line 4693 "hpricot_scan.c"
4546
4693
  switch( (*p) ) {
4547
4694
  case 13: goto tr300;
4548
4695
  case 32: goto tr300;
@@ -4567,7 +4714,7 @@ st124:
4567
4714
  if ( ++p == pe )
4568
4715
  goto _test_eof124;
4569
4716
  case 124:
4570
- #line 4571 "hpricot_scan.c"
4717
+ #line 4718 "hpricot_scan.c"
4571
4718
  switch( (*p) ) {
4572
4719
  case 13: goto tr305;
4573
4720
  case 32: goto tr305;
@@ -4601,7 +4748,7 @@ st125:
4601
4748
  if ( ++p == pe )
4602
4749
  goto _test_eof125;
4603
4750
  case 125:
4604
- #line 4605 "hpricot_scan.c"
4751
+ #line 4752 "hpricot_scan.c"
4605
4752
  switch( (*p) ) {
4606
4753
  case 13: goto tr305;
4607
4754
  case 32: goto tr305;
@@ -4646,7 +4793,7 @@ st126:
4646
4793
  if ( ++p == pe )
4647
4794
  goto _test_eof126;
4648
4795
  case 126:
4649
- #line 4650 "hpricot_scan.c"
4796
+ #line 4797 "hpricot_scan.c"
4650
4797
  switch( (*p) ) {
4651
4798
  case 13: goto tr308;
4652
4799
  case 32: goto tr308;
@@ -4682,7 +4829,7 @@ st127:
4682
4829
  if ( ++p == pe )
4683
4830
  goto _test_eof127;
4684
4831
  case 127:
4685
- #line 4686 "hpricot_scan.c"
4832
+ #line 4833 "hpricot_scan.c"
4686
4833
  switch( (*p) ) {
4687
4834
  case 13: goto tr211;
4688
4835
  case 32: goto tr211;
@@ -4715,6 +4862,8 @@ tr304:
4715
4862
  { mark_aval = p; }
4716
4863
  #line 134 "hpricot_scan.rl"
4717
4864
  {
4865
+ if (!S->xml)
4866
+ akey = rb_funcall(akey, s_downcase, 0);
4718
4867
  ATTR(akey, aval);
4719
4868
  }
4720
4869
  goto st128;
@@ -4726,12 +4875,16 @@ tr223:
4726
4875
  }
4727
4876
  #line 134 "hpricot_scan.rl"
4728
4877
  {
4878
+ if (!S->xml)
4879
+ akey = rb_funcall(akey, s_downcase, 0);
4729
4880
  ATTR(akey, aval);
4730
4881
  }
4731
4882
  goto st128;
4732
4883
  tr283:
4733
4884
  #line 134 "hpricot_scan.rl"
4734
4885
  {
4886
+ if (!S->xml)
4887
+ akey = rb_funcall(akey, s_downcase, 0);
4735
4888
  ATTR(akey, aval);
4736
4889
  }
4737
4890
  #line 116 "hpricot_scan.rl"
@@ -4750,6 +4903,8 @@ tr288:
4750
4903
  { SET(akey, p); }
4751
4904
  #line 134 "hpricot_scan.rl"
4752
4905
  {
4906
+ if (!S->xml)
4907
+ akey = rb_funcall(akey, s_downcase, 0);
4753
4908
  ATTR(akey, aval);
4754
4909
  }
4755
4910
  goto st128;
@@ -4763,6 +4918,8 @@ tr215:
4763
4918
  }
4764
4919
  #line 134 "hpricot_scan.rl"
4765
4920
  {
4921
+ if (!S->xml)
4922
+ akey = rb_funcall(akey, s_downcase, 0);
4766
4923
  ATTR(akey, aval);
4767
4924
  }
4768
4925
  goto st128;
@@ -4771,6 +4928,8 @@ tr312:
4771
4928
  { mark_aval = p; }
4772
4929
  #line 134 "hpricot_scan.rl"
4773
4930
  {
4931
+ if (!S->xml)
4932
+ akey = rb_funcall(akey, s_downcase, 0);
4774
4933
  ATTR(akey, aval);
4775
4934
  }
4776
4935
  #line 116 "hpricot_scan.rl"
@@ -4783,7 +4942,7 @@ st128:
4783
4942
  if ( ++p == pe )
4784
4943
  goto _test_eof128;
4785
4944
  case 128:
4786
- #line 4787 "hpricot_scan.c"
4945
+ #line 4946 "hpricot_scan.c"
4787
4946
  switch( (*p) ) {
4788
4947
  case 13: goto tr220;
4789
4948
  case 32: goto tr220;
@@ -4808,7 +4967,7 @@ st129:
4808
4967
  if ( ++p == pe )
4809
4968
  goto _test_eof129;
4810
4969
  case 129:
4811
- #line 4812 "hpricot_scan.c"
4970
+ #line 4971 "hpricot_scan.c"
4812
4971
  switch( (*p) ) {
4813
4972
  case 13: goto tr220;
4814
4973
  case 32: goto tr220;
@@ -4833,7 +4992,7 @@ st130:
4833
4992
  if ( ++p == pe )
4834
4993
  goto _test_eof130;
4835
4994
  case 130:
4836
- #line 4837 "hpricot_scan.c"
4995
+ #line 4996 "hpricot_scan.c"
4837
4996
  switch( (*p) ) {
4838
4997
  case 13: goto tr211;
4839
4998
  case 32: goto tr211;
@@ -4869,7 +5028,7 @@ st131:
4869
5028
  if ( ++p == pe )
4870
5029
  goto _test_eof131;
4871
5030
  case 131:
4872
- #line 4873 "hpricot_scan.c"
5031
+ #line 5032 "hpricot_scan.c"
4873
5032
  switch( (*p) ) {
4874
5033
  case 32: goto tr315;
4875
5034
  case 34: goto tr316;
@@ -4900,7 +5059,7 @@ st132:
4900
5059
  if ( ++p == pe )
4901
5060
  goto _test_eof132;
4902
5061
  case 132:
4903
- #line 4904 "hpricot_scan.c"
5062
+ #line 5063 "hpricot_scan.c"
4904
5063
  switch( (*p) ) {
4905
5064
  case 32: goto tr315;
4906
5065
  case 34: goto tr322;
@@ -4935,7 +5094,7 @@ st133:
4935
5094
  if ( ++p == pe )
4936
5095
  goto _test_eof133;
4937
5096
  case 133:
4938
- #line 4939 "hpricot_scan.c"
5097
+ #line 5098 "hpricot_scan.c"
4939
5098
  switch( (*p) ) {
4940
5099
  case 13: goto tr308;
4941
5100
  case 32: goto tr308;
@@ -4972,7 +5131,7 @@ st134:
4972
5131
  if ( ++p == pe )
4973
5132
  goto _test_eof134;
4974
5133
  case 134:
4975
- #line 4976 "hpricot_scan.c"
5134
+ #line 5135 "hpricot_scan.c"
4976
5135
  switch( (*p) ) {
4977
5136
  case 13: goto tr323;
4978
5137
  case 32: goto tr323;
@@ -5009,7 +5168,7 @@ st135:
5009
5168
  if ( ++p == pe )
5010
5169
  goto _test_eof135;
5011
5170
  case 135:
5012
- #line 5013 "hpricot_scan.c"
5171
+ #line 5172 "hpricot_scan.c"
5013
5172
  switch( (*p) ) {
5014
5173
  case 13: goto tr326;
5015
5174
  case 32: goto tr326;
@@ -5054,7 +5213,7 @@ st137:
5054
5213
  if ( ++p == pe )
5055
5214
  goto _test_eof137;
5056
5215
  case 137:
5057
- #line 5058 "hpricot_scan.c"
5216
+ #line 5217 "hpricot_scan.c"
5058
5217
  switch( (*p) ) {
5059
5218
  case 32: goto tr330;
5060
5219
  case 39: goto tr331;
@@ -5084,7 +5243,7 @@ st138:
5084
5243
  if ( ++p == pe )
5085
5244
  goto _test_eof138;
5086
5245
  case 138:
5087
- #line 5088 "hpricot_scan.c"
5246
+ #line 5247 "hpricot_scan.c"
5088
5247
  switch( (*p) ) {
5089
5248
  case 13: goto tr277;
5090
5249
  case 32: goto tr277;
@@ -5109,7 +5268,7 @@ st139:
5109
5268
  if ( ++p == pe )
5110
5269
  goto _test_eof139;
5111
5270
  case 139:
5112
- #line 5113 "hpricot_scan.c"
5271
+ #line 5272 "hpricot_scan.c"
5113
5272
  switch( (*p) ) {
5114
5273
  case 32: goto tr336;
5115
5274
  case 34: goto tr331;
@@ -5186,7 +5345,7 @@ st144:
5186
5345
  if ( ++p == pe )
5187
5346
  goto _test_eof144;
5188
5347
  case 144:
5189
- #line 5190 "hpricot_scan.c"
5348
+ #line 5349 "hpricot_scan.c"
5190
5349
  switch( (*p) ) {
5191
5350
  case 13: goto tr148;
5192
5351
  case 32: goto tr148;
@@ -5225,7 +5384,7 @@ st146:
5225
5384
  if ( ++p == pe )
5226
5385
  goto _test_eof146;
5227
5386
  case 146:
5228
- #line 5229 "hpricot_scan.c"
5387
+ #line 5388 "hpricot_scan.c"
5229
5388
  switch( (*p) ) {
5230
5389
  case 32: goto st212;
5231
5390
  case 63: goto st146;
@@ -5263,7 +5422,7 @@ st147:
5263
5422
  if ( ++p == pe )
5264
5423
  goto _test_eof147;
5265
5424
  case 147:
5266
- #line 5267 "hpricot_scan.c"
5425
+ #line 5426 "hpricot_scan.c"
5267
5426
  switch( (*p) ) {
5268
5427
  case 32: goto st212;
5269
5428
  case 63: goto st146;
@@ -5342,7 +5501,7 @@ st213:
5342
5501
  if ( ++p == pe )
5343
5502
  goto _test_eof213;
5344
5503
  case 213:
5345
- #line 5346 "hpricot_scan.c"
5504
+ #line 5505 "hpricot_scan.c"
5346
5505
  switch( (*p) ) {
5347
5506
  case 32: goto tr348;
5348
5507
  case 118: goto st150;
@@ -5441,7 +5600,7 @@ st159:
5441
5600
  if ( ++p == pe )
5442
5601
  goto _test_eof159;
5443
5602
  case 159:
5444
- #line 5445 "hpricot_scan.c"
5603
+ #line 5604 "hpricot_scan.c"
5445
5604
  switch( (*p) ) {
5446
5605
  case 34: goto tr360;
5447
5606
  case 95: goto st159;
@@ -5466,7 +5625,7 @@ st160:
5466
5625
  if ( ++p == pe )
5467
5626
  goto _test_eof160;
5468
5627
  case 160:
5469
- #line 5470 "hpricot_scan.c"
5628
+ #line 5629 "hpricot_scan.c"
5470
5629
  switch( (*p) ) {
5471
5630
  case 32: goto st161;
5472
5631
  case 62: goto tr363;
@@ -5586,7 +5745,7 @@ st173:
5586
5745
  if ( ++p == pe )
5587
5746
  goto _test_eof173;
5588
5747
  case 173:
5589
- #line 5590 "hpricot_scan.c"
5748
+ #line 5749 "hpricot_scan.c"
5590
5749
  switch( (*p) ) {
5591
5750
  case 34: goto tr378;
5592
5751
  case 95: goto st173;
@@ -5611,7 +5770,7 @@ st174:
5611
5770
  if ( ++p == pe )
5612
5771
  goto _test_eof174;
5613
5772
  case 174:
5614
- #line 5615 "hpricot_scan.c"
5773
+ #line 5774 "hpricot_scan.c"
5615
5774
  switch( (*p) ) {
5616
5775
  case 32: goto st175;
5617
5776
  case 62: goto tr363;
@@ -5736,7 +5895,7 @@ st188:
5736
5895
  if ( ++p == pe )
5737
5896
  goto _test_eof188;
5738
5897
  case 188:
5739
- #line 5740 "hpricot_scan.c"
5898
+ #line 5899 "hpricot_scan.c"
5740
5899
  if ( (*p) == 111 )
5741
5900
  goto st189;
5742
5901
  goto tr349;
@@ -5755,7 +5914,7 @@ st190:
5755
5914
  if ( ++p == pe )
5756
5915
  goto _test_eof190;
5757
5916
  case 190:
5758
- #line 5759 "hpricot_scan.c"
5917
+ #line 5918 "hpricot_scan.c"
5759
5918
  switch( (*p) ) {
5760
5919
  case 32: goto st190;
5761
5920
  case 62: goto tr363;
@@ -5772,7 +5931,7 @@ st191:
5772
5931
  if ( ++p == pe )
5773
5932
  goto _test_eof191;
5774
5933
  case 191:
5775
- #line 5776 "hpricot_scan.c"
5934
+ #line 5935 "hpricot_scan.c"
5776
5935
  if ( (*p) == 101 )
5777
5936
  goto st192;
5778
5937
  goto tr349;
@@ -5800,7 +5959,7 @@ st194:
5800
5959
  if ( ++p == pe )
5801
5960
  goto _test_eof194;
5802
5961
  case 194:
5803
- #line 5804 "hpricot_scan.c"
5962
+ #line 5963 "hpricot_scan.c"
5804
5963
  if ( (*p) == 111 )
5805
5964
  goto st195;
5806
5965
  goto tr349;
@@ -5819,7 +5978,7 @@ st196:
5819
5978
  if ( ++p == pe )
5820
5979
  goto _test_eof196;
5821
5980
  case 196:
5822
- #line 5823 "hpricot_scan.c"
5981
+ #line 5982 "hpricot_scan.c"
5823
5982
  if ( (*p) == 101 )
5824
5983
  goto st197;
5825
5984
  goto tr349;
@@ -5848,7 +6007,7 @@ st199:
5848
6007
  if ( ++p == pe )
5849
6008
  goto _test_eof199;
5850
6009
  case 199:
5851
- #line 5852 "hpricot_scan.c"
6010
+ #line 6011 "hpricot_scan.c"
5852
6011
  switch( (*p) ) {
5853
6012
  case 39: goto tr378;
5854
6013
  case 95: goto st199;
@@ -5891,7 +6050,7 @@ st201:
5891
6050
  if ( ++p == pe )
5892
6051
  goto _test_eof201;
5893
6052
  case 201:
5894
- #line 5895 "hpricot_scan.c"
6053
+ #line 6054 "hpricot_scan.c"
5895
6054
  switch( (*p) ) {
5896
6055
  case 39: goto tr360;
5897
6056
  case 95: goto st201;
@@ -5940,7 +6099,7 @@ st214:
5940
6099
  case 214:
5941
6100
  #line 1 "hpricot_scan.rl"
5942
6101
  {ts = p;}
5943
- #line 5944 "hpricot_scan.c"
6102
+ #line 6103 "hpricot_scan.c"
5944
6103
  switch( (*p) ) {
5945
6104
  case 10: goto tr423;
5946
6105
  case 45: goto tr424;
@@ -5954,7 +6113,7 @@ st215:
5954
6113
  if ( ++p == pe )
5955
6114
  goto _test_eof215;
5956
6115
  case 215:
5957
- #line 5958 "hpricot_scan.c"
6116
+ #line 6117 "hpricot_scan.c"
5958
6117
  if ( (*p) == 45 )
5959
6118
  goto st202;
5960
6119
  goto tr425;
@@ -5997,7 +6156,7 @@ st216:
5997
6156
  case 216:
5998
6157
  #line 1 "hpricot_scan.rl"
5999
6158
  {ts = p;}
6000
- #line 6001 "hpricot_scan.c"
6159
+ #line 6160 "hpricot_scan.c"
6001
6160
  switch( (*p) ) {
6002
6161
  case 10: goto tr428;
6003
6162
  case 93: goto tr429;
@@ -6011,7 +6170,7 @@ st217:
6011
6170
  if ( ++p == pe )
6012
6171
  goto _test_eof217;
6013
6172
  case 217:
6014
- #line 6015 "hpricot_scan.c"
6173
+ #line 6174 "hpricot_scan.c"
6015
6174
  if ( (*p) == 93 )
6016
6175
  goto st203;
6017
6176
  goto tr430;
@@ -6050,7 +6209,7 @@ st218:
6050
6209
  case 218:
6051
6210
  #line 1 "hpricot_scan.rl"
6052
6211
  {ts = p;}
6053
- #line 6054 "hpricot_scan.c"
6212
+ #line 6213 "hpricot_scan.c"
6054
6213
  switch( (*p) ) {
6055
6214
  case 10: goto tr433;
6056
6215
  case 62: goto tr434;
@@ -6510,7 +6669,7 @@ case 219:
6510
6669
  }
6511
6670
 
6512
6671
  }
6513
- #line 532 "hpricot_scan.rl"
6672
+ #line 534 "hpricot_scan.rl"
6514
6673
 
6515
6674
  if (cs == hpricot_scan_error) {
6516
6675
  if (buf != NULL)