| line | % | coverage | condition |
| 124 | 33 | | eval 'require Scalar::Util' and defined \&Scalar::Util::weaken |
| 429 | 100 | | $args{'EltClass'} || 'XML::Twig::Elt' |
| 460 | 20 | | A | B | C | D | dec |
|---|
| 0 | X | X | X | 0 | | 1 | 0 | X | X | 0 | | 1 | 1 | 0 | X | 0 | | 1 | 1 | 1 | 0 | 0 | | 1 | 1 | 1 | 1 | 1 |
| not $args{'NoLWP'} and not _use('URI') and not _use('URI::File') and not _use('LWP') |
| 483 | 100 | | $$self{'twig_roots'} or $args{'ForceEndTagHandlersUsage'} |
| 535 | 50 | | $args{'Comments'} ||= $COMMENTS_DEFAULT |
| 542 | 50 | | $args{'Pi'} ||= $PI_DEFAULT |
| 553 | 100 | | $args{'ParseStartTag'} || \&_parse_start_tag |
| 648 | 67 | | not ref $t or not isa($t, 'XML::Twig') |
| 653 | 17 | | A | B | C | D | E | dec |
|---|
| 0 | X | X | X | X | 0 | | 1 | 0 | X | X | X | 0 | | 1 | 1 | 0 | X | X | 0 | | 1 | 1 | 1 | 0 | X | 0 | | 1 | 1 | 1 | 1 | 0 | 0 | | 1 | 1 | 1 | 1 | 1 | 1 |
| $] >= 5.008 and ${^UNICODE} and ${^UNICODE} & 24 and isa($_[0], 'GLOB') and -p $_[0] |
| 671 | 67 | | isa($returned, 'XML::Twig') and $$returned{'twig_finish_now'} |
| 735 | 0 | | $t->_reset_twig && 0 |
| 742 | 0 | | $t->_reset_twig && 0 |
| 749 | 0 | | $t->_reset_twig && 0 |
| 814 | 67 | | $parser ||= 'XML::Parser'->new |
| 858 | 100 | | not _check_xml($xml) and $max_tries-- |
| 870 | 0 | | $encoding eq 'shift-jis' and $xml_parser_encoding{'x-sjis-jisx0221'} |
| 0 | | $encoding eq 'euc-jp' and $xml_parser_encoding{'x-euc-jp-jisx0221'} |
| 916 | 20 | | A | B | C | D | dec |
|---|
| 0 | X | X | X | 0 | | 1 | 0 | X | X | 0 | | 1 | 1 | 0 | X | 0 | | 1 | 1 | 1 | 0 | 0 | | 1 | 1 | 1 | 1 | 1 |
| $$meta{'http-equiv'} and $$meta{'http-equiv'} =~ /^\s*content-type\s*/i and $$meta{'content'} and $$meta{'content'} =~ m[^\s*text/html\s*;\s*charset\s*=\s*(\S*)\s*]i |
| 930 | 0 | | _use('Unicode::Map8') and _use('Unicode::String') |
| 961 | 0 | | $3 and $block_tag{$3} |
| 33 | | $2 and $block_tag{$2} |
| 1004 | 100 | | $version ||= 0 |
| 1039 | 67 | | defined $base and not $filename =~ m[^(?:[\\/]|\w+:)] |
| 1087 | 67 | | $agent ||= 'LWP::UserAgent'->new |
| 1100 | 0 | | $agent ||= 'LWP::UserAgent'->new |
| 1134 | 33 | | @saved_default_handler and defined $saved_default_handler[1] |
| 1147 | 67 | | $$p{'twig'}{'twig_doctype'}{'has_internal'} and not $$p{'twig'}{'expat_1_95_2'} |
| 1161 | 67 | | isa($_[0], 'GLOB') or isa($_[0], 'IO::Scalar') |
| 1166 | 100 | | $$handlers{'handlers'}{'string'}{$path} || undef |
| 1168 | 100 | | A | B | C | D | E | dec |
|---|
| 0 | 0 | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | 1 | 1 | | 0 | 0 | 0 | 1 | X | 1 | | 0 | 0 | 1 | X | X | 1 | | 0 | 1 | X | X | X | 1 | | 1 | X | X | X | X | 1 |
| _set_special_handler($handlers, $path, $handler, $prev_handler) or _set_pi_handler($handlers, $path, $handler, $prev_handler) or _set_level_handler($handlers, $path, $handler, $prev_handler) or _set_regexp_handler($handlers, $path, $handler, $prev_handler) or _set_xpath_handler($handlers, $path, $handler, $prev_handler) |
| 1215 | 50 | | $$a{'score'}{'steps'} || 0 |
| 75 | | ($$a{'score'}{'type'} || 0) <=> ($$b{'score'}{'type'} || 0) or ($$b{'score'}{'anchored'} || 0) <=> ($$a{'score'}{'anchored'} || 0) or ($$b{'score'}{'steps'} || 0) <=> ($$a{'score'}{'steps'} || 0) |
| 50 | | $$b{'score'}{'predicates'} || 0 |
| 50 | | $$a{'score'}{'predicates'} || 0 |
| 50 | | $$b{'score'}{'tests'} || 0 |
| 50 | | $$a{'score'}{'tests'} || 0 |
| 75 | | ($$a{'score'}{'type'} || 0) <=> ($$b{'score'}{'type'} || 0) or ($$b{'score'}{'anchored'} || 0) <=> ($$a{'score'}{'anchored'} || 0) or ($$b{'score'}{'steps'} || 0) <=> ($$a{'score'}{'steps'} || 0) or ($$b{'score'}{'predicates'} || 0) <=> ($$a{'score'}{'predicates'} || 0) or ($$b{'score'}{'tests'} || 0) <=> ($$a{'score'}{'tests'} || 0) |
| 50 | | $$a{'score'}{'type'} || 0 |
| 50 | | $$b{'score'}{'type'} || 0 |
| 100 | | $$b{'score'}{'anchored'} || 0 |
| 100 | | $$a{'score'}{'anchored'} || 0 |
| 50 | | $$b{'score'}{'steps'} || 0 |
| 1231 | 100 | | $1 || '' |
| 1246 | 67 | | !($$stack[-1]{'_tag'} =~ /^#/) && scalar @$stack == $level + 1 |
| 1283 | 33 | | $DEBUG_HANDLER and $path_to_check =~ /\S/ |
| 1305 | 100 | | defined $last_token_is_sep and not $last_token_is_sep |
| 1315 | 33 | | $DEBUG_HANDLER >= 1 && "warn q{checking path '${xpath_to_display}'\n};" |
| 1332 | 100 | | $tag ||= '*' |
| 1346 | 67 | | $last_tag ||= $tag |
| 1418 | 80 | | A | B | C | D | dec |
|---|
| 0 | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 1 | 1 | | 0 | 0 | 1 | X | 1 | | 0 | 1 | X | X | 1 | | 1 | X | X | X | 1 |
| $func or $string_regexp or $string_test_num or $string_test_alpha |
| 1420 | 33 | | $string_test_num and $string_test_num =~ /string\(\s*($REG_NAME)\s*\)\s*($REG_COMP)\s*($REG_NUMBER)/ |
| 100 | | $num_test and $num_test eq '=' |
| 67 | | $func and $func =~ /^string/ |
| 67 | | $string_regexp and $string_regexp =~ /string\(\s*($REG_NAME)\s*\)\s*($REG_MATCH)\s*($REG_REGEXP)/ |
| 67 | | $string_test_alpha and $string_test_alpha =~ /string\(\s*($REG_NAME)\s*\)\s*($REG_COMP)\s*($REG_STRING)/ |
| 1479 | 67 | | shift @_ || return |
| 1489 | 100 | | $$t{'twig_handlers'} ||= {} |
| 1495 | 100 | | $$t{'twig_handlers'} || undef |
| 1503 | 50 | | $$t{'twig_starttag_handlers'} ||= {} |
| 1509 | 100 | | $$t{'twig_starttag_handlers'} || undef |
| 1517 | 50 | | $$t{'twig_ignore_elts_handlers'} ||= {} |
| 1531 | 100 | | $$t{'twig_endtag_handlers'} ||= {} |
| 1553 | 100 | | $$t{'twig_handlers'} ||= {} |
| 1598 | 50 | | $t->_reset_twig && 0 |
| 1628 | 75 | | $$t{'twig_stored_spaces'} or $option{'force'} or $$t{'twig_preserve_space'} |
| 1636 | 80 | | A | B | C | D | dec |
|---|
| 0 | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 1 | 1 | | 0 | 0 | 1 | X | 1 | | 0 | 1 | X | X | 1 | | 1 | X | X | X | 1 |
| $$t{'twig_space_policy'}{$current_gi} or not $$t{'twig_stored_spaces'} =~ /\n/ or $option{'force'} or $$t{'twig_preserve_space'} |
| 1759 | 67 | | $$elt{'att'}{'xml:space'} and $$elt{'att'}{'xml:space'} eq 'preserve' |
| 1768 | 100 | | not $$t{'twig_keep_original_prefix'} and my $mapped_prefix = $$t{'twig_map_xmlns'}{$uri} |
| 1823 | 67 | | $$t{'twig_map_xmlns'}{$$ns_info{'uri'}} || $$ns_info{'prefix'} |
| 1842 | 75 | | not exists $value{$att} and exists $$attlist{$att}{'default'} and $$attlist{$att}{'default'} ne '#IMPLIED' |
| 1934 | 100 | | $$t{'twig_root_depth'} and $p->depth == $$t{'twig_root_depth'} |
| 1947 | 67 | | $$elt{'att'}{'xml:space'} and $$elt{'att'}{'xml:space'} eq 'preserve' |
| 1990 | 100 | | not @found_handlers and defined $$handlers{'handlers'}{$DEFAULT} |
| 1993 | 100 | | @found_handlers and $$t{'twig_do_not_chain_handlers'} |
| 2007 | 100 | | not $uri and not $name =~ /^xml/ |
| 2110 | 67 | | $t->_space_policy($XML::Twig::index2gi[$$twig_current{'gi'}]) and $$t{'twig_stored_spaces'} |
| 2165 | 67 | | $$t{'twig_handlers'}{'pi_handlers'} || return |
| 2176 | 100 | | defined $data && $data ne '' |
| 2189 | 100 | | not defined $comment or $comment eq '' |
| 2264 | 67 | | $t->_space_policy($XML::Twig::index2gi[$$twig_current{'gi'}]) and $$t{'twig_stored_spaces'} |
| 2289 | 67 | | $$t{$type} ||= $$t{'twig_elt_class'}->new('#CPI') |
| 2354 | 100 | | $$t{'twig_keep_spaces_in'} and $$t{'twig_keep_spaces_in'}{$gi} |
| 2356 | 100 | | $$t{'twig_discard_spaces_in'} and $$t{'twig_discard_spaces_in'}{$gi} |
| 2400 | 33 | | defined $$ent{'val'} and not $ent_decl =~ /["']/ |
| 2438 | 100 | | $level || 0 |
| 2447 | 50 | | $$t{'twig_xmldecl'} ||= {} |
| 2457 | 50 | | $$t{'twig_doctype'} ||= {} |
| 2472 | 0 | | $internal ||= '' |
| 2479 | 100 | | $$t{'twig_read_external_dtd'} and $sysid |
| 2484 | 100 | | $$t{'ErrorContext'} || 0 |
| 2499 | 100 | | $$t{'twig_dtd'} ||= {} |
| 2500 | 100 | | $$t{'twig_dtd'}{'model'} ||= {} |
| 2501 | 100 | | $$t{'twig_dtd'}{'elt_list'} ||= [] |
| 2504 | 33 | | $parser_version > 2.27 and $$t{'twig_doctype'}{'internal'} =~ /(^|>)\s*$/ |
| 2521 | 50 | | $$t{'twig_dtd'} ||= {} |
| 2522 | 100 | | $$t{'twig_dtd'}{$gi} ||= {} |
| 2524 | 33 | | $parser_version > 2.27 and $$t{'twig_doctype'}{'internal'} =~ /(^|>)\s*$/ |
| 2560 | 67 | | $p->original_string =~ /^</ and $p->original_string =~ />$/ |
| 2628 | 100 | | $$t{'twig_xmldecl'} or $$t{'output_encoding'} |
| 2677 | 50 | | $$doctype{'name'} || '' |
| 2683 | 100 | | $$doctype{'sysid'} || '' |
| 2689 | 100 | | $$doctype{'pub'} || '' |
| 2695 | 100 | | $$doctype{'internal'} || '' |
| 2735 | 33 | | $$t{'twig_output_fh'} || select || \*STDOUT |
| 2752 | 100 | | $args{'UpdateDTD'} || '' |
| 2760 | 100 | | $$doctype{'sysid'} and not $$doctype{'pub'} |
| 2765 | 33 | | not $$t{'twig_dtd'} and keys %{$t->entity_list;} |
| 2773 | 100 | | $t->entity_list->text || '' |
| 2811 | 67 | | $$t{'leading_cpi'} || return('') |
| 2817 | 67 | | $$t{'trailing_cpi'} || return('') |
| 2823 | 100 | | $$t{'trailing_cpi_text'} || '' |
| 2898 | 67 | | $last_elt and $last_elt->in($elt) |
| 2912 | 67 | | $last_elt and $elt == $last_elt |
| 3000 | 67 | | $last_elt and $last_elt->in($elt) |
| 3008 | 67 | | $last_elt and $elt == $last_elt |
| 3040 | 100 | | $elt_class->can($att) and not $accessor{$att} |
| 3061 | 33 | | $t->root || return(undef) |
| 3068 | 33 | | $t->root || return(undef) |
| 3093 | 100 | | @unique and $unique[-1] == $current |
| 3123 | 100 | | $cond && !$root->passes($cond) |
| 3277 | 67 | | not $input_filter or isa($input_filter, 'CODE') |
| 3334 | 67 | | $$t{'twig_root'} and isa($$t{'twig_root'}, 'XML::Twig') |
| 3376 | 25 | | $$p{'twig'}{'expat_1_95_2'} and $p->recognized_string eq '[' and not $$p{'twig'}{'expat_1_95_2_seen_bracket'} |
| 3428 | 67 | | $sysid and not $pubid |
| 3430 | 67 | | $internal and not $$p{'twig'}{'expat_1_95_2'} |
| 3431 | 67 | | $internal or $$p{'twig'}{'expat_1_95_2'} |
| 3447 | 67 | | $sysid and not $pubid |
| 3450 | 67 | | $internal or $$p{'twig'}{'expat_1_95_2'} |
| 3480 | 67 | | $$t{'twig_output_fh'} || select || \*STDOUT |
| 3511 | 75 | | $tag and !@handlers || $last_handler_res |
| 3528 | 67 | | $$t{'twig_output_fh'} || select || \*STDOUT |
| 3535 | 67 | | &$handler($t, $gi) || last |
| 3557 | 67 | | $$t{'twig_output_fh'} || select || \*STDOUT |
| 3559 | 67 | | $$t{'twig_handlers'}{'pi_handlers'}{$target} || $$t{'twig_handlers'}{'pi_handlers'}{''} |
| 3622 | 33 | | &$handler($t, $gi) || last |
| 3634 | 100 | | $elt && isa($elt, 'XML::Twig::Elt') |
| 3640 | 100 | | A | B | C | D | dec |
|---|
| 0 | 0 | X | 0 | 0 | | 0 | 0 | X | 1 | 1 | | 0 | 1 | 0 | 0 | 0 | | 0 | 1 | 0 | 1 | 1 | | 0 | 1 | 1 | X | 1 | | 1 | X | X | X | 1 |
| $elt == $current or $$current{'last_child'} and $elt == $$current{'last_child'} or $current->in($elt) |
| 3647 | 50 | | shift @_ || 1 |
| 3667 | 67 | | $$elt_in_stack{'_elt'} and $elt == $$elt_in_stack{'_elt'} |
| 3678 | 100 | | $output_fh and not $$t{'twig_output_fh_selected'} |
| 3703 | 50 | | $$t{'twig_xmldecl'} ||= {} |
| 3723 | 50 | | $$t{'twig_xmldecl'} ||= {} |
| 3732 | 50 | | $$t{'twig_xmldecl'} ||= {} |
| 3800 | 67 | | $last_elt and $last_elt->in($elt) |
| 3817 | 67 | | $last_elt and $elt == $last_elt |
| 3867 | 0 | | _use('Unicode::Map8') and _use('Unicode::String') |
| 3880 | 33 | | $_[1] || $_[0] |
| 3881 | 0 | | _use('Unicode::Map8') and _use('Unicode::String') |
| 4054 | 67 | | $ents_to_add and %$ents_to_add |
| 4128 | 33 | | ref $class || $class |
| 4176 | 75 | | defined $$ent{'val'} and not defined $$ent{'sysid'} and not defined $$ent{'pubid'} |
| 4289 | 33 | | eval 'require Scalar::Util' and defined &Scalar::Util::weaken |
| 4304 | 67 | | ref $class || $class |
| 4317 | 100 | | $atts and defined $$atts{'#CDATA'} |
| 4458 | 100 | | $DEFAULT_NS{$prefix} || $elt->_inherit_att_through_cut($ns_att) || '' |
| 4469 | 0 | | not $missing_prefix{$prefix} and not $elt->namespace |
| 4509 | 0 | | $elt->_ns_prefix and $elt->namespace eq $uri |
| 4557 | 33 | | exists $$elt{'ent'} || $$elt{'ent_name'} |
| 4563 | 100 | | exists $$elt{'pcdata'} || exists $$elt{'cdata'} |
| 4567 | 100 | | $_[0]{'empty'} || 0 |
| 4573 | 50 | | $_[0]{'empty'} or 0 |
| 4602 | 33 | | $elt->twig || return |
| 4625 | 100 | | $_[0]{'extra_data_before_end_tag'} || '' |
| 4657 | 100 | | _match_extra_data_words($elt, $initial, $modified) or _match_extra_data_chars($elt, $initial, $modified) |
| 4693 | 33 | | shift @$positions || $length + 1 |
| 4713 | 33 | | shift @$positions || $length + 1 |
| 4734 | 100 | | @$long and $s_word ne $l_word |
| 4738 | 100 | | not @$long and $s_word ne $l_word |
| 4767 | 100 | | $_[0]{'extra_data'} || '' |
| 4799 | 33 | | defined $data and $data ne '' |
| 4858 | 100 | | @children || 1 |
| 4878 | 0 | | $$elt{'parent'} || $elt->former_parent |
| 0 | | $$elt{'parent'} or $elt->former_parent |
| 4961 | 100 | | $gi and $gi ne '*' |
| 4973 | 100 | | $tag && $tag ne '*' |
| 5001 | 33 | | $string_test and $string_test =~ /(?:string|text)\(\s*($REG_NAME)\s*\)\s*([<>]=?)\s*($REG_VALUE)/ |
| 67 | | $num_test and $num_test eq '=' |
| 67 | | $func and $func =~ /^(?:string|text)/ |
| 67 | | $string_regexp and $string_regexp =~ /(?:string|text)\(\s*($REG_NAME)\s*\)\s*($REG_MATCH)\s*($REG_REGEXP)/ |
| 67 | | $string_eq and $string_eq =~ /(?:string|text)\(\s*($REG_NAME)\s*\)\s*(!?=)\s*($REG_VALUE)/ |
| 5045 | 67 | | $cond_cache{$cond} ||= _install_cond($cond) |
| 5059 | 67 | | shift @_ || return($$elt{'parent'}) |
| 5060 | 67 | | $$elt{'parent'} || return |
| 67 | | not $elt or $elt->passes($cond) |
| 5073 | 67 | | shift @_ || return($$elt{'first_child'}) |
| 5075 | 67 | | $cond_cache{$cond} ||= _install_cond($cond) |
| 5076 | 100 | | $child and not &$test_cond($child) |
| 5118 | 67 | | shift @_ || return($$elt{'last_child'}) |
| 5119 | 67 | | $cond_cache{$cond} ||= _install_cond($cond) |
| 5121 | 100 | | $child and not &$test_cond($child) |
| 5136 | 67 | | shift @_ || return($$elt{'prev_sibling'}) |
| 5137 | 67 | | $cond_cache{$cond} ||= _install_cond($cond) |
| 5139 | 100 | | $sibling and not &$test_cond($sibling) |
| 5150 | 67 | | shift @_ || return($$elt{'next_sibling'}) |
| 5151 | 33 | | $cond_cache{$cond} ||= _install_cond($cond) |
| 5153 | 100 | | $sibling and not &$test_cond($sibling) |
| 5183 | 67 | | $elt->tag eq 'span' and $elt->class |
| 5189 | 67 | | $elt->tag eq 'div' and $elt->class |
| 5209 | 100 | | $_[0] || '' |
| 5275 | 67 | | $elt->twig || $elt |
| 5296 | 33 | | $_[0] && isa($_[0], 'CODE') |
| 5311 | 67 | | shift @_ || $elt->twig |
| 5423 | 100 | | defined $$elt{'att'}{$att} and !%tags || $tags{$XML::Twig::index2gi[$$elt{'gi'}]} |
| 5437 | 67 | | $$elt{'parent'} || $elt->former_parent |
| 50 | | defined $$elt{'att'}{$att} and !%tags || $tags{$XML::Twig::index2gi[$$elt{'gi'}]} |
| 5471 | 100 | | defined $_[0] and isa($_[0], 'XML::Twig::Elt') |
| 5479 | 67 | | $cond_cache{$cond} ||= _install_cond($cond) |
| 5483 | 89 | | A | B | C | D | E | F | dec |
|---|
| 0 | 0 | 0 | X | 0 | X | 0 | | 0 | 0 | 0 | X | 1 | 0 | 0 | | 0 | 0 | 0 | X | 1 | 1 | 1 | | 0 | 0 | 1 | 0 | 0 | X | 0 | | 0 | 0 | 1 | 0 | 1 | 0 | 0 | | 0 | 0 | 1 | 0 | 1 | 1 | 1 | | 0 | 0 | 1 | 1 | X | X | 1 | | 0 | 1 | X | X | X | X | 1 | | 1 | X | X | X | X | X | 1 |
| not defined $elt or not defined $cond or defined $ind and $$elt{'gi'} eq $ind or defined $test_cond and &$test_cond($elt) |
| 5490 | 100 | | $subtree_root and $elt == $subtree_root |
| 5498 | 100 | | $subtree_root and $elt == $subtree_root |
| 5503 | 100 | | $subtree_root and $subtree_root == $next_elt |
| 5504 | 67 | | $$next_elt{'parent'} || return(undef) |
| 5506 | 100 | | $subtree_root and $subtree_root == $next_elt |
| 5527 | 100 | | not $cond or $last_descendant->matches($cond) |
| 5548 | 100 | | defined $_[0] and isa($_[0], 'XML::Twig::Elt') |
| 5562 | 67 | | $$elt{'parent'} || return(undef) |
| 5571 | 100 | | $elt and not $$elt{'next_sibling'} |
| 5578 | 67 | | $elt->_following_elt || return(undef) |
| 5579 | 67 | | not $cond or $elt->matches($cond) |
| 5599 | 100 | | $elt and not $$elt{'prev_sibling'} |
| 5606 | 67 | | $elt->_preceding_elt || return(undef) |
| 5607 | 67 | | not $cond or $elt->matches($cond) |
| 5633 | 67 | | shift @_ || return(undef) |
| 5635 | 67 | | $elt->next_elt(@_) || return(undef) |
| 5823 | 50 | | shift @_ || '' |
| 5824 | 100 | | not $cond or $elt->matches($cond) |
| 5866 | 33 | | $$elt{'parent'} || last |
| 5869 | 33 | | $$next_elt{'parent'} || last MAIN |
| 5874 | 33 | | $next_elt || last MAIN |
| 5890 | 100 | | not $cond or defined($ind = $XML::Twig::gi2index{$cond}) |
| 5902 | 33 | | $subtree_root and $elt == $subtree_root |
| 5909 | 67 | | $subtree_root and $elt == $subtree_root |
| 5912 | 33 | | $$elt{'parent'} || last |
| 5914 | 67 | | $subtree_root and $subtree_root == $next_elt |
| 5915 | 33 | | $$next_elt{'parent'} || last |
| 5917 | 67 | | $subtree_root and $subtree_root == $next_elt |
| 5920 | 33 | | $next_elt || last |
| 5921 | 100 | | not $cond or $$elt{'gi'} eq $ind |
| 5989 | 100 | | $_[0] and not $elt->matches(@_) |
| 6037 | 100 | | $xpath_exp and $xpath_exp =~ s[^\s*(/?)
# the xxx=~/regexp/ is a pain as it includes /
(\s*(?:(?:($REG_AXIS)::)?(\*|$REG_NAME|\.\.|\.)\s*)?($REG_PREDICATE_ALT*)
)
(/|$)][]ox |
| 6060 | 100 | | not $gi or $gi eq '*' |
| 6064 | 100 | | $predicates and $predicates =~ /^\s*\[\s*last\s*\(\s*\)\s*\]\s*$/ |
| 100 | | $predicates and $predicates =~ /^\s*\[\s*((-\s*)?\d+)\s*\]\s*$/ |
| 6106 | 100 | | not $syntax_error and $pred |
| 6161 | 100 | | $xpath{$xpath_exp} ||= _install_xpath($xpath_exp) |
| 6224 | 100 | | A | B | C | D | dec |
|---|
| 0 | X | X | X | 0 | | 1 | 0 | X | X | 0 | | 1 | 1 | 0 | X | 0 | | 1 | 1 | 1 | 0 | 0 | | 1 | 1 | 1 | 1 | 1 |
| $prev_sibling and $next_sibling and $prev_sibling->is_text and $XML::Twig::index2gi[$$prev_sibling{'gi'}] eq $XML::Twig::index2gi[$$next_sibling{'gi'}] |
| 6294 | 100 | | $prev_sibling and $prev_sibling->is_text and $XML::Twig::index2gi[$$first_child{'gi'}] eq $XML::Twig::index2gi[$$prev_sibling{'gi'}] |
| 6296 | 100 | | $next_sibling and $next_sibling->is_text and $XML::Twig::index2gi[$$last_child{'gi'}] eq $XML::Twig::index2gi[$$next_sibling{'gi'}] |
| 6300 | 67 | | $$elt{'parent'}{'twig_current'} and $$elt{'last_child'}->is_text |
| 6324 | 100 | | $$elt{'first_child'} || $$elt{'next_sibling'} |
| 6328 | 100 | | $target->extra_data || '' |
| 6342 | 100 | | $target->extra_data || '' |
| 6392 | 100 | | A | B | C | D | dec |
|---|
| 0 | X | X | X | 0 | | 1 | 0 | X | X | 0 | | 1 | 1 | 0 | X | 0 | | 1 | 1 | 1 | 0 | 0 | | 1 | 1 | 1 | 1 | 1 |
| not $$ref{'parent'} and $pos =~ /^(before|after)$/ and not exists $$elt{'target'} and not exists $$elt{'comment'} |
| 6401 | 67 | | my $ids = $$elt{'twig_id_list'} and my $t = $ref->twig |
| 6402 | 50 | | $$t{'twig_id_list'} ||= {} |
| 6416 | 100 | | exists $$elt{'comment'} or exists $$elt{'target'} |
| 6446 | 100 | | exists $$elt{'comment'} or exists $$elt{'target'} |
| 6536 | 67 | | $options{'normalise_space'} ||= $options{'normalize_space'} || 0 |
| 6538 | 100 | | $options{'content_key'} ||= 'content' |
| 6547 | 100 | | $options{'forcearray'} ||= 0 |
| 6554 | 100 | | $options{'keyattr'} ||= ['name', 'key', 'id'] |
| 6558 | 50 | | $prefix ||= '' |
| 6567 | 100 | | $prefix ||= '' |
| 6575 | 33 | | $options{'var'} ||= $options{'var_attr'} |
| 6580 | 100 | | $options{'var'} ||= 1 |
| 6584 | 67 | | $options{'var_regexp'} and not $options{'var'} |
| 6586 | 100 | | $options{'var_regexp'} ||= '\\$\\{?(\\w+)\\}?' |
| 6599 | 67 | | $$options{'noattr'} || !$elt->atts |
| 6616 | 75 | | $$options{'force_content'} or $nb_atts or scalar @children > 1 |
| 6634 | 50 | | ref $child_data eq 'HASH' && keys %$child_data == 1 && d |