1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
|
# contributed by Philippe Verdret
use strict;
use lib '../lib';
print "1..1\n";
use XML::Checker::Parser;
# The X document is an invalid document
my $doc= join '', <DATA>;
my $p= new XML::Checker::Parser;
eval {
local $XML::Checker::FAIL= \&my_fail;
$p->parse( $doc );
};
if( $@) { print "ok 1: $@\n"; }
else { print "not ok 1\n"; }
# gets an error and dies after creating the error message
sub my_fail
{ my ($code, $msg, %context)= @_;
die " error $code ($msg) at line $context{line}, column $context{column}";
}
__DATA__
<?xml version="1.0"?>
<!DOCTYPE X [
<!ELEMENT X (X_1, X_2, X_3, X_4, X_5, X_6, X_7, X_8, X_9, X_10, X_11, X_12, X_13, X_14, X_15, X_16, X_17, X_18, X_19, X_20, X_21, X_22, X_23, X_24, X_25, X_26, X_27, X_28, X_29, X_30, X_31, X_32, X_33, X_34, X_35, X_36, X_37, X_38, X_39, X_40, X_41, X_42, X_43, X_44, X_45, X_46, X_47, X_48, X_49, X_50, X_51, X_52, X_53, X_54, X_55, X_56, X_57, X_58, X_59, X_60, X_61, X_62, X_63, X_64, X_65, X_66, X_67, X_68, X_69, X_70, X_71, X_72, X_73, X_74, X_75, X_76, X_77, X_78, X_79, X_80, X_81, X_82, X_83, X_84, X_85, X_86, X_87, X_88, X_89, X_90, X_91, X_92, X_93, X_94, X_95, X_96, X_97, X_98, X_99, X_100, X_101, X_102, X_103, X_104, X_105, X_106, X_107, X_108, X_109, X_110, X_111, X_112, X_113, X_114, X_115, X_116, X_117, X_118, X_119, X_120, X_121, X_122, X_123, X_124, X_125, X_126, X_127, X_128, X_129, X_130)>
<!ELEMENT X_1 (#PCDATA)>
<!ELEMENT X_2 (#PCDATA)>
<!ELEMENT X_3 (#PCDATA)>
<!ELEMENT X_4 (#PCDATA)>
<!ELEMENT X_5 (#PCDATA)>
<!ELEMENT X_6 (#PCDATA)>
<!ELEMENT X_7 (#PCDATA)>
<!ELEMENT X_8 (#PCDATA)>
<!ELEMENT X_9 (#PCDATA)>
<!ELEMENT X_10 (#PCDATA)>
<!ELEMENT X_11 (#PCDATA)>
<!ELEMENT X_12 (#PCDATA)>
<!ELEMENT X_13 (#PCDATA)>
<!ELEMENT X_14 (#PCDATA)>
<!ELEMENT X_15 (#PCDATA)>
<!ELEMENT X_16 (#PCDATA)>
<!ELEMENT X_17 (#PCDATA)>
<!ELEMENT X_18 (#PCDATA)>
<!ELEMENT X_19 (#PCDATA)>
<!ELEMENT X_20 (#PCDATA)>
<!ELEMENT X_21 (#PCDATA)>
<!ELEMENT X_22 (#PCDATA)>
<!ELEMENT X_23 (#PCDATA)>
<!ELEMENT X_24 (#PCDATA)>
<!ELEMENT X_25 (#PCDATA)>
<!ELEMENT X_26 (#PCDATA)>
<!ELEMENT X_27 (#PCDATA)>
<!ELEMENT X_28 (#PCDATA)>
<!ELEMENT X_29 (#PCDATA)>
<!ELEMENT X_30 (#PCDATA)>
<!ELEMENT X_31 (#PCDATA)>
<!ELEMENT X_32 (#PCDATA)>
<!ELEMENT X_33 (#PCDATA)>
<!ELEMENT X_34 (#PCDATA)>
<!ELEMENT X_35 (#PCDATA)>
<!ELEMENT X_36 (#PCDATA)>
<!ELEMENT X_37 (#PCDATA)>
<!ELEMENT X_38 (#PCDATA)>
<!ELEMENT X_39 (#PCDATA)>
<!ELEMENT X_40 (#PCDATA)>
<!ELEMENT X_41 (#PCDATA)>
<!ELEMENT X_42 (#PCDATA)>
<!ELEMENT X_43 (#PCDATA)>
<!ELEMENT X_44 (#PCDATA)>
<!ELEMENT X_45 (#PCDATA)>
<!ELEMENT X_46 (#PCDATA)>
<!ELEMENT X_47 (#PCDATA)>
<!ELEMENT X_48 (#PCDATA)>
<!ELEMENT X_49 (#PCDATA)>
<!ELEMENT X_50 (#PCDATA)>
<!ELEMENT X_51 (#PCDATA)>
<!ELEMENT X_52 (#PCDATA)>
<!ELEMENT X_53 (#PCDATA)>
<!ELEMENT X_54 (#PCDATA)>
<!ELEMENT X_55 (#PCDATA)>
<!ELEMENT X_56 (#PCDATA)>
<!ELEMENT X_57 (#PCDATA)>
<!ELEMENT X_58 (#PCDATA)>
<!ELEMENT X_59 (#PCDATA)>
<!ELEMENT X_60 (#PCDATA)>
<!ELEMENT X_61 (#PCDATA)>
<!ELEMENT X_62 (#PCDATA)>
<!ELEMENT X_63 (#PCDATA)>
<!ELEMENT X_64 (#PCDATA)>
<!ELEMENT X_65 (#PCDATA)>
<!ELEMENT X_66 (#PCDATA)>
<!ELEMENT X_67 (#PCDATA)>
<!ELEMENT X_68 (#PCDATA)>
<!ELEMENT X_69 (#PCDATA)>
<!ELEMENT X_70 (#PCDATA)>
<!ELEMENT X_71 (#PCDATA)>
<!ELEMENT X_72 (#PCDATA)>
<!ELEMENT X_73 (#PCDATA)>
<!ELEMENT X_74 (#PCDATA)>
<!ELEMENT X_75 (#PCDATA)>
<!ELEMENT X_76 (#PCDATA)>
<!ELEMENT X_77 (#PCDATA)>
<!ELEMENT X_78 (#PCDATA)>
<!ELEMENT X_79 (#PCDATA)>
<!ELEMENT X_80 (#PCDATA)>
<!ELEMENT X_81 (#PCDATA)>
<!ELEMENT X_82 (#PCDATA)>
<!ELEMENT X_83 (#PCDATA)>
<!ELEMENT X_84 (#PCDATA)>
<!ELEMENT X_85 (#PCDATA)>
<!ELEMENT X_86 (#PCDATA)>
<!ELEMENT X_87 (#PCDATA)>
<!ELEMENT X_88 (#PCDATA)>
<!ELEMENT X_89 (#PCDATA)>
<!ELEMENT X_90 (#PCDATA)>
<!ELEMENT X_91 (#PCDATA)>
<!ELEMENT X_92 (#PCDATA)>
<!ELEMENT X_93 (#PCDATA)>
<!ELEMENT X_94 (#PCDATA)>
<!ELEMENT X_95 (#PCDATA)>
<!ELEMENT X_96 (#PCDATA)>
<!ELEMENT X_97 (#PCDATA)>
<!ELEMENT X_98 (#PCDATA)>
<!ELEMENT X_99 (#PCDATA)>
<!ELEMENT X_100 (#PCDATA)>
<!ELEMENT X_101 (#PCDATA)>
<!ELEMENT X_102 (#PCDATA)>
<!ELEMENT X_103 (#PCDATA)>
<!ELEMENT X_104 (#PCDATA)>
<!ELEMENT X_105 (#PCDATA)>
<!ELEMENT X_106 (#PCDATA)>
<!ELEMENT X_107 (#PCDATA)>
<!ELEMENT X_108 (#PCDATA)>
<!ELEMENT X_109 (#PCDATA)>
<!ELEMENT X_110 (#PCDATA)>
<!ELEMENT X_111 (#PCDATA)>
<!ELEMENT X_112 (#PCDATA)>
<!ELEMENT X_113 (#PCDATA)>
<!ELEMENT X_114 (#PCDATA)>
<!ELEMENT X_115 (#PCDATA)>
<!ELEMENT X_116 (#PCDATA)>
<!ELEMENT X_117 (#PCDATA)>
<!ELEMENT X_118 (#PCDATA)>
<!ELEMENT X_119 (#PCDATA)>
<!ELEMENT X_120 (#PCDATA)>
<!ELEMENT X_121 (#PCDATA)>
<!ELEMENT X_122 (#PCDATA)>
<!ELEMENT X_123 (#PCDATA)>
<!ELEMENT X_124 (#PCDATA)>
<!ELEMENT X_125 (#PCDATA)>
<!ELEMENT X_126 (#PCDATA)>
<!ELEMENT X_127 (#PCDATA)>
<!ELEMENT X_128 (#PCDATA)>
<!ELEMENT X_129 (#PCDATA)>
<!ELEMENT X_130 (#PCDATA)>
]>
<X><X_1></X_1><X_2></X_2><X_3></X_3><X_4></X_4><X_5></X_5><X_6></X_6><X_7></X_7><X_8></X_8><X_9></X_9><X_10></X_10><X_11></X_11><X_12></X_12><X_13></X_13><X_14></X_14><X_15></X_15><X_16></X_16><X_17></X_17><X_18></X_18><X_19></X_19><X_20></X_20><X_21></X_21><X_22></X_22><X_23></X_23><X_24></X_24><X_25></X_25><X_26></X_26><X_27></X_27><X_28></X_28><X_29></X_29><X_30></X_30><X_31></X_31><X_32></X_32><X_33></X_33><X_34></X_34><X_35></X_35><X_36></X_36><X_37></X_37><X_38></X_38><X_39></X_39><X_40></X_40><X_41></X_41><X_42></X_42><X_43></X_43><X_44></X_44><X_45></X_45><X_46></X_46><X_47></X_47><X_48></X_48><X_49></X_49><X_50></X_50><X_51></X_51><X_52></X_52><X_53></X_53><X_54></X_54><X_55></X_55><X_56></X_56><X_57></X_57><X_58></X_58><X_59></X_59><X_60></X_60><X_61></X_61><X_62></X_62><X_63></X_63><X_64></X_64><X_65></X_65><X_66></X_66><X_67></X_67><X_68></X_68><X_69></X_69><X_70></X_70><X_71></X_71><X_72></X_72><X_73></X_73><X_74></X_74><X_75></X_75><X_76></X_76><X_77></X_77><X_78></X_78><X_79></X_79><X_80></X_80><X_81></X_81><X_82></X_82><X_83></X_83><X_84></X_84><X_85></X_85><X_86></X_86><X_87></X_87><X_88></X_88><X_89></X_89><X_90></X_90><X_91></X_91><X_92></X_92><X_93></X_93><X_94></X_94><X_95></X_95><X_96></X_96><X_97></X_97><X_98></X_98><X_99></X_99><X_100></X_100><X_101></X_101><X_102></X_102><X_103></X_103><X_104></X_104><X_105></X_105><X_106></X_106><X_107></X_107><X_108></X_108><X_109></X_109><X_110></X_110><X_111></X_111><X_112></X_112><X_113></X_113><X_114></X_114><X_115></X_115><X_116></X_116><X_117></X_117><X_118></X_118><X_119></X_119><X_120></X_120><X_121></X_121><X_122></X_122><X_123></X_123><X_124></X_124><X_125></X_125><X_126></X_126><X_127></X_127><X_128></X_128></X>
|