hpricot 0.8.5 → 0.8.6

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ = 0.8.6
2
+ === 17 January 2012
3
+ * Allow any tags to contain unknown tags (Steven Parkes)
4
+
1
5
  = 0.8.5
2
6
  === 29 November 2011
3
7
  * Remove escaped quote (\') from matching (#55)
@@ -377,18 +377,30 @@ public class HpricotScanService implements BasicLibraryService {
377
377
  if(!S.xml) {
378
378
  IRubyObject match = runtime.getNil(), e = S.focus;
379
379
  while(e != S.doc) {
380
- IRubyObject hEC = H_ELE_GET(e, H_ELE_EC);
381
- if(hEC instanceof RubyHash) {
382
- IRubyObject has = ((RubyHash)hEC).op_aref(scanner.ctx, name);
383
- if(!has.isNil()) {
384
- if(has == runtime.getTrue()) {
385
- if(match.isNil()) {
386
- match = e;
380
+ if (ec.isNil()) {
381
+ // Anything can contain an unknown element
382
+ if(match.isNil()) {
383
+ match = e;
384
+ }
385
+ } else {
386
+ IRubyObject hEC = H_ELE_GET(e, H_ELE_EC);
387
+ if(hEC instanceof RubyHash) {
388
+ IRubyObject has = ((RubyHash)hEC).op_aref(scanner.ctx, name);
389
+ if(!has.isNil()) {
390
+ if(has == runtime.getTrue()) {
391
+ if(match.isNil()) {
392
+ match = e;
393
+ }
394
+ } else if(has == x.symAllow) {
395
+ match = S.focus;
396
+ } else if(has == x.symDeny) {
397
+ match = runtime.getNil();
387
398
  }
388
- } else if(has == x.symAllow) {
389
- match = S.focus;
390
- } else if(has == x.symDeny) {
391
- match = runtime.getNil();
399
+ }
400
+ } else {
401
+ // Unknown elements can contain anything
402
+ if(match.isNil()) {
403
+ match = e;
392
404
  }
393
405
  }
394
406
  }
@@ -511,11 +523,11 @@ public class HpricotScanService implements BasicLibraryService {
511
523
  }
512
524
 
513
525
 
514
- // line 561 "hpricot_scan.java.rl"
526
+ // line 573 "hpricot_scan.java.rl"
515
527
 
516
528
 
517
529
 
518
- // line 519 "HpricotScanService.java"
530
+ // line 531 "HpricotScanService.java"
519
531
  private static byte[] init__hpricot_scan_actions_0()
520
532
  {
521
533
  return new byte [] {
@@ -1096,7 +1108,7 @@ static final int hpricot_scan_en_html_procins = 212;
1096
1108
  static final int hpricot_scan_en_main = 198;
1097
1109
 
1098
1110
 
1099
- // line 564 "hpricot_scan.java.rl"
1111
+ // line 576 "hpricot_scan.java.rl"
1100
1112
 
1101
1113
  public final static int BUFSIZE = 16384;
1102
1114
 
@@ -1200,7 +1212,7 @@ static final int hpricot_scan_en_main = 198;
1200
1212
  // hpricot_scan
1201
1213
  public IRubyObject scan() {
1202
1214
 
1203
- // line 1204 "HpricotScanService.java"
1215
+ // line 1216 "HpricotScanService.java"
1204
1216
  {
1205
1217
  cs = hpricot_scan_start;
1206
1218
  ts = -1;
@@ -1208,7 +1220,7 @@ static final int hpricot_scan_en_main = 198;
1208
1220
  act = 0;
1209
1221
  }
1210
1222
 
1211
- // line 667 "hpricot_scan.java.rl"
1223
+ // line 679 "hpricot_scan.java.rl"
1212
1224
  while(!done) {
1213
1225
  p = pe = len = buf;
1214
1226
  space = buffer_size - have;
@@ -1256,7 +1268,7 @@ static final int hpricot_scan_en_main = 198;
1256
1268
  pe = p + len;
1257
1269
 
1258
1270
 
1259
- // line 1260 "HpricotScanService.java"
1271
+ // line 1272 "HpricotScanService.java"
1260
1272
  {
1261
1273
  int _klen;
1262
1274
  int _trans = 0;
@@ -1281,7 +1293,7 @@ case 1:
1281
1293
  // line 1 "NONE"
1282
1294
  {ts = p;}
1283
1295
  break;
1284
- // line 1285 "HpricotScanService.java"
1296
+ // line 1297 "HpricotScanService.java"
1285
1297
  }
1286
1298
  }
1287
1299
 
@@ -1346,7 +1358,7 @@ case 3:
1346
1358
  switch ( _hpricot_scan_actions[_acts++] )
1347
1359
  {
1348
1360
  case 0:
1349
- // line 514 "hpricot_scan.java.rl"
1361
+ // line 526 "hpricot_scan.java.rl"
1350
1362
  {
1351
1363
  if(text) {
1352
1364
  tag = CAT(tag, mark_tag, p);
@@ -1360,27 +1372,27 @@ case 3:
1360
1372
  }
1361
1373
  break;
1362
1374
  case 1:
1363
- // line 526 "hpricot_scan.java.rl"
1375
+ // line 538 "hpricot_scan.java.rl"
1364
1376
  { mark_tag = p; }
1365
1377
  break;
1366
1378
  case 2:
1367
- // line 527 "hpricot_scan.java.rl"
1379
+ // line 539 "hpricot_scan.java.rl"
1368
1380
  { mark_aval = p; }
1369
1381
  break;
1370
1382
  case 3:
1371
- // line 528 "hpricot_scan.java.rl"
1383
+ // line 540 "hpricot_scan.java.rl"
1372
1384
  { mark_akey = p; }
1373
1385
  break;
1374
1386
  case 4:
1375
- // line 529 "hpricot_scan.java.rl"
1387
+ // line 541 "hpricot_scan.java.rl"
1376
1388
  { tag = SET(mark_tag, p, tag); }
1377
1389
  break;
1378
1390
  case 5:
1379
- // line 531 "hpricot_scan.java.rl"
1391
+ // line 543 "hpricot_scan.java.rl"
1380
1392
  { aval = SET(mark_aval, p, aval); }
1381
1393
  break;
1382
1394
  case 6:
1383
- // line 532 "hpricot_scan.java.rl"
1395
+ // line 544 "hpricot_scan.java.rl"
1384
1396
  {
1385
1397
  if(data[p-1] == '"' || data[p-1] == '\'') {
1386
1398
  aval = SET(mark_aval, p-1, aval);
@@ -1390,31 +1402,31 @@ case 3:
1390
1402
  }
1391
1403
  break;
1392
1404
  case 7:
1393
- // line 539 "hpricot_scan.java.rl"
1405
+ // line 551 "hpricot_scan.java.rl"
1394
1406
  { akey = SET(mark_akey, p, akey); }
1395
1407
  break;
1396
1408
  case 8:
1397
- // line 540 "hpricot_scan.java.rl"
1409
+ // line 552 "hpricot_scan.java.rl"
1398
1410
  { aval = SET(mark_aval, p, aval); ATTR(runtime.newSymbol("version"), aval); }
1399
1411
  break;
1400
1412
  case 9:
1401
- // line 541 "hpricot_scan.java.rl"
1413
+ // line 553 "hpricot_scan.java.rl"
1402
1414
  { aval = SET(mark_aval, p, aval); ATTR(runtime.newSymbol("encoding"), aval); }
1403
1415
  break;
1404
1416
  case 10:
1405
- // line 542 "hpricot_scan.java.rl"
1417
+ // line 554 "hpricot_scan.java.rl"
1406
1418
  { aval = SET(mark_aval, p, aval); ATTR(runtime.newSymbol("standalone"), aval); }
1407
1419
  break;
1408
1420
  case 11:
1409
- // line 543 "hpricot_scan.java.rl"
1421
+ // line 555 "hpricot_scan.java.rl"
1410
1422
  { aval = SET(mark_aval, p, aval); ATTR(runtime.newSymbol("public_id"), aval); }
1411
1423
  break;
1412
1424
  case 12:
1413
- // line 544 "hpricot_scan.java.rl"
1425
+ // line 556 "hpricot_scan.java.rl"
1414
1426
  { aval = SET(mark_aval, p, aval); ATTR(runtime.newSymbol("system_id"), aval); }
1415
1427
  break;
1416
1428
  case 13:
1417
- // line 546 "hpricot_scan.java.rl"
1429
+ // line 558 "hpricot_scan.java.rl"
1418
1430
  {
1419
1431
  akey = runtime.getNil();
1420
1432
  aval = runtime.getNil();
@@ -1423,7 +1435,7 @@ case 3:
1423
1435
  }
1424
1436
  break;
1425
1437
  case 14:
1426
- // line 553 "hpricot_scan.java.rl"
1438
+ // line 565 "hpricot_scan.java.rl"
1427
1439
  {
1428
1440
  if(!S.xml && !akey.isNil()) {
1429
1441
  akey = akey.callMethod(runtime.getCurrentContext(), "downcase");
@@ -1585,7 +1597,7 @@ case 3:
1585
1597
  }
1586
1598
  }
1587
1599
  break;
1588
- // line 1589 "HpricotScanService.java"
1600
+ // line 1601 "HpricotScanService.java"
1589
1601
  }
1590
1602
  }
1591
1603
  }
@@ -1599,7 +1611,7 @@ case 2:
1599
1611
  // line 1 "NONE"
1600
1612
  {ts = -1;}
1601
1613
  break;
1602
- // line 1603 "HpricotScanService.java"
1614
+ // line 1615 "HpricotScanService.java"
1603
1615
  }
1604
1616
  }
1605
1617
 
@@ -1622,7 +1634,7 @@ case 5:
1622
1634
  break; }
1623
1635
  }
1624
1636
 
1625
- // line 714 "hpricot_scan.java.rl"
1637
+ // line 726 "hpricot_scan.java.rl"
1626
1638
 
1627
1639
  if(cs == hpricot_scan_error) {
1628
1640
  if(!tag.isNil()) {
@@ -313,23 +313,32 @@ rb_hpricot_token(hpricot_state *S, VALUE sym, VALUE tag, VALUE attr,
313
313
  VALUE match = Qnil, e = S->focus;
314
314
  while (e != S->doc)
315
315
  {
316
- VALUE hEC = H_ELE_GET(e, H_ELE_EC);
316
+ if (ec == Qnil) {
317
+ // anything can contain unknown elements
318
+ if (match == Qnil)
319
+ match = e;
320
+ } else {
321
+ VALUE hEC = H_ELE_GET(e, H_ELE_EC);
317
322
 
318
- if (TYPE(hEC) == T_HASH)
319
- {
320
- VALUE has = rb_hash_lookup(hEC, name);
321
- if (has != Qnil) {
322
- if (has == Qtrue) {
323
- if (match == Qnil)
324
- match = e;
325
- } else if (has == symAllow) {
326
- match = S->focus;
327
- } else if (has == symDeny) {
328
- match = Qnil;
323
+ if (TYPE(hEC) == T_HASH)
324
+ {
325
+ VALUE has = rb_hash_lookup(hEC, name);
326
+ if (has != Qnil) {
327
+ if (has == Qtrue) {
328
+ if (match == Qnil)
329
+ match = e;
330
+ } else if (has == symAllow) {
331
+ match = S->focus;
332
+ } else if (has == symDeny) {
333
+ match = Qnil;
334
+ }
329
335
  }
336
+ } else {
337
+ // Unknown elements can contain anything
338
+ if (match == Qnil)
339
+ match = e;
330
340
  }
331
341
  }
332
-
333
342
  e = H_ELE_GET(e, H_ELE_PARENT);
334
343
  }
335
344
 
@@ -495,7 +504,7 @@ VALUE hpricot_scan(int argc, VALUE *argv, VALUE self)
495
504
  buf = ALLOC_N(char, buffer_size);
496
505
 
497
506
 
498
- #line 499 "hpricot_scan.c"
507
+ #line 508 "hpricot_scan.c"
499
508
  {
500
509
  cs = hpricot_scan_start;
501
510
  ts = 0;
@@ -503,7 +512,7 @@ VALUE hpricot_scan(int argc, VALUE *argv, VALUE self)
503
512
  act = 0;
504
513
  }
505
514
 
506
- #line 541 "hpricot_scan.rl"
515
+ #line 550 "hpricot_scan.rl"
507
516
 
508
517
  while (!done) {
509
518
  VALUE str;
@@ -556,7 +565,7 @@ VALUE hpricot_scan(int argc, VALUE *argv, VALUE self)
556
565
 
557
566
  pe = p + len;
558
567
 
559
- #line 560 "hpricot_scan.c"
568
+ #line 569 "hpricot_scan.c"
560
569
  {
561
570
  if ( p == pe )
562
571
  goto _test_eof;
@@ -733,7 +742,7 @@ st198:
733
742
  case 198:
734
743
  #line 1 "NONE"
735
744
  {ts = p;}
736
- #line 737 "hpricot_scan.c"
745
+ #line 746 "hpricot_scan.c"
737
746
  switch( (*p) ) {
738
747
  case 10: goto tr398;
739
748
  case 60: goto tr399;
@@ -761,7 +770,7 @@ st199:
761
770
  if ( ++p == pe )
762
771
  goto _test_eof199;
763
772
  case 199:
764
- #line 765 "hpricot_scan.c"
773
+ #line 774 "hpricot_scan.c"
765
774
  switch( (*p) ) {
766
775
  case 33: goto st0;
767
776
  case 47: goto st59;
@@ -869,7 +878,7 @@ st10:
869
878
  if ( ++p == pe )
870
879
  goto _test_eof10;
871
880
  case 10:
872
- #line 873 "hpricot_scan.c"
881
+ #line 882 "hpricot_scan.c"
873
882
  switch( (*p) ) {
874
883
  case 32: goto tr13;
875
884
  case 62: goto tr15;
@@ -900,7 +909,7 @@ st11:
900
909
  if ( ++p == pe )
901
910
  goto _test_eof11;
902
911
  case 11:
903
- #line 904 "hpricot_scan.c"
912
+ #line 913 "hpricot_scan.c"
904
913
  switch( (*p) ) {
905
914
  case 32: goto st11;
906
915
  case 62: goto tr18;
@@ -997,7 +1006,7 @@ st20:
997
1006
  if ( ++p == pe )
998
1007
  goto _test_eof20;
999
1008
  case 20:
1000
- #line 1001 "hpricot_scan.c"
1009
+ #line 1010 "hpricot_scan.c"
1001
1010
  switch( (*p) ) {
1002
1011
  case 9: goto st20;
1003
1012
  case 34: goto tr33;
@@ -1030,7 +1039,7 @@ st21:
1030
1039
  if ( ++p == pe )
1031
1040
  goto _test_eof21;
1032
1041
  case 21:
1033
- #line 1034 "hpricot_scan.c"
1042
+ #line 1043 "hpricot_scan.c"
1034
1043
  switch( (*p) ) {
1035
1044
  case 32: goto st22;
1036
1045
  case 62: goto tr18;
@@ -1068,7 +1077,7 @@ st24:
1068
1077
  if ( ++p == pe )
1069
1078
  goto _test_eof24;
1070
1079
  case 24:
1071
- #line 1072 "hpricot_scan.c"
1080
+ #line 1081 "hpricot_scan.c"
1072
1081
  if ( (*p) == 34 )
1073
1082
  goto tr41;
1074
1083
  goto st24;
@@ -1086,7 +1095,7 @@ st25:
1086
1095
  if ( ++p == pe )
1087
1096
  goto _test_eof25;
1088
1097
  case 25:
1089
- #line 1090 "hpricot_scan.c"
1098
+ #line 1099 "hpricot_scan.c"
1090
1099
  switch( (*p) ) {
1091
1100
  case 32: goto st25;
1092
1101
  case 62: goto tr18;
@@ -1103,7 +1112,7 @@ st26:
1103
1112
  if ( ++p == pe )
1104
1113
  goto _test_eof26;
1105
1114
  case 26:
1106
- #line 1107 "hpricot_scan.c"
1115
+ #line 1116 "hpricot_scan.c"
1107
1116
  if ( (*p) == 93 )
1108
1117
  goto st27;
1109
1118
  goto st26;
@@ -1133,7 +1142,7 @@ st29:
1133
1142
  if ( ++p == pe )
1134
1143
  goto _test_eof29;
1135
1144
  case 29:
1136
- #line 1137 "hpricot_scan.c"
1145
+ #line 1146 "hpricot_scan.c"
1137
1146
  if ( (*p) == 39 )
1138
1147
  goto tr41;
1139
1148
  goto st29;
@@ -1170,7 +1179,7 @@ st31:
1170
1179
  if ( ++p == pe )
1171
1180
  goto _test_eof31;
1172
1181
  case 31:
1173
- #line 1174 "hpricot_scan.c"
1182
+ #line 1183 "hpricot_scan.c"
1174
1183
  switch( (*p) ) {
1175
1184
  case 9: goto st31;
1176
1185
  case 39: goto tr49;
@@ -1220,7 +1229,7 @@ st32:
1220
1229
  if ( ++p == pe )
1221
1230
  goto _test_eof32;
1222
1231
  case 32:
1223
- #line 1224 "hpricot_scan.c"
1232
+ #line 1233 "hpricot_scan.c"
1224
1233
  switch( (*p) ) {
1225
1234
  case 9: goto st33;
1226
1235
  case 32: goto st33;
@@ -1287,7 +1296,7 @@ st34:
1287
1296
  if ( ++p == pe )
1288
1297
  goto _test_eof34;
1289
1298
  case 34:
1290
- #line 1291 "hpricot_scan.c"
1299
+ #line 1300 "hpricot_scan.c"
1291
1300
  switch( (*p) ) {
1292
1301
  case 9: goto tr52;
1293
1302
  case 32: goto tr52;
@@ -1320,7 +1329,7 @@ st35:
1320
1329
  if ( ++p == pe )
1321
1330
  goto _test_eof35;
1322
1331
  case 35:
1323
- #line 1324 "hpricot_scan.c"
1332
+ #line 1333 "hpricot_scan.c"
1324
1333
  switch( (*p) ) {
1325
1334
  case 9: goto st35;
1326
1335
  case 32: goto st35;
@@ -1353,7 +1362,7 @@ st36:
1353
1362
  if ( ++p == pe )
1354
1363
  goto _test_eof36;
1355
1364
  case 36:
1356
- #line 1357 "hpricot_scan.c"
1365
+ #line 1366 "hpricot_scan.c"
1357
1366
  switch( (*p) ) {
1358
1367
  case 32: goto st36;
1359
1368
  case 34: goto st37;
@@ -1381,7 +1390,7 @@ st38:
1381
1390
  if ( ++p == pe )
1382
1391
  goto _test_eof38;
1383
1392
  case 38:
1384
- #line 1385 "hpricot_scan.c"
1393
+ #line 1394 "hpricot_scan.c"
1385
1394
  switch( (*p) ) {
1386
1395
  case 34: goto tr70;
1387
1396
  case 39: goto tr71;
@@ -1405,7 +1414,7 @@ st39:
1405
1414
  if ( ++p == pe )
1406
1415
  goto _test_eof39;
1407
1416
  case 39:
1408
- #line 1409 "hpricot_scan.c"
1417
+ #line 1418 "hpricot_scan.c"
1409
1418
  switch( (*p) ) {
1410
1419
  case 32: goto st39;
1411
1420
  case 39: goto tr41;
@@ -1433,7 +1442,7 @@ st200:
1433
1442
  if ( ++p == pe )
1434
1443
  goto _test_eof200;
1435
1444
  case 200:
1436
- #line 1437 "hpricot_scan.c"
1445
+ #line 1446 "hpricot_scan.c"
1437
1446
  if ( (*p) == 39 )
1438
1447
  goto tr41;
1439
1448
  goto st29;
@@ -1445,7 +1454,7 @@ st40:
1445
1454
  if ( ++p == pe )
1446
1455
  goto _test_eof40;
1447
1456
  case 40:
1448
- #line 1449 "hpricot_scan.c"
1457
+ #line 1458 "hpricot_scan.c"
1449
1458
  switch( (*p) ) {
1450
1459
  case 39: goto tr73;
1451
1460
  case 93: goto st42;
@@ -1459,7 +1468,7 @@ st41:
1459
1468
  if ( ++p == pe )
1460
1469
  goto _test_eof41;
1461
1470
  case 41:
1462
- #line 1463 "hpricot_scan.c"
1471
+ #line 1472 "hpricot_scan.c"
1463
1472
  switch( (*p) ) {
1464
1473
  case 32: goto st41;
1465
1474
  case 62: goto tr76;
@@ -1478,7 +1487,7 @@ st201:
1478
1487
  if ( ++p == pe )
1479
1488
  goto _test_eof201;
1480
1489
  case 201:
1481
- #line 1482 "hpricot_scan.c"
1490
+ #line 1491 "hpricot_scan.c"
1482
1491
  if ( (*p) == 93 )
1483
1492
  goto st27;
1484
1493
  goto st26;
@@ -1508,7 +1517,7 @@ st43:
1508
1517
  if ( ++p == pe )
1509
1518
  goto _test_eof43;
1510
1519
  case 43:
1511
- #line 1512 "hpricot_scan.c"
1520
+ #line 1521 "hpricot_scan.c"
1512
1521
  switch( (*p) ) {
1513
1522
  case 32: goto st43;
1514
1523
  case 34: goto tr41;
@@ -1528,7 +1537,7 @@ st202:
1528
1537
  if ( ++p == pe )
1529
1538
  goto _test_eof202;
1530
1539
  case 202:
1531
- #line 1532 "hpricot_scan.c"
1540
+ #line 1541 "hpricot_scan.c"
1532
1541
  if ( (*p) == 34 )
1533
1542
  goto tr41;
1534
1543
  goto st24;
@@ -1561,7 +1570,7 @@ st46:
1561
1570
  if ( ++p == pe )
1562
1571
  goto _test_eof46;
1563
1572
  case 46:
1564
- #line 1565 "hpricot_scan.c"
1573
+ #line 1574 "hpricot_scan.c"
1565
1574
  switch( (*p) ) {
1566
1575
  case 32: goto tr81;
1567
1576
  case 39: goto tr38;
@@ -1579,7 +1588,7 @@ st47:
1579
1588
  if ( ++p == pe )
1580
1589
  goto _test_eof47;
1581
1590
  case 47:
1582
- #line 1583 "hpricot_scan.c"
1591
+ #line 1592 "hpricot_scan.c"
1583
1592
  switch( (*p) ) {
1584
1593
  case 9: goto st47;
1585
1594
  case 39: goto tr82;
@@ -1700,7 +1709,7 @@ st60:
1700
1709
  if ( ++p == pe )
1701
1710
  goto _test_eof60;
1702
1711
  case 60:
1703
- #line 1704 "hpricot_scan.c"
1712
+ #line 1713 "hpricot_scan.c"
1704
1713
  switch( (*p) ) {
1705
1714
  case 32: goto tr95;
1706
1715
  case 62: goto tr97;
@@ -1730,7 +1739,7 @@ st61:
1730
1739
  if ( ++p == pe )
1731
1740
  goto _test_eof61;
1732
1741
  case 61:
1733
- #line 1734 "hpricot_scan.c"
1742
+ #line 1743 "hpricot_scan.c"
1734
1743
  switch( (*p) ) {
1735
1744
  case 32: goto st61;
1736
1745
  case 62: goto tr99;
@@ -1746,7 +1755,7 @@ st62:
1746
1755
  if ( ++p == pe )
1747
1756
  goto _test_eof62;
1748
1757
  case 62:
1749
- #line 1750 "hpricot_scan.c"
1758
+ #line 1759 "hpricot_scan.c"
1750
1759
  switch( (*p) ) {
1751
1760
  case 32: goto tr100;
1752
1761
  case 47: goto tr102;
@@ -1774,7 +1783,7 @@ st63:
1774
1783
  if ( ++p == pe )
1775
1784
  goto _test_eof63;
1776
1785
  case 63:
1777
- #line 1778 "hpricot_scan.c"
1786
+ #line 1787 "hpricot_scan.c"
1778
1787
  switch( (*p) ) {
1779
1788
  case 32: goto st63;
1780
1789
  case 47: goto st66;
@@ -1826,7 +1835,7 @@ st64:
1826
1835
  if ( ++p == pe )
1827
1836
  goto _test_eof64;
1828
1837
  case 64:
1829
- #line 1830 "hpricot_scan.c"
1838
+ #line 1839 "hpricot_scan.c"
1830
1839
  switch( (*p) ) {
1831
1840
  case 32: goto tr108;
1832
1841
  case 47: goto tr110;
@@ -1871,7 +1880,7 @@ st65:
1871
1880
  if ( ++p == pe )
1872
1881
  goto _test_eof65;
1873
1882
  case 65:
1874
- #line 1875 "hpricot_scan.c"
1883
+ #line 1884 "hpricot_scan.c"
1875
1884
  switch( (*p) ) {
1876
1885
  case 32: goto st65;
1877
1886
  case 47: goto tr115;
@@ -1918,7 +1927,7 @@ st66:
1918
1927
  if ( ++p == pe )
1919
1928
  goto _test_eof66;
1920
1929
  case 66:
1921
- #line 1922 "hpricot_scan.c"
1930
+ #line 1931 "hpricot_scan.c"
1922
1931
  if ( (*p) == 62 )
1923
1932
  goto tr118;
1924
1933
  goto tr39;
@@ -1930,7 +1939,7 @@ st67:
1930
1939
  if ( ++p == pe )
1931
1940
  goto _test_eof67;
1932
1941
  case 67:
1933
- #line 1934 "hpricot_scan.c"
1942
+ #line 1943 "hpricot_scan.c"
1934
1943
  switch( (*p) ) {
1935
1944
  case 13: goto tr120;
1936
1945
  case 32: goto tr120;
@@ -1954,7 +1963,7 @@ st68:
1954
1963
  if ( ++p == pe )
1955
1964
  goto _test_eof68;
1956
1965
  case 68:
1957
- #line 1958 "hpricot_scan.c"
1966
+ #line 1967 "hpricot_scan.c"
1958
1967
  switch( (*p) ) {
1959
1968
  case 13: goto tr126;
1960
1969
  case 32: goto tr126;
@@ -1989,7 +1998,7 @@ st69:
1989
1998
  if ( ++p == pe )
1990
1999
  goto _test_eof69;
1991
2000
  case 69:
1992
- #line 1993 "hpricot_scan.c"
2001
+ #line 2002 "hpricot_scan.c"
1993
2002
  switch( (*p) ) {
1994
2003
  case 32: goto st69;
1995
2004
  case 47: goto tr115;
@@ -2030,7 +2039,7 @@ st70:
2030
2039
  if ( ++p == pe )
2031
2040
  goto _test_eof70;
2032
2041
  case 70:
2033
- #line 2034 "hpricot_scan.c"
2042
+ #line 2043 "hpricot_scan.c"
2034
2043
  switch( (*p) ) {
2035
2044
  case 13: goto tr126;
2036
2045
  case 32: goto tr126;
@@ -2095,7 +2104,7 @@ st71:
2095
2104
  if ( ++p == pe )
2096
2105
  goto _test_eof71;
2097
2106
  case 71:
2098
- #line 2099 "hpricot_scan.c"
2107
+ #line 2108 "hpricot_scan.c"
2099
2108
  switch( (*p) ) {
2100
2109
  case 13: goto tr134;
2101
2110
  case 32: goto tr134;
@@ -2141,7 +2150,7 @@ st72:
2141
2150
  if ( ++p == pe )
2142
2151
  goto _test_eof72;
2143
2152
  case 72:
2144
- #line 2145 "hpricot_scan.c"
2153
+ #line 2154 "hpricot_scan.c"
2145
2154
  switch( (*p) ) {
2146
2155
  case 13: goto tr140;
2147
2156
  case 32: goto tr140;
@@ -2252,7 +2261,7 @@ st73:
2252
2261
  if ( ++p == pe )
2253
2262
  goto _test_eof73;
2254
2263
  case 73:
2255
- #line 2256 "hpricot_scan.c"
2264
+ #line 2265 "hpricot_scan.c"
2256
2265
  switch( (*p) ) {
2257
2266
  case 13: goto tr126;
2258
2267
  case 32: goto tr126;
@@ -2278,7 +2287,7 @@ st74:
2278
2287
  if ( ++p == pe )
2279
2288
  goto _test_eof74;
2280
2289
  case 74:
2281
- #line 2282 "hpricot_scan.c"
2290
+ #line 2291 "hpricot_scan.c"
2282
2291
  switch( (*p) ) {
2283
2292
  case 13: goto tr143;
2284
2293
  case 32: goto tr143;
@@ -2311,7 +2320,7 @@ st75:
2311
2320
  if ( ++p == pe )
2312
2321
  goto _test_eof75;
2313
2322
  case 75:
2314
- #line 2315 "hpricot_scan.c"
2323
+ #line 2324 "hpricot_scan.c"
2315
2324
  switch( (*p) ) {
2316
2325
  case 13: goto tr148;
2317
2326
  case 32: goto tr148;
@@ -2355,7 +2364,7 @@ st76:
2355
2364
  if ( ++p == pe )
2356
2365
  goto _test_eof76;
2357
2366
  case 76:
2358
- #line 2359 "hpricot_scan.c"
2367
+ #line 2368 "hpricot_scan.c"
2359
2368
  switch( (*p) ) {
2360
2369
  case 13: goto tr143;
2361
2370
  case 32: goto tr143;
@@ -2408,7 +2417,7 @@ st78:
2408
2417
  if ( ++p == pe )
2409
2418
  goto _test_eof78;
2410
2419
  case 78:
2411
- #line 2412 "hpricot_scan.c"
2420
+ #line 2421 "hpricot_scan.c"
2412
2421
  switch( (*p) ) {
2413
2422
  case 13: goto tr160;
2414
2423
  case 32: goto tr160;
@@ -2457,7 +2466,7 @@ st79:
2457
2466
  if ( ++p == pe )
2458
2467
  goto _test_eof79;
2459
2468
  case 79:
2460
- #line 2461 "hpricot_scan.c"
2469
+ #line 2470 "hpricot_scan.c"
2461
2470
  switch( (*p) ) {
2462
2471
  case 32: goto st79;
2463
2472
  case 34: goto tr167;
@@ -2486,7 +2495,7 @@ st80:
2486
2495
  if ( ++p == pe )
2487
2496
  goto _test_eof80;
2488
2497
  case 80:
2489
- #line 2490 "hpricot_scan.c"
2498
+ #line 2499 "hpricot_scan.c"
2490
2499
  if ( (*p) == 34 )
2491
2500
  goto tr167;
2492
2501
  goto st80;
@@ -2530,7 +2539,7 @@ st81:
2530
2539
  if ( ++p == pe )
2531
2540
  goto _test_eof81;
2532
2541
  case 81:
2533
- #line 2534 "hpricot_scan.c"
2542
+ #line 2543 "hpricot_scan.c"
2534
2543
  switch( (*p) ) {
2535
2544
  case 32: goto tr171;
2536
2545
  case 34: goto tr167;
@@ -2576,7 +2585,7 @@ st82:
2576
2585
  if ( ++p == pe )
2577
2586
  goto _test_eof82;
2578
2587
  case 82:
2579
- #line 2580 "hpricot_scan.c"
2588
+ #line 2589 "hpricot_scan.c"
2580
2589
  switch( (*p) ) {
2581
2590
  case 32: goto st82;
2582
2591
  case 34: goto tr167;
@@ -2630,7 +2639,7 @@ st83:
2630
2639
  if ( ++p == pe )
2631
2640
  goto _test_eof83;
2632
2641
  case 83:
2633
- #line 2634 "hpricot_scan.c"
2642
+ #line 2643 "hpricot_scan.c"
2634
2643
  switch( (*p) ) {
2635
2644
  case 34: goto tr167;
2636
2645
  case 62: goto tr178;
@@ -2777,7 +2786,7 @@ st203:
2777
2786
  if ( ++p == pe )
2778
2787
  goto _test_eof203;
2779
2788
  case 203:
2780
- #line 2781 "hpricot_scan.c"
2789
+ #line 2790 "hpricot_scan.c"
2781
2790
  if ( (*p) == 34 )
2782
2791
  goto tr167;
2783
2792
  goto st80;
@@ -2789,7 +2798,7 @@ st84:
2789
2798
  if ( ++p == pe )
2790
2799
  goto _test_eof84;
2791
2800
  case 84:
2792
- #line 2793 "hpricot_scan.c"
2801
+ #line 2802 "hpricot_scan.c"
2793
2802
  switch( (*p) ) {
2794
2803
  case 13: goto tr179;
2795
2804
  case 32: goto tr179;
@@ -2813,7 +2822,7 @@ st85:
2813
2822
  if ( ++p == pe )
2814
2823
  goto _test_eof85;
2815
2824
  case 85:
2816
- #line 2817 "hpricot_scan.c"
2825
+ #line 2826 "hpricot_scan.c"
2817
2826
  switch( (*p) ) {
2818
2827
  case 13: goto tr184;
2819
2828
  case 32: goto tr184;
@@ -2846,7 +2855,7 @@ st86:
2846
2855
  if ( ++p == pe )
2847
2856
  goto _test_eof86;
2848
2857
  case 86:
2849
- #line 2850 "hpricot_scan.c"
2858
+ #line 2859 "hpricot_scan.c"
2850
2859
  switch( (*p) ) {
2851
2860
  case 13: goto tr184;
2852
2861
  case 32: goto tr184;
@@ -2890,7 +2899,7 @@ st87:
2890
2899
  if ( ++p == pe )
2891
2900
  goto _test_eof87;
2892
2901
  case 87:
2893
- #line 2894 "hpricot_scan.c"
2902
+ #line 2903 "hpricot_scan.c"
2894
2903
  switch( (*p) ) {
2895
2904
  case 13: goto tr187;
2896
2905
  case 32: goto tr187;
@@ -2925,7 +2934,7 @@ st88:
2925
2934
  if ( ++p == pe )
2926
2935
  goto _test_eof88;
2927
2936
  case 88:
2928
- #line 2929 "hpricot_scan.c"
2937
+ #line 2938 "hpricot_scan.c"
2929
2938
  switch( (*p) ) {
2930
2939
  case 13: goto tr153;
2931
2940
  case 32: goto tr153;
@@ -2981,7 +2990,7 @@ st89:
2981
2990
  if ( ++p == pe )
2982
2991
  goto _test_eof89;
2983
2992
  case 89:
2984
- #line 2985 "hpricot_scan.c"
2993
+ #line 2994 "hpricot_scan.c"
2985
2994
  switch( (*p) ) {
2986
2995
  case 13: goto tr160;
2987
2996
  case 32: goto tr160;
@@ -3047,7 +3056,7 @@ st90:
3047
3056
  if ( ++p == pe )
3048
3057
  goto _test_eof90;
3049
3058
  case 90:
3050
- #line 3051 "hpricot_scan.c"
3059
+ #line 3060 "hpricot_scan.c"
3051
3060
  switch( (*p) ) {
3052
3061
  case 13: goto tr196;
3053
3062
  case 32: goto tr196;
@@ -3094,7 +3103,7 @@ st91:
3094
3103
  if ( ++p == pe )
3095
3104
  goto _test_eof91;
3096
3105
  case 91:
3097
- #line 3098 "hpricot_scan.c"
3106
+ #line 3107 "hpricot_scan.c"
3098
3107
  switch( (*p) ) {
3099
3108
  case 13: goto tr202;
3100
3109
  case 32: goto tr202;
@@ -3206,7 +3215,7 @@ st92:
3206
3215
  if ( ++p == pe )
3207
3216
  goto _test_eof92;
3208
3217
  case 92:
3209
- #line 3210 "hpricot_scan.c"
3218
+ #line 3219 "hpricot_scan.c"
3210
3219
  switch( (*p) ) {
3211
3220
  case 13: goto tr160;
3212
3221
  case 32: goto tr160;
@@ -3233,7 +3242,7 @@ st93:
3233
3242
  if ( ++p == pe )
3234
3243
  goto _test_eof93;
3235
3244
  case 93:
3236
- #line 3237 "hpricot_scan.c"
3245
+ #line 3246 "hpricot_scan.c"
3237
3246
  switch( (*p) ) {
3238
3247
  case 13: goto tr187;
3239
3248
  case 32: goto tr187;
@@ -3276,7 +3285,7 @@ st95:
3276
3285
  if ( ++p == pe )
3277
3286
  goto _test_eof95;
3278
3287
  case 95:
3279
- #line 3280 "hpricot_scan.c"
3288
+ #line 3289 "hpricot_scan.c"
3280
3289
  switch( (*p) ) {
3281
3290
  case 13: goto tr214;
3282
3291
  case 32: goto tr214;
@@ -3316,7 +3325,7 @@ st96:
3316
3325
  if ( ++p == pe )
3317
3326
  goto _test_eof96;
3318
3327
  case 96:
3319
- #line 3320 "hpricot_scan.c"
3328
+ #line 3329 "hpricot_scan.c"
3320
3329
  switch( (*p) ) {
3321
3330
  case 32: goto st96;
3322
3331
  case 34: goto tr222;
@@ -3346,7 +3355,7 @@ st97:
3346
3355
  if ( ++p == pe )
3347
3356
  goto _test_eof97;
3348
3357
  case 97:
3349
- #line 3350 "hpricot_scan.c"
3358
+ #line 3359 "hpricot_scan.c"
3350
3359
  switch( (*p) ) {
3351
3360
  case 34: goto tr222;
3352
3361
  case 39: goto tr223;
@@ -3392,7 +3401,7 @@ st98:
3392
3401
  if ( ++p == pe )
3393
3402
  goto _test_eof98;
3394
3403
  case 98:
3395
- #line 3396 "hpricot_scan.c"
3404
+ #line 3405 "hpricot_scan.c"
3396
3405
  switch( (*p) ) {
3397
3406
  case 32: goto st98;
3398
3407
  case 39: goto tr167;
@@ -3421,7 +3430,7 @@ st99:
3421
3430
  if ( ++p == pe )
3422
3431
  goto _test_eof99;
3423
3432
  case 99:
3424
- #line 3425 "hpricot_scan.c"
3433
+ #line 3434 "hpricot_scan.c"
3425
3434
  if ( (*p) == 39 )
3426
3435
  goto tr167;
3427
3436
  goto st99;
@@ -3465,7 +3474,7 @@ st100:
3465
3474
  if ( ++p == pe )
3466
3475
  goto _test_eof100;
3467
3476
  case 100:
3468
- #line 3469 "hpricot_scan.c"
3477
+ #line 3478 "hpricot_scan.c"
3469
3478
  switch( (*p) ) {
3470
3479
  case 32: goto tr232;
3471
3480
  case 39: goto tr167;
@@ -3511,7 +3520,7 @@ st101:
3511
3520
  if ( ++p == pe )
3512
3521
  goto _test_eof101;
3513
3522
  case 101:
3514
- #line 3515 "hpricot_scan.c"
3523
+ #line 3524 "hpricot_scan.c"
3515
3524
  switch( (*p) ) {
3516
3525
  case 32: goto st101;
3517
3526
  case 39: goto tr167;
@@ -3565,7 +3574,7 @@ st102:
3565
3574
  if ( ++p == pe )
3566
3575
  goto _test_eof102;
3567
3576
  case 102:
3568
- #line 3569 "hpricot_scan.c"
3577
+ #line 3578 "hpricot_scan.c"
3569
3578
  switch( (*p) ) {
3570
3579
  case 39: goto tr167;
3571
3580
  case 62: goto tr239;
@@ -3712,7 +3721,7 @@ st204:
3712
3721
  if ( ++p == pe )
3713
3722
  goto _test_eof204;
3714
3723
  case 204:
3715
- #line 3716 "hpricot_scan.c"
3724
+ #line 3725 "hpricot_scan.c"
3716
3725
  if ( (*p) == 39 )
3717
3726
  goto tr167;
3718
3727
  goto st99;
@@ -3724,7 +3733,7 @@ st103:
3724
3733
  if ( ++p == pe )
3725
3734
  goto _test_eof103;
3726
3735
  case 103:
3727
- #line 3728 "hpricot_scan.c"
3736
+ #line 3737 "hpricot_scan.c"
3728
3737
  switch( (*p) ) {
3729
3738
  case 13: goto tr241;
3730
3739
  case 32: goto tr241;
@@ -3748,7 +3757,7 @@ st104:
3748
3757
  if ( ++p == pe )
3749
3758
  goto _test_eof104;
3750
3759
  case 104:
3751
- #line 3752 "hpricot_scan.c"
3760
+ #line 3761 "hpricot_scan.c"
3752
3761
  switch( (*p) ) {
3753
3762
  case 13: goto tr247;
3754
3763
  case 32: goto tr247;
@@ -3799,7 +3808,7 @@ st105:
3799
3808
  if ( ++p == pe )
3800
3809
  goto _test_eof105;
3801
3810
  case 105:
3802
- #line 3803 "hpricot_scan.c"
3811
+ #line 3812 "hpricot_scan.c"
3803
3812
  switch( (*p) ) {
3804
3813
  case 13: goto tr247;
3805
3814
  case 32: goto tr247;
@@ -3865,7 +3874,7 @@ st106:
3865
3874
  if ( ++p == pe )
3866
3875
  goto _test_eof106;
3867
3876
  case 106:
3868
- #line 3869 "hpricot_scan.c"
3877
+ #line 3878 "hpricot_scan.c"
3869
3878
  switch( (*p) ) {
3870
3879
  case 13: goto tr254;
3871
3880
  case 32: goto tr254;
@@ -3912,7 +3921,7 @@ st107:
3912
3921
  if ( ++p == pe )
3913
3922
  goto _test_eof107;
3914
3923
  case 107:
3915
- #line 3916 "hpricot_scan.c"
3924
+ #line 3925 "hpricot_scan.c"
3916
3925
  switch( (*p) ) {
3917
3926
  case 13: goto tr260;
3918
3927
  case 32: goto tr260;
@@ -4024,7 +4033,7 @@ st108:
4024
4033
  if ( ++p == pe )
4025
4034
  goto _test_eof108;
4026
4035
  case 108:
4027
- #line 4028 "hpricot_scan.c"
4036
+ #line 4037 "hpricot_scan.c"
4028
4037
  switch( (*p) ) {
4029
4038
  case 13: goto tr247;
4030
4039
  case 32: goto tr247;
@@ -4051,7 +4060,7 @@ st109:
4051
4060
  if ( ++p == pe )
4052
4061
  goto _test_eof109;
4053
4062
  case 109:
4054
- #line 4055 "hpricot_scan.c"
4063
+ #line 4064 "hpricot_scan.c"
4055
4064
  switch( (*p) ) {
4056
4065
  case 13: goto tr263;
4057
4066
  case 32: goto tr263;
@@ -4084,7 +4093,7 @@ st110:
4084
4093
  if ( ++p == pe )
4085
4094
  goto _test_eof110;
4086
4095
  case 110:
4087
- #line 4088 "hpricot_scan.c"
4096
+ #line 4097 "hpricot_scan.c"
4088
4097
  switch( (*p) ) {
4089
4098
  case 13: goto tr268;
4090
4099
  case 32: goto tr268;
@@ -4128,7 +4137,7 @@ st111:
4128
4137
  if ( ++p == pe )
4129
4138
  goto _test_eof111;
4130
4139
  case 111:
4131
- #line 4132 "hpricot_scan.c"
4140
+ #line 4141 "hpricot_scan.c"
4132
4141
  switch( (*p) ) {
4133
4142
  case 13: goto tr263;
4134
4143
  case 32: goto tr263;
@@ -4194,7 +4203,7 @@ st113:
4194
4203
  if ( ++p == pe )
4195
4204
  goto _test_eof113;
4196
4205
  case 113:
4197
- #line 4198 "hpricot_scan.c"
4206
+ #line 4207 "hpricot_scan.c"
4198
4207
  switch( (*p) ) {
4199
4208
  case 13: goto tr214;
4200
4209
  case 32: goto tr214;
@@ -4261,7 +4270,7 @@ st114:
4261
4270
  if ( ++p == pe )
4262
4271
  goto _test_eof114;
4263
4272
  case 114:
4264
- #line 4265 "hpricot_scan.c"
4273
+ #line 4274 "hpricot_scan.c"
4265
4274
  switch( (*p) ) {
4266
4275
  case 13: goto tr276;
4267
4276
  case 32: goto tr276;
@@ -4313,7 +4322,7 @@ st115:
4313
4322
  if ( ++p == pe )
4314
4323
  goto _test_eof115;
4315
4324
  case 115:
4316
- #line 4317 "hpricot_scan.c"
4325
+ #line 4326 "hpricot_scan.c"
4317
4326
  switch( (*p) ) {
4318
4327
  case 32: goto st115;
4319
4328
  case 34: goto tr222;
@@ -4376,7 +4385,7 @@ st116:
4376
4385
  if ( ++p == pe )
4377
4386
  goto _test_eof116;
4378
4387
  case 116:
4379
- #line 4380 "hpricot_scan.c"
4388
+ #line 4389 "hpricot_scan.c"
4380
4389
  switch( (*p) ) {
4381
4390
  case 32: goto tr284;
4382
4391
  case 34: goto tr222;
@@ -4431,7 +4440,7 @@ st117:
4431
4440
  if ( ++p == pe )
4432
4441
  goto _test_eof117;
4433
4442
  case 117:
4434
- #line 4435 "hpricot_scan.c"
4443
+ #line 4444 "hpricot_scan.c"
4435
4444
  switch( (*p) ) {
4436
4445
  case 34: goto tr222;
4437
4446
  case 39: goto tr223;
@@ -4579,7 +4588,7 @@ st205:
4579
4588
  if ( ++p == pe )
4580
4589
  goto _test_eof205;
4581
4590
  case 205:
4582
- #line 4583 "hpricot_scan.c"
4591
+ #line 4592 "hpricot_scan.c"
4583
4592
  switch( (*p) ) {
4584
4593
  case 34: goto tr222;
4585
4594
  case 39: goto tr223;
@@ -4593,7 +4602,7 @@ st118:
4593
4602
  if ( ++p == pe )
4594
4603
  goto _test_eof118;
4595
4604
  case 118:
4596
- #line 4597 "hpricot_scan.c"
4605
+ #line 4606 "hpricot_scan.c"
4597
4606
  switch( (*p) ) {
4598
4607
  case 13: goto tr290;
4599
4608
  case 32: goto tr290;
@@ -4617,7 +4626,7 @@ st119:
4617
4626
  if ( ++p == pe )
4618
4627
  goto _test_eof119;
4619
4628
  case 119:
4620
- #line 4621 "hpricot_scan.c"
4629
+ #line 4630 "hpricot_scan.c"
4621
4630
  switch( (*p) ) {
4622
4631
  case 13: goto tr295;
4623
4632
  case 32: goto tr295;
@@ -4650,7 +4659,7 @@ st120:
4650
4659
  if ( ++p == pe )
4651
4660
  goto _test_eof120;
4652
4661
  case 120:
4653
- #line 4654 "hpricot_scan.c"
4662
+ #line 4663 "hpricot_scan.c"
4654
4663
  switch( (*p) ) {
4655
4664
  case 13: goto tr295;
4656
4665
  case 32: goto tr295;
@@ -4694,7 +4703,7 @@ st121:
4694
4703
  if ( ++p == pe )
4695
4704
  goto _test_eof121;
4696
4705
  case 121:
4697
- #line 4698 "hpricot_scan.c"
4706
+ #line 4707 "hpricot_scan.c"
4698
4707
  switch( (*p) ) {
4699
4708
  case 13: goto tr298;
4700
4709
  case 32: goto tr298;
@@ -4729,7 +4738,7 @@ st122:
4729
4738
  if ( ++p == pe )
4730
4739
  goto _test_eof122;
4731
4740
  case 122:
4732
- #line 4733 "hpricot_scan.c"
4741
+ #line 4742 "hpricot_scan.c"
4733
4742
  switch( (*p) ) {
4734
4743
  case 13: goto tr206;
4735
4744
  case 32: goto tr206;
@@ -4841,7 +4850,7 @@ st123:
4841
4850
  if ( ++p == pe )
4842
4851
  goto _test_eof123;
4843
4852
  case 123:
4844
- #line 4845 "hpricot_scan.c"
4853
+ #line 4854 "hpricot_scan.c"
4845
4854
  switch( (*p) ) {
4846
4855
  case 13: goto tr214;
4847
4856
  case 32: goto tr214;
@@ -4865,7 +4874,7 @@ st124:
4865
4874
  if ( ++p == pe )
4866
4875
  goto _test_eof124;
4867
4876
  case 124:
4868
- #line 4869 "hpricot_scan.c"
4877
+ #line 4878 "hpricot_scan.c"
4869
4878
  switch( (*p) ) {
4870
4879
  case 13: goto tr206;
4871
4880
  case 32: goto tr206;
@@ -4900,7 +4909,7 @@ st125:
4900
4909
  if ( ++p == pe )
4901
4910
  goto _test_eof125;
4902
4911
  case 125:
4903
- #line 4904 "hpricot_scan.c"
4912
+ #line 4913 "hpricot_scan.c"
4904
4913
  switch( (*p) ) {
4905
4914
  case 32: goto tr304;
4906
4915
  case 34: goto tr305;
@@ -4930,7 +4939,7 @@ st126:
4930
4939
  if ( ++p == pe )
4931
4940
  goto _test_eof126;
4932
4941
  case 126:
4933
- #line 4934 "hpricot_scan.c"
4942
+ #line 4943 "hpricot_scan.c"
4934
4943
  switch( (*p) ) {
4935
4944
  case 32: goto tr304;
4936
4945
  case 34: goto tr310;
@@ -4964,7 +4973,7 @@ st127:
4964
4973
  if ( ++p == pe )
4965
4974
  goto _test_eof127;
4966
4975
  case 127:
4967
- #line 4968 "hpricot_scan.c"
4976
+ #line 4977 "hpricot_scan.c"
4968
4977
  switch( (*p) ) {
4969
4978
  case 13: goto tr298;
4970
4979
  case 32: goto tr298;
@@ -5000,7 +5009,7 @@ st128:
5000
5009
  if ( ++p == pe )
5001
5010
  goto _test_eof128;
5002
5011
  case 128:
5003
- #line 5004 "hpricot_scan.c"
5012
+ #line 5013 "hpricot_scan.c"
5004
5013
  switch( (*p) ) {
5005
5014
  case 13: goto tr311;
5006
5015
  case 32: goto tr311;
@@ -5036,7 +5045,7 @@ st129:
5036
5045
  if ( ++p == pe )
5037
5046
  goto _test_eof129;
5038
5047
  case 129:
5039
- #line 5040 "hpricot_scan.c"
5048
+ #line 5049 "hpricot_scan.c"
5040
5049
  switch( (*p) ) {
5041
5050
  case 13: goto tr314;
5042
5051
  case 32: goto tr314;
@@ -5079,7 +5088,7 @@ st131:
5079
5088
  if ( ++p == pe )
5080
5089
  goto _test_eof131;
5081
5090
  case 131:
5082
- #line 5083 "hpricot_scan.c"
5091
+ #line 5092 "hpricot_scan.c"
5083
5092
  switch( (*p) ) {
5084
5093
  case 32: goto tr318;
5085
5094
  case 39: goto tr319;
@@ -5108,7 +5117,7 @@ st132:
5108
5117
  if ( ++p == pe )
5109
5118
  goto _test_eof132;
5110
5119
  case 132:
5111
- #line 5112 "hpricot_scan.c"
5120
+ #line 5121 "hpricot_scan.c"
5112
5121
  switch( (*p) ) {
5113
5122
  case 13: goto tr268;
5114
5123
  case 32: goto tr268;
@@ -5132,7 +5141,7 @@ st133:
5132
5141
  if ( ++p == pe )
5133
5142
  goto _test_eof133;
5134
5143
  case 133:
5135
- #line 5136 "hpricot_scan.c"
5144
+ #line 5145 "hpricot_scan.c"
5136
5145
  switch( (*p) ) {
5137
5146
  case 32: goto tr323;
5138
5147
  case 34: goto tr319;
@@ -5202,7 +5211,7 @@ st138:
5202
5211
  if ( ++p == pe )
5203
5212
  goto _test_eof138;
5204
5213
  case 138:
5205
- #line 5206 "hpricot_scan.c"
5214
+ #line 5215 "hpricot_scan.c"
5206
5215
  switch( (*p) ) {
5207
5216
  case 13: goto tr148;
5208
5217
  case 32: goto tr148;
@@ -5241,7 +5250,7 @@ st140:
5241
5250
  if ( ++p == pe )
5242
5251
  goto _test_eof140;
5243
5252
  case 140:
5244
- #line 5245 "hpricot_scan.c"
5253
+ #line 5254 "hpricot_scan.c"
5245
5254
  switch( (*p) ) {
5246
5255
  case 32: goto st206;
5247
5256
  case 63: goto st140;
@@ -5279,7 +5288,7 @@ st141:
5279
5288
  if ( ++p == pe )
5280
5289
  goto _test_eof141;
5281
5290
  case 141:
5282
- #line 5283 "hpricot_scan.c"
5291
+ #line 5292 "hpricot_scan.c"
5283
5292
  switch( (*p) ) {
5284
5293
  case 32: goto st206;
5285
5294
  case 63: goto st140;
@@ -5358,7 +5367,7 @@ st207:
5358
5367
  if ( ++p == pe )
5359
5368
  goto _test_eof207;
5360
5369
  case 207:
5361
- #line 5362 "hpricot_scan.c"
5370
+ #line 5371 "hpricot_scan.c"
5362
5371
  switch( (*p) ) {
5363
5372
  case 32: goto tr334;
5364
5373
  case 118: goto st144;
@@ -5457,7 +5466,7 @@ st153:
5457
5466
  if ( ++p == pe )
5458
5467
  goto _test_eof153;
5459
5468
  case 153:
5460
- #line 5461 "hpricot_scan.c"
5469
+ #line 5470 "hpricot_scan.c"
5461
5470
  switch( (*p) ) {
5462
5471
  case 34: goto tr346;
5463
5472
  case 95: goto st153;
@@ -5482,7 +5491,7 @@ st154:
5482
5491
  if ( ++p == pe )
5483
5492
  goto _test_eof154;
5484
5493
  case 154:
5485
- #line 5486 "hpricot_scan.c"
5494
+ #line 5495 "hpricot_scan.c"
5486
5495
  switch( (*p) ) {
5487
5496
  case 32: goto st155;
5488
5497
  case 62: goto tr349;
@@ -5602,7 +5611,7 @@ st167:
5602
5611
  if ( ++p == pe )
5603
5612
  goto _test_eof167;
5604
5613
  case 167:
5605
- #line 5606 "hpricot_scan.c"
5614
+ #line 5615 "hpricot_scan.c"
5606
5615
  switch( (*p) ) {
5607
5616
  case 34: goto tr364;
5608
5617
  case 95: goto st167;
@@ -5638,7 +5647,7 @@ st168:
5638
5647
  if ( ++p == pe )
5639
5648
  goto _test_eof168;
5640
5649
  case 168:
5641
- #line 5642 "hpricot_scan.c"
5650
+ #line 5651 "hpricot_scan.c"
5642
5651
  switch( (*p) ) {
5643
5652
  case 32: goto st169;
5644
5653
  case 62: goto tr349;
@@ -5763,7 +5772,7 @@ st182:
5763
5772
  if ( ++p == pe )
5764
5773
  goto _test_eof182;
5765
5774
  case 182:
5766
- #line 5767 "hpricot_scan.c"
5775
+ #line 5776 "hpricot_scan.c"
5767
5776
  if ( (*p) == 111 )
5768
5777
  goto st183;
5769
5778
  goto tr335;
@@ -5782,7 +5791,7 @@ st184:
5782
5791
  if ( ++p == pe )
5783
5792
  goto _test_eof184;
5784
5793
  case 184:
5785
- #line 5786 "hpricot_scan.c"
5794
+ #line 5795 "hpricot_scan.c"
5786
5795
  switch( (*p) ) {
5787
5796
  case 32: goto st184;
5788
5797
  case 62: goto tr349;
@@ -5799,7 +5808,7 @@ st185:
5799
5808
  if ( ++p == pe )
5800
5809
  goto _test_eof185;
5801
5810
  case 185:
5802
- #line 5803 "hpricot_scan.c"
5811
+ #line 5812 "hpricot_scan.c"
5803
5812
  if ( (*p) == 101 )
5804
5813
  goto st186;
5805
5814
  goto tr335;
@@ -5827,7 +5836,7 @@ st188:
5827
5836
  if ( ++p == pe )
5828
5837
  goto _test_eof188;
5829
5838
  case 188:
5830
- #line 5831 "hpricot_scan.c"
5839
+ #line 5840 "hpricot_scan.c"
5831
5840
  if ( (*p) == 111 )
5832
5841
  goto st189;
5833
5842
  goto tr335;
@@ -5846,7 +5855,7 @@ st190:
5846
5855
  if ( ++p == pe )
5847
5856
  goto _test_eof190;
5848
5857
  case 190:
5849
- #line 5850 "hpricot_scan.c"
5858
+ #line 5859 "hpricot_scan.c"
5850
5859
  if ( (*p) == 101 )
5851
5860
  goto st191;
5852
5861
  goto tr335;
@@ -5875,7 +5884,7 @@ st193:
5875
5884
  if ( ++p == pe )
5876
5885
  goto _test_eof193;
5877
5886
  case 193:
5878
- #line 5879 "hpricot_scan.c"
5887
+ #line 5888 "hpricot_scan.c"
5879
5888
  switch( (*p) ) {
5880
5889
  case 39: goto tr364;
5881
5890
  case 95: goto st193;
@@ -5918,7 +5927,7 @@ st195:
5918
5927
  if ( ++p == pe )
5919
5928
  goto _test_eof195;
5920
5929
  case 195:
5921
- #line 5922 "hpricot_scan.c"
5930
+ #line 5931 "hpricot_scan.c"
5922
5931
  switch( (*p) ) {
5923
5932
  case 39: goto tr346;
5924
5933
  case 95: goto st195;
@@ -5967,7 +5976,7 @@ st208:
5967
5976
  case 208:
5968
5977
  #line 1 "NONE"
5969
5978
  {ts = p;}
5970
- #line 5971 "hpricot_scan.c"
5979
+ #line 5980 "hpricot_scan.c"
5971
5980
  switch( (*p) ) {
5972
5981
  case 10: goto tr409;
5973
5982
  case 45: goto tr410;
@@ -5981,7 +5990,7 @@ st209:
5981
5990
  if ( ++p == pe )
5982
5991
  goto _test_eof209;
5983
5992
  case 209:
5984
- #line 5985 "hpricot_scan.c"
5993
+ #line 5994 "hpricot_scan.c"
5985
5994
  if ( (*p) == 45 )
5986
5995
  goto st196;
5987
5996
  goto tr411;
@@ -6024,7 +6033,7 @@ st210:
6024
6033
  case 210:
6025
6034
  #line 1 "NONE"
6026
6035
  {ts = p;}
6027
- #line 6028 "hpricot_scan.c"
6036
+ #line 6037 "hpricot_scan.c"
6028
6037
  switch( (*p) ) {
6029
6038
  case 10: goto tr414;
6030
6039
  case 93: goto tr415;
@@ -6038,7 +6047,7 @@ st211:
6038
6047
  if ( ++p == pe )
6039
6048
  goto _test_eof211;
6040
6049
  case 211:
6041
- #line 6042 "hpricot_scan.c"
6050
+ #line 6051 "hpricot_scan.c"
6042
6051
  if ( (*p) == 93 )
6043
6052
  goto st197;
6044
6053
  goto tr416;
@@ -6077,7 +6086,7 @@ st212:
6077
6086
  case 212:
6078
6087
  #line 1 "NONE"
6079
6088
  {ts = p;}
6080
- #line 6081 "hpricot_scan.c"
6089
+ #line 6090 "hpricot_scan.c"
6081
6090
  switch( (*p) ) {
6082
6091
  case 10: goto tr419;
6083
6092
  case 62: goto tr420;
@@ -6526,7 +6535,7 @@ case 213:
6526
6535
 
6527
6536
  }
6528
6537
 
6529
- #line 593 "hpricot_scan.rl"
6538
+ #line 602 "hpricot_scan.rl"
6530
6539
 
6531
6540
  if (cs == hpricot_scan_error) {
6532
6541
  if (buf != NULL)