Branch Coverage

blib/lib/XML/SAX/Base.pm
Criterion Covered Total %
branch 479 690 69.4


line true false branch
43 0 8 if (defined $$self{'Methods'}{'end_prefix_mapping'}) { }
49 0 8 if (exists $$self{'ParseOptions'}) { }
55 2 6 if (do { $method = $$callbacks{'ContentHandler'}->can('end_prefix_mapping') if defined $$callbacks{'ContentHandler'} }) { }
3 3 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('end_prefix_mapping')) { }
2 1 elsif (defined $$callbacks{'ContentHandler'} and $$callbacks{'ContentHandler'}->can('AUTOLOAD') and $$callbacks{'ContentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
57 4 4 if defined $$callbacks{'ContentHandler'}
73 0 2 if ($@) { }
91 0 1 if ($@) { }
112 0 7 if (defined $$self{'Methods'}{'internal_entity_decl'}) { }
118 0 7 if (exists $$self{'ParseOptions'}) { }
124 2 5 if (do { $method = $$callbacks{'DeclHandler'}->can('internal_entity_decl') if defined $$callbacks{'DeclHandler'} }) { }
3 2 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('internal_entity_decl')) { }
1 1 elsif (defined $$callbacks{'DeclHandler'} and $$callbacks{'DeclHandler'}->can('AUTOLOAD') and $$callbacks{'DeclHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
126 3 4 if defined $$callbacks{'DeclHandler'}
142 0 1 if ($@) { }
160 0 1 if ($@) { }
181 0 12 if (defined $$self{'Methods'}{'characters'}) { }
187 0 12 if (exists $$self{'ParseOptions'}) { }
193 2 10 if (do { $method = $$callbacks{'ContentHandler'}->can('characters') if defined $$callbacks{'ContentHandler'} }) { }
2 8 elsif (defined $$callbacks{'DocumentHandler'} and $method = $$callbacks{'DocumentHandler'}->can('characters')) { }
3 5 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('characters')) { }
2 3 elsif (defined $$callbacks{'ContentHandler'} and $$callbacks{'ContentHandler'}->can('AUTOLOAD') and $$callbacks{'ContentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 2 elsif (defined $$callbacks{'DocumentHandler'} and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
195 4 8 if defined $$callbacks{'ContentHandler'}
216 0 2 if ($@) { }
234 0 1 if ($@) { }
252 0 2 if ($@) { }
273 17 19 if (defined $$self{'Methods'}{'start_element'}) { }
279 4 15 if (exists $$self{'ParseOptions'}) { }
285 5 14 if (do { $method = $$callbacks{'ContentHandler'}->can('start_element') if defined $$callbacks{'ContentHandler'} }) { }
6 8 elsif (defined $$callbacks{'DocumentHandler'} and $method = $$callbacks{'DocumentHandler'}->can('start_element')) { }
3 5 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('start_element')) { }
2 3 elsif (defined $$callbacks{'ContentHandler'} and $$callbacks{'ContentHandler'}->can('AUTOLOAD') and $$callbacks{'ContentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 2 elsif (defined $$callbacks{'DocumentHandler'} and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
287 7 12 if defined $$callbacks{'ContentHandler'}
308 0 2 if ($@) { }
326 0 1 if ($@) { }
344 0 2 if ($@) { }
365 0 7 if (defined $$self{'Methods'}{'external_entity_decl'}) { }
371 0 7 if (exists $$self{'ParseOptions'}) { }
377 2 5 if (do { $method = $$callbacks{'DeclHandler'}->can('external_entity_decl') if defined $$callbacks{'DeclHandler'} }) { }
3 2 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('external_entity_decl')) { }
1 1 elsif (defined $$callbacks{'DeclHandler'} and $$callbacks{'DeclHandler'}->can('AUTOLOAD') and $$callbacks{'DeclHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
379 3 4 if defined $$callbacks{'DeclHandler'}
395 0 1 if ($@) { }
413 0 1 if ($@) { }
434 0 9 if (defined $$self{'Methods'}{'xml_decl'}) { }
440 0 9 if (exists $$self{'ParseOptions'}) { }
446 3 6 if (do { $method = $$callbacks{'DTDHandler'}->can('xml_decl') if defined $$callbacks{'DTDHandler'} }) { }
3 3 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('xml_decl')) { }
1 2 elsif (defined $$callbacks{'DTDHandler'} and $$callbacks{'DTDHandler'}->can('AUTOLOAD') and $$callbacks{'DTDHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
448 4 5 if defined $$callbacks{'DTDHandler'}
464 0 1 if ($@) { }
482 0 2 if ($@) { }
503 0 9 if (defined $$self{'Methods'}{'entity_decl'}) { }
509 0 9 if (exists $$self{'ParseOptions'}) { }
515 3 6 if (do { $method = $$callbacks{'DTDHandler'}->can('entity_decl') if defined $$callbacks{'DTDHandler'} }) { }
3 3 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('entity_decl')) { }
1 2 elsif (defined $$callbacks{'DTDHandler'} and $$callbacks{'DTDHandler'}->can('AUTOLOAD') and $$callbacks{'DTDHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
517 4 5 if defined $$callbacks{'DTDHandler'}
533 0 1 if ($@) { }
551 0 2 if ($@) { }
572 0 7 if (defined $$self{'Methods'}{'end_dtd'}) { }
578 0 7 if (exists $$self{'ParseOptions'}) { }
584 2 5 if (do { $method = $$callbacks{'LexicalHandler'}->can('end_dtd') if defined $$callbacks{'LexicalHandler'} }) { }
3 2 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('end_dtd')) { }
1 1 elsif (defined $$callbacks{'LexicalHandler'} and $$callbacks{'LexicalHandler'}->can('AUTOLOAD') and $$callbacks{'LexicalHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
586 3 4 if defined $$callbacks{'LexicalHandler'}
602 0 1 if ($@) { }
620 0 1 if ($@) { }
641 0 9 if (defined $$self{'Methods'}{'unparsed_entity_decl'}) { }
647 0 9 if (exists $$self{'ParseOptions'}) { }
653 3 6 if (do { $method = $$callbacks{'DTDHandler'}->can('unparsed_entity_decl') if defined $$callbacks{'DTDHandler'} }) { }
3 3 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('unparsed_entity_decl')) { }
1 2 elsif (defined $$callbacks{'DTDHandler'} and $$callbacks{'DTDHandler'}->can('AUTOLOAD') and $$callbacks{'DTDHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
655 4 5 if defined $$callbacks{'DTDHandler'}
671 0 1 if ($@) { }
689 0 2 if ($@) { }
710 0 12 if (defined $$self{'Methods'}{'processing_instruction'}) { }
716 0 12 if (exists $$self{'ParseOptions'}) { }
722 2 10 if (do { $method = $$callbacks{'ContentHandler'}->can('processing_instruction') if defined $$callbacks{'ContentHandler'} }) { }
2 8 elsif (defined $$callbacks{'DocumentHandler'} and $method = $$callbacks{'DocumentHandler'}->can('processing_instruction')) { }
3 5 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('processing_instruction')) { }
2 3 elsif (defined $$callbacks{'ContentHandler'} and $$callbacks{'ContentHandler'}->can('AUTOLOAD') and $$callbacks{'ContentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 2 elsif (defined $$callbacks{'DocumentHandler'} and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
724 4 8 if defined $$callbacks{'ContentHandler'}
745 0 2 if ($@) { }
763 0 1 if ($@) { }
781 0 2 if ($@) { }
802 0 7 if (defined $$self{'Methods'}{'attribute_decl'}) { }
808 0 7 if (exists $$self{'ParseOptions'}) { }
814 2 5 if (do { $method = $$callbacks{'DeclHandler'}->can('attribute_decl') if defined $$callbacks{'DeclHandler'} }) { }
3 2 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('attribute_decl')) { }
1 1 elsif (defined $$callbacks{'DeclHandler'} and $$callbacks{'DeclHandler'}->can('AUTOLOAD') and $$callbacks{'DeclHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
816 3 4 if defined $$callbacks{'DeclHandler'}
832 0 1 if ($@) { }
850 0 1 if ($@) { }
871 0 7 if (defined $$self{'Methods'}{'fatal_error'}) { }
877 0 7 if (exists $$self{'ParseOptions'}) { }
883 2 5 if (do { $method = $$callbacks{'ErrorHandler'}->can('fatal_error') if defined $$callbacks{'ErrorHandler'} }) { }
3 2 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('fatal_error')) { }
1 1 elsif (defined $$callbacks{'ErrorHandler'} and $$callbacks{'ErrorHandler'}->can('AUTOLOAD') and $$callbacks{'ErrorHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
885 3 4 if defined $$callbacks{'ErrorHandler'}
901 0 1 if ($@) { }
919 0 1 if ($@) { }
940 0 7 if (defined $$self{'Methods'}{'end_cdata'}) { }
946 0 7 if (exists $$self{'ParseOptions'}) { }
952 0 7 if (do { $method = $$callbacks{'DocumentHandler'}->can('end_cdata') if defined $$callbacks{'DocumentHandler'} }) { }
2 5 elsif (defined $$callbacks{'LexicalHandler'} and $method = $$callbacks{'LexicalHandler'}->can('end_cdata')) { }
3 2 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('end_cdata')) { }
0 2 elsif (defined $$callbacks{'DocumentHandler'} and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 1 elsif (defined $$callbacks{'LexicalHandler'} and $$callbacks{'LexicalHandler'}->can('AUTOLOAD') and $$callbacks{'LexicalHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
954 0 7 if defined $$callbacks{'DocumentHandler'}
975 0 0 if ($@) { }
993 0 1 if ($@) { }
1011 0 1 if ($@) { }
1032 0 7 if (defined $$self{'Methods'}{'start_entity'}) { }
1038 0 7 if (exists $$self{'ParseOptions'}) { }
1044 2 5 if (do { $method = $$callbacks{'LexicalHandler'}->can('start_entity') if defined $$callbacks{'LexicalHandler'} }) { }
3 2 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('start_entity')) { }
1 1 elsif (defined $$callbacks{'LexicalHandler'} and $$callbacks{'LexicalHandler'}->can('AUTOLOAD') and $$callbacks{'LexicalHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1046 3 4 if defined $$callbacks{'LexicalHandler'}
1062 0 1 if ($@) { }
1080 0 1 if ($@) { }
1101 0 8 if (defined $$self{'Methods'}{'start_prefix_mapping'}) { }
1107 0 8 if (exists $$self{'ParseOptions'}) { }
1113 2 6 if (do { $method = $$callbacks{'ContentHandler'}->can('start_prefix_mapping') if defined $$callbacks{'ContentHandler'} }) { }
3 3 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('start_prefix_mapping')) { }
2 1 elsif (defined $$callbacks{'ContentHandler'} and $$callbacks{'ContentHandler'}->can('AUTOLOAD') and $$callbacks{'ContentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1115 4 4 if defined $$callbacks{'ContentHandler'}
1131 0 2 if ($@) { }
1149 0 1 if ($@) { }
1170 0 7 if (defined $$self{'Methods'}{'error'}) { }
1176 0 7 if (exists $$self{'ParseOptions'}) { }
1182 2 5 if (do { $method = $$callbacks{'ErrorHandler'}->can('error') if defined $$callbacks{'ErrorHandler'} }) { }
3 2 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('error')) { }
1 1 elsif (defined $$callbacks{'ErrorHandler'} and $$callbacks{'ErrorHandler'}->can('AUTOLOAD') and $$callbacks{'ErrorHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1184 3 4 if defined $$callbacks{'ErrorHandler'}
1200 0 1 if ($@) { }
1218 0 1 if ($@) { }
1239 0 12 if (defined $$self{'Methods'}{'start_document'}) { }
1245 0 12 if (exists $$self{'ParseOptions'}) { }
1251 2 10 if (do { $method = $$callbacks{'ContentHandler'}->can('start_document') if defined $$callbacks{'ContentHandler'} }) { }
2 8 elsif (defined $$callbacks{'DocumentHandler'} and $method = $$callbacks{'DocumentHandler'}->can('start_document')) { }
3 5 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('start_document')) { }
2 3 elsif (defined $$callbacks{'ContentHandler'} and $$callbacks{'ContentHandler'}->can('AUTOLOAD') and $$callbacks{'ContentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 2 elsif (defined $$callbacks{'DocumentHandler'} and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1253 4 8 if defined $$callbacks{'ContentHandler'}
1274 0 2 if ($@) { }
1292 0 1 if ($@) { }
1310 0 2 if ($@) { }
1331 0 12 if (defined $$self{'Methods'}{'ignorable_whitespace'}) { }
1337 0 12 if (exists $$self{'ParseOptions'}) { }
1343 2 10 if (do { $method = $$callbacks{'ContentHandler'}->can('ignorable_whitespace') if defined $$callbacks{'ContentHandler'} }) { }
2 8 elsif (defined $$callbacks{'DocumentHandler'} and $method = $$callbacks{'DocumentHandler'}->can('ignorable_whitespace')) { }
3 5 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('ignorable_whitespace')) { }
2 3 elsif (defined $$callbacks{'ContentHandler'} and $$callbacks{'ContentHandler'}->can('AUTOLOAD') and $$callbacks{'ContentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 2 elsif (defined $$callbacks{'DocumentHandler'} and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1345 4 8 if defined $$callbacks{'ContentHandler'}
1366 0 2 if ($@) { }
1384 0 1 if ($@) { }
1402 0 2 if ($@) { }
1423 0 12 if (defined $$self{'Methods'}{'end_document'}) { }
1429 0 12 if (exists $$self{'ParseOptions'}) { }
1435 4 8 if (do { $method = $$callbacks{'ContentHandler'}->can('end_document') if defined $$callbacks{'ContentHandler'} }) { }
2 6 elsif (defined $$callbacks{'DocumentHandler'} and $method = $$callbacks{'DocumentHandler'}->can('end_document')) { }
3 3 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('end_document')) { }
0 3 elsif (defined $$callbacks{'ContentHandler'} and $$callbacks{'ContentHandler'}->can('AUTOLOAD') and $$callbacks{'ContentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 2 elsif (defined $$callbacks{'DocumentHandler'} and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1437 4 8 if defined $$callbacks{'ContentHandler'}
1458 0 0 if ($@) { }
1476 0 1 if ($@) { }
1494 0 2 if ($@) { }
1515 0 7 if (defined $$self{'Methods'}{'start_cdata'}) { }
1521 0 7 if (exists $$self{'ParseOptions'}) { }
1527 0 7 if (do { $method = $$callbacks{'DocumentHandler'}->can('start_cdata') if defined $$callbacks{'DocumentHandler'} }) { }
2 5 elsif (defined $$callbacks{'LexicalHandler'} and $method = $$callbacks{'LexicalHandler'}->can('start_cdata')) { }
3 2 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('start_cdata')) { }
0 2 elsif (defined $$callbacks{'DocumentHandler'} and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 1 elsif (defined $$callbacks{'LexicalHandler'} and $$callbacks{'LexicalHandler'}->can('AUTOLOAD') and $$callbacks{'LexicalHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1529 0 7 if defined $$callbacks{'DocumentHandler'}
1550 0 0 if ($@) { }
1568 0 1 if ($@) { }
1586 0 1 if ($@) { }
1607 0 12 if (defined $$self{'Methods'}{'set_document_locator'}) { }
1613 0 12 if (exists $$self{'ParseOptions'}) { }
1619 2 10 if (do { $method = $$callbacks{'ContentHandler'}->can('set_document_locator') if defined $$callbacks{'ContentHandler'} }) { }
2 8 elsif (defined $$callbacks{'DocumentHandler'} and $method = $$callbacks{'DocumentHandler'}->can('set_document_locator')) { }
3 5 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('set_document_locator')) { }
2 3 elsif (defined $$callbacks{'ContentHandler'} and $$callbacks{'ContentHandler'}->can('AUTOLOAD') and $$callbacks{'ContentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 2 elsif (defined $$callbacks{'DocumentHandler'} and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1621 4 8 if defined $$callbacks{'ContentHandler'}
1642 0 2 if ($@) { }
1660 0 1 if ($@) { }
1678 0 2 if ($@) { }
1699 0 9 if (defined $$self{'Methods'}{'attlist_decl'}) { }
1705 0 9 if (exists $$self{'ParseOptions'}) { }
1711 3 6 if (do { $method = $$callbacks{'DTDHandler'}->can('attlist_decl') if defined $$callbacks{'DTDHandler'} }) { }
3 3 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('attlist_decl')) { }
1 2 elsif (defined $$callbacks{'DTDHandler'} and $$callbacks{'DTDHandler'}->can('AUTOLOAD') and $$callbacks{'DTDHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1713 4 5 if defined $$callbacks{'DTDHandler'}
1729 0 1 if ($@) { }
1747 0 2 if ($@) { }
1768 0 7 if (defined $$self{'Methods'}{'start_dtd'}) { }
1774 0 7 if (exists $$self{'ParseOptions'}) { }
1780 2 5 if (do { $method = $$callbacks{'LexicalHandler'}->can('start_dtd') if defined $$callbacks{'LexicalHandler'} }) { }
3 2 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('start_dtd')) { }
1 1 elsif (defined $$callbacks{'LexicalHandler'} and $$callbacks{'LexicalHandler'}->can('AUTOLOAD') and $$callbacks{'LexicalHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1782 3 4 if defined $$callbacks{'LexicalHandler'}
1798 0 1 if ($@) { }
1816 0 1 if ($@) { }
1837 0 7 if (defined $$self{'Methods'}{'resolve_entity'}) { }
1843 0 7 if (exists $$self{'ParseOptions'}) { }
1849 2 5 if (do { $method = $$callbacks{'EntityResolver'}->can('resolve_entity') if defined $$callbacks{'EntityResolver'} }) { }
3 2 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('resolve_entity')) { }
1 1 elsif (defined $$callbacks{'EntityResolver'} and $$callbacks{'EntityResolver'}->can('AUTOLOAD') and $$callbacks{'EntityResolver'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1851 3 4 if defined $$callbacks{'EntityResolver'}
1867 0 1 if ($@) { }
1885 0 1 if ($@) { }
1906 0 7 if (defined $$self{'Methods'}{'entity_reference'}) { }
1912 0 7 if (exists $$self{'ParseOptions'}) { }
1918 2 5 if (do { $method = $$callbacks{'DocumentHandler'}->can('entity_reference') if defined $$callbacks{'DocumentHandler'} }) { }
3 2 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('entity_reference')) { }
1 1 elsif (defined $$callbacks{'DocumentHandler'} and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1920 3 4 if defined $$callbacks{'DocumentHandler'}
1936 0 1 if ($@) { }
1954 0 1 if ($@) { }
1975 0 7 if (defined $$self{'Methods'}{'element_decl'}) { }
1981 0 7 if (exists $$self{'ParseOptions'}) { }
1987 2 5 if (do { $method = $$callbacks{'DeclHandler'}->can('element_decl') if defined $$callbacks{'DeclHandler'} }) { }
3 2 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('element_decl')) { }
1 1 elsif (defined $$callbacks{'DeclHandler'} and $$callbacks{'DeclHandler'}->can('AUTOLOAD') and $$callbacks{'DeclHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1989 3 4 if defined $$callbacks{'DeclHandler'}
2005 0 1 if ($@) { }
2023 0 1 if ($@) { }
2044 0 6 if (defined $$self{'Methods'}{'notation_decl'}) { }
2050 0 6 if (exists $$self{'ParseOptions'}) { }
2056 3 3 if (do { $method = $$callbacks{'DTDHandler'}->can('notation_decl') if defined $$callbacks{'DTDHandler'} }) { }
0 3 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('notation_decl')) { }
1 2 elsif (defined $$callbacks{'DTDHandler'} and $$callbacks{'DTDHandler'}->can('AUTOLOAD') and $$callbacks{'DTDHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2058 4 2 if defined $$callbacks{'DTDHandler'}
2074 0 1 if ($@) { }
2092 0 2 if ($@) { }
2113 0 8 if (defined $$self{'Methods'}{'skipped_entity'}) { }
2119 0 8 if (exists $$self{'ParseOptions'}) { }
2125 2 6 if (do { $method = $$callbacks{'ContentHandler'}->can('skipped_entity') if defined $$callbacks{'ContentHandler'} }) { }
3 3 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('skipped_entity')) { }
2 1 elsif (defined $$callbacks{'ContentHandler'} and $$callbacks{'ContentHandler'}->can('AUTOLOAD') and $$callbacks{'ContentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2127 4 4 if defined $$callbacks{'ContentHandler'}
2143 0 2 if ($@) { }
2161 0 1 if ($@) { }
2182 0 12 if (defined $$self{'Methods'}{'end_element'}) { }
2188 0 12 if (exists $$self{'ParseOptions'}) { }
2194 2 10 if (do { $method = $$callbacks{'ContentHandler'}->can('end_element') if defined $$callbacks{'ContentHandler'} }) { }
2 8 elsif (defined $$callbacks{'DocumentHandler'} and $method = $$callbacks{'DocumentHandler'}->can('end_element')) { }
3 5 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('end_element')) { }
2 3 elsif (defined $$callbacks{'ContentHandler'} and $$callbacks{'ContentHandler'}->can('AUTOLOAD') and $$callbacks{'ContentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 2 elsif (defined $$callbacks{'DocumentHandler'} and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2196 4 8 if defined $$callbacks{'ContentHandler'}
2217 0 2 if ($@) { }
2235 0 1 if ($@) { }
2253 0 2 if ($@) { }
2274 0 9 if (defined $$self{'Methods'}{'doctype_decl'}) { }
2280 0 9 if (exists $$self{'ParseOptions'}) { }
2286 3 6 if (do { $method = $$callbacks{'DTDHandler'}->can('doctype_decl') if defined $$callbacks{'DTDHandler'} }) { }
3 3 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('doctype_decl')) { }
1 2 elsif (defined $$callbacks{'DTDHandler'} and $$callbacks{'DTDHandler'}->can('AUTOLOAD') and $$callbacks{'DTDHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2288 4 5 if defined $$callbacks{'DTDHandler'}
2304 0 1 if ($@) { }
2322 0 2 if ($@) { }
2343 0 7 if (defined $$self{'Methods'}{'comment'}) { }
2349 0 7 if (exists $$self{'ParseOptions'}) { }
2355 0 7 if (do { $method = $$callbacks{'DocumentHandler'}->can('comment') if defined $$callbacks{'DocumentHandler'} }) { }
2 5 elsif (defined $$callbacks{'LexicalHandler'} and $method = $$callbacks{'LexicalHandler'}->can('comment')) { }
3 2 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('comment')) { }
0 2 elsif (defined $$callbacks{'DocumentHandler'} and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') and $$callbacks{'DocumentHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 1 elsif (defined $$callbacks{'LexicalHandler'} and $$callbacks{'LexicalHandler'}->can('AUTOLOAD') and $$callbacks{'LexicalHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2357 0 7 if defined $$callbacks{'DocumentHandler'}
2378 0 0 if ($@) { }
2396 0 1 if ($@) { }
2414 0 1 if ($@) { }
2435 0 7 if (defined $$self{'Methods'}{'end_entity'}) { }
2441 0 7 if (exists $$self{'ParseOptions'}) { }
2447 2 5 if (do { $method = $$callbacks{'LexicalHandler'}->can('end_entity') if defined $$callbacks{'LexicalHandler'} }) { }
3 2 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('end_entity')) { }
1 1 elsif (defined $$callbacks{'LexicalHandler'} and $$callbacks{'LexicalHandler'}->can('AUTOLOAD') and $$callbacks{'LexicalHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2449 3 4 if defined $$callbacks{'LexicalHandler'}
2465 0 1 if ($@) { }
2483 0 1 if ($@) { }
2504 0 7 if (defined $$self{'Methods'}{'warning'}) { }
2510 0 7 if (exists $$self{'ParseOptions'}) { }
2516 2 5 if (do { $method = $$callbacks{'ErrorHandler'}->can('warning') if defined $$callbacks{'ErrorHandler'} }) { }
3 2 elsif (defined $$callbacks{'Handler'} and $method = $$callbacks{'Handler'}->can('warning')) { }
1 1 elsif (defined $$callbacks{'ErrorHandler'} and $$callbacks{'ErrorHandler'}->can('AUTOLOAD') and $$callbacks{'ErrorHandler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
1 0 elsif (defined $$callbacks{'Handler'} and $$callbacks{'Handler'}->can('AUTOLOAD') and $$callbacks{'Handler'}->can('AUTOLOAD') ne ('UNIVERSAL'->can('AUTOLOAD') || '')) { }
2518 3 4 if defined $$callbacks{'ErrorHandler'}
2534 0 1 if ($@) { }
2552 0 1 if ($@) { }
2577 0 41 $#_ == 0 ? :
2579 10 4 unless (defined $$options{'Handler'} or defined $$options{'ContentHandler'} or defined $$options{'DTDHandler'} or defined $$options{'DocumentHandler'} or defined $$options{'LexicalHandler'} or defined $$options{'ErrorHandler'} or defined $$options{'DeclHandler'})
2604 0 0 if ($$self{'Parent'}) { }
2609 0 0 if (defined $$parse_options{'Source'}{'CharacterStream'} and $method = $self->can('_parse_characterstream')) { }
0 0 elsif (defined $$parse_options{'Source'}{'ByteStream'} and $method = $self->can('_parse_bytestream')) { }
0 0 elsif (defined $$parse_options{'Source'}{'String'} and $method = $self->can('_parse_string')) { }
0 0 elsif (defined $$parse_options{'Source'}{'SystemId'} and $method = $self->can('_parse_systemid')) { }
2635 0 0 if ref \$file eq 'SCALAR'
2672 0 0 if (@_ == 1) { }
2716 0 0 if (exists $features{$feat})
2718 0 0 if ($supported{$feat})
2746 41 0 if (exists $features{$feat})
2748 41 0 if ($supported{$feat})
2770 2 0 defined $$self{$handler_type} ? :
2816 3 1 if $$self{'Methods'}