| line | % | coverage | condition |
| 126 | 33 | | eval 'require Scalar::Util' and defined \&Scalar::Util::weaken |
| 431 | 100 | | $args{'EltClass'} || 'XML::Twig::Elt' |
| 462 | 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') |
| 485 | 100 | | $$self{'twig_roots'} or $args{'ForceEndTagHandlersUsage'} |
| 537 | 50 | | $args{'Comments'} ||= $COMMENTS_DEFAULT |
| 544 | 50 | | $args{'Pi'} ||= $PI_DEFAULT |
| 555 | 100 | | $args{'ParseStartTag'} || \&_parse_start_tag |
| 650 | 67 | | not ref $t or not isa($t, 'XML::Twig') |
| 655 | 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] |
| 673 | 67 | | isa($returned, 'XML::Twig') and $$returned{'twig_finish_now'} |
| 704 | 33 | | $$t{'twig_keep_encoding'} or $] < 5.006 |
| 739 | 0 | | $t->_reset_twig && 0 |
| 746 | 0 | | $t->_reset_twig && 0 |
| 753 | 0 | | $t->_reset_twig && 0 |
| 818 | 67 | | $parser ||= 'XML::Parser'->new |
| 862 | 100 | | not _check_xml($xml) and $max_tries-- |
| 874 | 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'} |
| 920 | 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 |
| 934 | 0 | | _use('Unicode::Map8') and _use('Unicode::String') |
| 965 | 0 | | $3 and $block_tag{$3} |
| 33 | | $2 and $block_tag{$2} |
| 1008 | 100 | | $version ||= 0 |
| 1043 | 67 | | defined $base and not $filename =~ m[^(?:[\\/]|\w+:)] |
| 1091 | 67 | | $agent ||= 'LWP::UserAgent'->new |
| 1104 | 0 | | $agent ||= 'LWP::UserAgent'->new |
| 1141 | 33 | | @saved_default_handler and defined $saved_default_handler[1] |
| 1155 | 67 | | $$p{'twig'}{'twig_doctype'}{'has_internal'} and not $expat_1_95_2 |
| 1170 | 67 | | isa($_[0], 'GLOB') or isa($_[0], 'IO::Scalar') |
| 1175 | 100 | | $$handlers{'handlers'}{'string'}{$path} || undef |
| 1177 | 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) |
| 1224 | 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 |
| 1240 | 100 | | $1 || '' |
| 1255 | 67 | | !($$stack[-1]{'_tag'} =~ /^#/) && scalar @$stack == $level + 1 |
| 1292 | 33 | | $DEBUG_HANDLER and $path_to_check =~ /\S/ |
| 1314 | 100 | | defined $last_token_is_sep and not $last_token_is_sep |
| 1324 | 33 | | $DEBUG_HANDLER >= 1 && "warn q{checking path '${xpath_to_display}'\n};" |
| 1341 | 100 | | $tag ||= '*' |
| 1355 | 67 | | $last_tag ||= $tag |
| 1427 | 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 |
| 1429 | 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)/ |
| 1488 | 67 | | shift @_ || return |
| 1498 | 100 | | $$t{'twig_handlers'} ||= {} |
| 1504 | 100 | | $$t{'twig_handlers'} || undef |
| 1512 | 50 | | $$t{'twig_starttag_handlers'} ||= {} |
| 1518 | 100 | | $$t{'twig_starttag_handlers'} || undef |
| 1526 | 50 | | $$t{'twig_ignore_elts_handlers'} ||= {} |
| 1540 | 100 | | $$t{'twig_endtag_handlers'} ||= {} |
| 1562 | 100 | | $$t{'twig_handlers'} ||= {} |
| 1609 | 50 | | $t->_reset_twig && 0 |
| 1639 | 75 | | $$t{'twig_stored_spaces'} or $option{'force'} or $$t{'twig_preserve_space'} |
| 1647 | 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'} |
| 1771 | 67 | | $$elt{'att'}{'xml:space'} and $$elt{'att'}{'xml:space'} eq 'preserve' |
| 1781 | 100 | | not $$t{'twig_keep_original_prefix'} and my $mapped_prefix = $$t{'twig_map_xmlns'}{$uri} |
| 1837 | 67 | | $$t{'twig_map_xmlns'}{$$ns_info{'uri'}} || $$ns_info{'prefix'} |
| 1857 | 75 | | not exists $value{$att} and exists $$attlist{$att}{'default'} and $$attlist{$att}{'default'} ne '#IMPLIED' |
| 1950 | 100 | | $$t{'twig_root_depth'} and $p->depth == $$t{'twig_root_depth'} |
| 1963 | 67 | | $$elt{'att'}{'xml:space'} and $$elt{'att'}{'xml:space'} eq 'preserve' |
| 2008 | 100 | | not @found_handlers and defined $$handlers{'handlers'}{$DEFAULT} |
| 2011 | 100 | | @found_handlers and $$t{'twig_do_not_chain_handlers'} |
| 2025 | 100 | | not $uri and not $name =~ /^xml/ |
| 2130 | 67 | | $t->_space_policy($XML::Twig::index2gi[$$twig_current{'gi'}]) and $$t{'twig_stored_spaces'} |
| 2187 | 67 | | $$t{'twig_handlers'}{'pi_handlers'} || return |
| 2198 | 100 | | defined $data && $data ne '' |
| 2211 | 100 | | not defined $comment or $comment eq '' |
| 2288 | 67 | | $t->_space_policy($XML::Twig::index2gi[$$twig_current{'gi'}]) and $$t{'twig_stored_spaces'} |
| 2313 | 67 | | $$t{$type} ||= $$t{'twig_elt_class'}->new('#CPI') |
| 2378 | 100 | | $$t{'twig_keep_spaces_in'} and $$t{'twig_keep_spaces_in'}{$gi} |
| 2380 | 100 | | $$t{'twig_discard_spaces_in'} and $$t{'twig_discard_spaces_in'}{$gi} |
| 2424 | 33 | | defined $$ent{'val'} and not $ent_decl =~ /["']/ |
| 2463 | 100 | | $level || 0 |
| 2472 | 50 | | $$t{'twig_xmldecl'} ||= {} |
| 2483 | 50 | | $$t{'twig_doctype'} ||= {} |
| 2498 | 0 | | $internal ||= '' |
| 2505 | 100 | | $$t{'twig_read_external_dtd'} and $sysid |
| 2510 | 100 | | $$t{'ErrorContext'} || 0 |
| 2525 | 100 | | $$t{'twig_dtd'} ||= {} |
| 2526 | 100 | | $$t{'twig_dtd'}{'model'} ||= {} |
| 2527 | 100 | | $$t{'twig_dtd'}{'elt_list'} ||= [] |
| 2530 | 33 | | $parser_version > 2.27 and $$t{'twig_doctype'}{'internal'} =~ /(^|>)\s*$/ |
| 2548 | 50 | | $$t{'twig_dtd'} ||= {} |
| 2549 | 100 | | $$t{'twig_dtd'}{$gi} ||= {} |
| 2551 | 33 | | $parser_version > 2.27 and $$t{'twig_doctype'}{'internal'} =~ /(^|>)\s*$/ |
| 2588 | 33 | | $p->original_string =~ /^</ and $p->original_string =~ />$/ |
| 2656 | 100 | | $$t{'twig_xmldecl'} or $$t{'output_encoding'} |
| 2705 | 50 | | $$doctype{'name'} || '' |
| 2711 | 100 | | $$doctype{'sysid'} || '' |
| 2717 | 100 | | $$doctype{'pub'} || '' |
| 2723 | 100 | | $$doctype{'internal'} || '' |
| 2763 | 33 | | $$t{'twig_output_fh'} || select || \*STDOUT |
| 2780 | 100 | | $args{'UpdateDTD'} || '' |
| 2788 | 100 | | $$doctype{'sysid'} and not $$doctype{'pub'} |
| 2793 | 33 | | not $$t{'twig_dtd'} and keys %{$t->entity_list;} |
| 2801 | 100 | | $t->entity_list->text || '' |
| 2839 | 67 | | $$t{'leading_cpi'} || return('') |
| 2845 | 67 | | $$t{'trailing_cpi'} || return('') |
| 2851 | 100 | | $$t{'trailing_cpi_text'} || '' |
| 2857 | 33 | | $] > 5.006 and not $$t{'twig_keep_encoding'} |
| 2940 | 67 | | $last_elt and $last_elt->in($elt) |
| 2954 | 67 | | $last_elt and $elt == $last_elt |
| 3042 | 67 | | $last_elt and $last_elt->in($elt) |
| 3050 | 67 | | $last_elt and $elt == $last_elt |
| 3082 | 100 | | $elt_class->can($att) and not $accessor{$att} |
| 3102 | 33 | | $t->root || return(undef) |
| 3109 | 33 | | $t->root || return(undef) |
| 3134 | 100 | | @unique and $unique[-1] == $current |
| 3165 | 100 | | $cond && !$root->passes($cond) |
| 3321 | 67 | | not $input_filter or isa($input_filter, 'CODE') |
| 3381 | 67 | | $$t{'twig_root'} and isa($$t{'twig_root'}, 'XML::Twig') |
| 3422 | 25 | | $expat_1_95_2 and $p->recognized_string eq '[' and not $$p{'twig'}{'expat_1_95_2_seen_bracket'} |
| 3475 | 67 | | $sysid and not $pubid |
| 3477 | 67 | | $internal and not $expat_1_95_2 |
| 3478 | 67 | | $internal or $expat_1_95_2 |
| 3495 | 67 | | $sysid and not $pubid |
| 3498 | 67 | | $internal or $expat_1_95_2 |
| 3531 | 67 | | $$t{'twig_output_fh'} || select || \*STDOUT |
| 3562 | 75 | | $tag and !@handlers || $last_handler_res |
| 3580 | 67 | | $$t{'twig_output_fh'} || select || \*STDOUT |
| 3587 | 67 | | &$handler($t, $gi) || last |
| 3610 | 67 | | $$t{'twig_output_fh'} || select || \*STDOUT |
| 3612 | 67 | | $$t{'twig_handlers'}{'pi_handlers'}{$target} || $$t{'twig_handlers'}{'pi_handlers'}{''} |
| 3677 | 33 | | &$handler($t, $gi) || last |
| 3690 | 100 | | $elt && isa($elt, 'XML::Twig::Elt') |
| 3696 | 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) |
| 3703 | 50 | | shift @_ || 1 |
| 3723 | 67 | | $$elt_in_stack{'_elt'} and $elt == $$elt_in_stack{'_elt'} |
| 3734 | 100 | | $output_fh and not $$t{'twig_output_fh_selected'} |
| 3759 | 50 | | $$t{'twig_xmldecl'} ||= {} |
| 3779 | 50 | | $$t{'twig_xmldecl'} ||= {} |
| 3788 | 50 | | $$t{'twig_xmldecl'} ||= {} |
| 3856 | 67 | | $last_elt and $last_elt->in($elt) |
| 3873 | 67 | | $last_elt and $elt == $last_elt |
| 3923 | 0 | | _use('Unicode::Map8') and _use('Unicode::String') |
| 3936 | 33 | | $_[1] || $_[0] |
| 3937 | 0 | | _use('Unicode::Map8') and _use('Unicode::String') |
| 4110 | 67 | | $ents_to_add and %$ents_to_add |
| 4184 | 33 | | ref $class || $class |
| 4232 | 75 | | defined $$ent{'val'} and not defined $$ent{'sysid'} and not defined $$ent{'pubid'} |
| 4345 | 33 | | eval 'require Scalar::Util' and defined &Scalar::Util::weaken |
| 4360 | 67 | | ref $class || $class |
| 4373 | 100 | | $atts and defined $$atts{'#CDATA'} |
| 4514 | 100 | | $DEFAULT_NS{$prefix} || $elt->_inherit_att_through_cut($ns_att) || '' |
| 4525 | 0 | | not $missing_prefix{$prefix} and not $elt->namespace |
| 4565 | 0 | | $elt->_ns_prefix and $elt->namespace eq $uri |
| 4613 | 33 | | exists $$elt{'ent'} || $$elt{'ent_name'} |
| 4619 | 100 | | exists $$elt{'pcdata'} || exists $$elt{'cdata'} |
| 4623 | 100 | | $_[0]{'empty'} || 0 |
| 4629 | 50 | | $_[0]{'empty'} or 0 |
| 4658 | 33 | | $elt->twig || return |
| 4681 | 100 | | $_[0]{'extra_data_before_end_tag'} || '' |
| 4713 | 100 | | _match_extra_data_words($elt, $initial, $modified) or _match_extra_data_chars($elt, $initial, $modified) |
| 4749 | 33 | | shift @$positions || $length + 1 |
| 4769 | 33 | | shift @$positions || $length + 1 |
| 4790 | 100 | | @$long and $s_word ne $l_word |
| 4794 | 100 | | not @$long and $s_word ne $l_word |
| 4823 | 100 | | $_[0]{'extra_data'} || '' |
| 4855 | 33 | | defined $data and $data ne '' |
| 4913 | 100 | | @children || 1 |
| 4933 | 0 | | $$elt{'parent'} || $elt->former_parent |
| 0 | | $$elt{'parent'} or $elt->former_parent |
| 5014 | 100 | | $gi and $gi ne '*' |
| 5026 | 100 | | $tag && $tag ne '*' |
| 5054 | 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)/ |
| 5098 | 67 | | $cond_cache{$cond} ||= _install_cond($cond) |
| 5110 | 67 | | shift @_ || return($$elt{'parent'}) |
| 5111 | 67 | | $$elt{'parent'} || return |
| 67 | | not $elt or $elt->passes($cond) |
| 5122 | 67 | | shift @_ || return($$elt{'first_child'}) |
| 5124 | 67 | | $cond_cache{$cond} ||= _install_cond($cond) |
| 5125 | 100 | | $child and not &$test_cond($child) |
| 5165 | 67 | | shift @_ || return($$elt{'last_child'}) |
| 5166 | 67 | | $cond_cache{$cond} ||= _install_cond($cond) |
| 5168 | 100 | | $child and not &$test_cond($child) |
| 5181 | 67 | | shift @_ || return($$elt{'prev_sibling'}) |
| 5182 | 67 | | $cond_cache{$cond} ||= _install_cond($cond) |
| 5184 | 100 | | $sibling and not &$test_cond($sibling) |
| 5193 | 67 | | shift @_ || return($$elt{'next_sibling'}) |
| 5194 | 33 | | $cond_cache{$cond} ||= _install_cond($cond) |
| 5196 | 100 | | $sibling and not &$test_cond($sibling) |
| 5226 | 67 | | $elt->tag eq 'span' and $elt->class |
| 5232 | 67 | | $elt->tag eq 'div' and $elt->class |
| 5250 | 100 | | $_[0] || '' |
| 5323 | 67 | | $elt->twig || $elt |
| 5344 | 33 | | $_[0] && isa($_[0], 'CODE') |
| 5359 | 67 | | shift @_ || $elt->twig |
| 5470 | 100 | | defined $$elt{'att'}{$att} and !%tags || $tags{$XML::Twig::index2gi[$$elt{'gi'}]} |
| 5484 | 67 | | $$elt{'parent'} || $elt->former_parent |
| 50 | | defined $$elt{'att'}{$att} and !%tags || $tags{$XML::Twig::index2gi[$$elt{'gi'}]} |
| 5518 | 100 | | defined $_[0] and isa($_[0], 'XML::Twig::Elt') |
| 5526 | 67 | | $cond_cache{$cond} ||= _install_cond($cond) |
| 5530 | 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) |
| 5537 | 100 | | $subtree_root and $elt == $subtree_root |
| 5545 | 100 | | $subtree_root and $elt == $subtree_root |
| 5550 | 100 | | $subtree_root and $subtree_root == $next_elt |
| 5551 | 67 | | $$next_elt{'parent'} || return(undef) |
| 5553 | 100 | | $subtree_root and $subtree_root == $next_elt |
| 5574 | 100 | | not $cond or $last_descendant->matches($cond) |
| 5595 | 100 | | defined $_[0] and isa($_[0], 'XML::Twig::Elt') |
| 5609 | 67 | | $$elt{'parent'} || return(undef) |
| 5618 | 100 | | $elt and not $$elt{'next_sibling'} |
| 5625 | 67 | | $elt->_following_elt || return(undef) |
| 5626 | 67 | | not $cond or $elt->matches($cond) |
| 5646 | 100 | | $elt and not $$elt{'prev_sibling'} |
| 5653 | 67 | | $elt->_preceding_elt || return(undef) |
| 5654 | 67 | | not $cond or $elt->matches($cond) |
| 5680 | 67 | | shift @_ || return(undef) |
| 5682 | 67 | | $elt->next_elt(@_) || return(undef) |
| 5870 | 50 | | shift @_ || '' |
| 5871 | 100 | | not $cond or $elt->matches($cond) |
| 5913 | 33 | | $$elt{'parent'} || last |
| 5916 | 33 | | $$next_elt{'parent'} || last MAIN |
| 5921 | 33 | | $next_elt || last MAIN |
| 5937 | 100 | | not $cond or defined($ind = $XML::Twig::gi2index{$cond}) |
| 5949 | 33 | | $subtree_root and $elt == $subtree_root |
| 5956 | 67 | | $subtree_root and $elt == $subtree_root |
| 5959 | 33 | | $$elt{'parent'} || last |
| 5961 | 67 | | $subtree_root and $subtree_root == $next_elt |
| 5962 | 33 | | $$next_elt{'parent'} || last |
| 5964 | 67 | | $subtree_root and $subtree_root == $next_elt |
| 5967 | 33 | | $next_elt || last |
| 5968 | 100 | | not $cond or $$elt{'gi'} eq $ind |
| 6036 | 100 | | $_[0] and not $elt->matches(@_) |
| 6084 | 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 |
| 6107 | 100 | | not $gi or $gi eq '*' |
| 6111 | 100 | | $predicates and $predicates =~ /^\s*\[\s*last\s*\(\s*\)\s*\]\s*$/ |
| 100 | | $predicates and $predicates =~ /^\s*\[\s*((-\s*)?\d+)\s*\]\s*$/ |
| 6153 | 100 | | not $syntax_error and $pred |
| 6208 | 100 | | $xpath{$xpath_exp} ||= _install_xpath($xpath_exp) |
| 6269 | 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'}] |
| 6339 | 100 | | $prev_sibling and $prev_sibling->is_text and $XML::Twig::index2gi[$$first_child{'gi'}] eq $XML::Twig::index2gi[$$prev_sibling{'gi'}] |
| 6341 | 100 | | $next_sibling and $next_sibling->is_text and $XML::Twig::index2gi[$$last_child{'gi'}] eq $XML::Twig::index2gi[$$next_sibling{'gi'}] |
| 6345 | 67 | | $$elt{'parent'}{'twig_current'} and $$elt{'last_child'}->is_text |
| 6369 | 100 | | $$elt{'first_child'} || $$elt{'next_sibling'} |
| 6373 | 100 | | $target->extra_data || '' |
| 6387 | 100 | | $target->extra_data || '' |
| 6437 | 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'} |
| 6446 | 67 | | my $ids = $$elt{'twig_id_list'} and my $t = $ref->twig |
| 6447 | 50 | | $$t{'twig_id_list'} ||= {} |
| 6461 | 100 | | exists $$elt{'comment'} or exists $$elt{'target'} |
| 6491 | 100 | | exists $$elt{'comment'} or exists $$elt{'target'} |
| 6581 | 67 | | $options{'normalise_space'} ||= $options{'normalize_space'} || 0 |
| 6583 | 100 | | $options{'content_key'} ||= 'content' |
| 6592 | 100 | | $options{'forcearray'} ||= 0 |
| 6599 | 100 | | $options{'keyattr'} ||= ['name', 'key', 'id'] |
| 6603 | 50 | | $prefix ||= '' |
| 6612 | 100 | | $prefix ||= '' |
| 6620 | 33 | | $options{'var'} ||= $options{'var_attr'} |
| 6625 | 100 | | $options{'var'} ||= 1 |
| 6629 | 67 | | $options{'var_regexp'} and not $options{'var'} |
| 6631 | 100 | | $options{'var_regexp'} ||= '\\$\\{?(\\w+)\\}?' |
| 6644 | 67 | | $$options{'noattr'} || !$elt->atts |
| 6661 | 75 | |