line |
true |
false |
branch |
19
|
60 |
3 |
$parent ? : |
29
|
49 |
11 |
defined $node ? : |
|
34 |
26 |
defined $position ? : |
|
32 |
28 |
defined $nodelist ? : |
39
|
0 |
0 |
if (defined $self->{'variables'}{'name'}) { } |
|
0 |
0 |
elsif ($self->{'parent'}) { } |
99
|
0 |
0 |
$_[0]{'value'} ? : |
141
|
0 |
1 |
if (@{$_[0]{'value'};} == 0) { } |
191
|
4 |
9 |
if ($self->{'absolute'}) { } |
210
|
10 |
7 |
if ($step == @$steps - 1) { } |
255
|
0 |
20 |
if ($self->{'axis'} eq $XML::DOM::Lite::XPath::StepExpr::xpathAxis->{'ANCESTOR_OR_SELF'}) { } |
|
0 |
20 |
elsif ($self->{'axis'} eq $XML::DOM::Lite::XPath::StepExpr::xpathAxis->{'ANCESTOR'}) { } |
|
2 |
18 |
elsif ($self->{'axis'} eq $XML::DOM::Lite::XPath::StepExpr::xpathAxis->{'ATTRIBUTE'}) { } |
|
14 |
4 |
elsif ($self->{'axis'} eq $XML::DOM::Lite::XPath::StepExpr::xpathAxis->{'CHILD'}) { } |
|
1 |
3 |
elsif ($self->{'axis'} eq $XML::DOM::Lite::XPath::StepExpr::xpathAxis->{'DESCENDANT_OR_SELF'}) { } |
|
0 |
3 |
elsif ($self->{'axis'} eq $XML::DOM::Lite::XPath::StepExpr::xpathAxis->{'DESCENDANT'}) { } |
|
0 |
3 |
elsif ($self->{'axis'} eq $XML::DOM::Lite::XPath::StepExpr::xpathAxis->{'FOLLOWING'}) { } |
|
0 |
3 |
elsif ($self->{'axis'} eq $XML::DOM::Lite::XPath::StepExpr::xpathAxis->{'FOLLOWING_SIBLING'}) { } |
|
0 |
3 |
elsif ($self->{'axis'} eq $XML::DOM::Lite::XPath::StepExpr::xpathAxis->{'NAMESPACE'}) { } |
|
0 |
3 |
elsif ($self->{'axis'} eq $XML::DOM::Lite::XPath::StepExpr::xpathAxis->{'PARENT'}) { } |
|
0 |
3 |
elsif ($self->{'axis'} eq $XML::DOM::Lite::XPath::StepExpr::xpathAxis->{'PRECEDING'}) { } |
|
0 |
3 |
elsif ($self->{'axis'} eq $XML::DOM::Lite::XPath::StepExpr::xpathAxis->{'PRECEDING_SIBLING'}) { } |
|
3 |
0 |
elsif ($self->{'axis'} eq $XML::DOM::Lite::XPath::StepExpr::xpathAxis->{'SELF'}) { } |
296
|
0 |
0 |
if ($input->parentNode) |
324
|
17 |
5 |
if ($self->{'nodetest'}->evaluate($ctx->clone($n, $i, $nodelist0))->booleanValue) |
334
|
2 |
0 |
if ($self->{'predicate'}[$i]->evaluate($ctx->clone($n, $ii, $nodelist0))->booleanValue) |
433
|
0 |
2 |
if ($v->{'type'} eq 'number') { } |
456
|
0 |
0 |
if ($f) { } |
468
|
0 |
0 |
unless $b |
498
|
0 |
0 |
if ($e->{'type'} eq 'node-set') { } |
510
|
0 |
0 |
if ($n) |
529
|
0 |
0 |
if (@{$self->{'args'};} == 0) { } |
535
|
0 |
0 |
if (@$n == 0) { } |
545
|
0 |
0 |
if (@{$self->{'args'};} == 0) { } |
584
|
0 |
0 |
if ($i == -1) { } |
599
|
0 |
0 |
if ($i == -1) { } |
613
|
0 |
0 |
if (@{$self->{'args'};} == 2) { } |
614
|
0 |
0 |
0 <=> round($s1 - 1) ? : |
620
|
0 |
0 |
0 <=> $i0 ? : |
621
|
0 |
0 |
round('%d', $s2) - (0 <=> -$i0) ? : |
630
|
0 |
0 |
if (@{$self->{'args'};} > 0) { } |
641
|
0 |
0 |
if (@{$self->{'args'};} > 0) { } |
700
|
0 |
0 |
if ($xmllang) |
705
|
0 |
0 |
if (not $xmllang) { } |
717
|
0 |
0 |
if (@{$self->{'args'};} == 1) { } |
763
|
0 |
0 |
if ($ret) |
774
|
0 |
0 |
if ($self->{'args'}[0]->evaluate($ctx)->booleanValue) { } |
817
|
0 |
0 |
if ($nodes1->[$i1] == $nodes2->[$i2]) |
857
|
0 |
0 |
if ($self->{'predicate'}[$i]->evaluate($ctx->clone($n, $j, $nodes0))->booleanValue) |
887
|
0 |
2 |
if ($o eq 'or') { } |
|
0 |
2 |
elsif ($o eq 'and') { } |
|
0 |
2 |
elsif ($o eq '+') { } |
|
0 |
2 |
elsif ($o eq '-') { } |
|
0 |
2 |
elsif ($o eq '*') { } |
|
0 |
2 |
elsif ($o eq 'mod') { } |
|
0 |
2 |
elsif ($o eq 'div') { } |
|
2 |
0 |
elsif ($o eq '=') { } |
|
0 |
0 |
elsif ($o eq '!=') { } |
|
0 |
0 |
elsif ($o eq '<') { } |
|
0 |
0 |
elsif ($o eq '<=') { } |
|
0 |
0 |
elsif ($o eq '>') { } |
|
0 |
0 |
elsif ($o eq '>=') { } |
932
|
0 |
2 |
if ($v1->{'type'} eq 'node-set' and $v2->{'type'} eq 'node-set') { } |
|
2 |
0 |
elsif ($v1->{'type'} eq 'node-set' or $v2->{'type'} eq 'node-set') { } |
|
0 |
0 |
elsif ($v1->{'type'} eq 'boolean' or $v2->{'type'} eq 'boolean') { } |
|
0 |
0 |
elsif ($v1->{'type'} eq 'number' or $v2->{'type'} eq 'number') { } |
938
|
0 |
0 |
if (XML::DOM::Lite::XPath::xmlValue($n1->[$i1]) cmp XML::DOM::Lite::XPath::xmlValue($n2->[$i2])) |
948
|
0 |
2 |
if ($v1->{'type'} eq 'number') { } |
|
0 |
2 |
elsif ($v2->{'type'} eq 'number') { } |
|
0 |
2 |
elsif ($v1->{'type'} eq 'string') { } |
|
2 |
0 |
elsif ($v2->{'type'} eq 'string') { } |
955
|
0 |
0 |
if ($s cmp $nn) |
968
|
0 |
0 |
if ($nn cmp $s) |
981
|
0 |
0 |
if ($s cmp $nn) |
994
|
2 |
0 |
if ($nn cmp $s) |
1383
|
2 |
0 |
if ($ctx->nodeType) |
1392
|
0 |
9 |
if $DEBUG |
1396
|
4 |
5 |
if ($cached) |
1397
|
0 |
4 |
if $DEBUG |
1400
|
0 |
5 |
if ($expr =~ /^(\$|@)?\w+$/i) |
1403
|
0 |
0 |
if $DEBUG |
1407
|
1 |
4 |
if ($expr =~ m[^\w+(/\w+)*$]i) |
1410
|
0 |
1 |
if $DEBUG |
1436
|
18 |
421 |
if (@result and length $result[0] > length $match) |
1443
|
0 |
0 |
if ($rule and $rule == $TOK_DIV || $rule == $TOK_MOD || $rule == $TOK_AND || $rule == $TOK_OR and !$previous || $previous->{'tag'} == $TOK_AT || $previous->{'tag'} == $TOK_DSLASH || $previous->{'tag'} == $TOK_SLASH || $previous->{'tag'} == $TOK_AXIS || $previous->{'tag'} == $TOK_DOLLAR) |
1457
|
18 |
4 |
if ($rule) { } |
1459
|
0 |
18 |
if $DEBUG |
1463
|
12 |
6 |
$rule->{'prec'} ? : |
1468
|
0 |
4 |
if $DEBUG |
1474
|
0 |
59 |
if $DEBUG |
1478
|
0 |
4 |
if $DEBUG |
1480
|
0 |
4 |
if (@$stack != 1) |
1487
|
0 |
4 |
if $DEBUG |
1501
|
77 |
4 |
if (@$stack) |
1504
|
71 |
6 |
if ($ruleset) |
1507
|
63 |
175 |
if (@$match) |
1521
|
59 |
22 |
if ($cand and !$ahead || $cand->{'prec'} > $ahead->{'prec'} || $ahead->{'tag'}{'left'} && $cand->{'prec'} >= $ahead->{'prec'}) { } |
1531
|
0 |
0 |
$ahead->{'tag'}{'left'} ? : |
|
0 |
0 |
$ahead ? : |
|
0 |
59 |
if $DEBUG |
1541
|
18 |
4 |
if ($ahead) |
1545
|
0 |
0 |
$ahead->{'tag'}{'left'} ? : |
|
0 |
0 |
$cand ? : |
|
0 |
18 |
if $DEBUG |
1565
|
4 |
355 |
if ($pattern->[$p] == $Q_MM) { } |
|
0 |
355 |
elsif ($pattern->[$p] == $Q_01) { } |
|
0 |
355 |
elsif ($pattern->[$p] == $Q_1M) { } |
|
256 |
99 |
elsif ($stack->[$s]{'tag'} == $pattern->[$p]) { } |
1586
|
0 |
0 |
if ($stack->[$s]{'tag'} == $pattern->[$p]) { } |
1611
|
63 |
76 |
if ($p == -1) { } |
1628
|
63 |
0 |
if ($frame->{'rule'}) { } |
|
0 |
0 |
elsif ($frame->{'tag'}) { } |
|
0 |
0 |
elsif (ref $frame eq 'ARRAY' and @$frame) { } |
1629
|
59 |
4 |
if (@{$frame->{'rule'};} >= 3 and $frame->{'rule'}[2] >= 0) { } |
1651
|
2 |
6 |
if ($_[0] > $_[1]) { } |
1657
|
0 |
0 |
if ($ret) |
1755
|
1 |
2 |
if ($abbrev eq '//') { } |
|
2 |
0 |
elsif ($abbrev eq '.') { } |
|
0 |
0 |
elsif ($abbrev eq '..') { } |
1782
|
0 |
0 |
if ($type eq 'node') { } |
|
0 |
0 |
elsif ($type eq 'text') { } |
|
0 |
0 |
elsif ($type eq 'comment') { } |
|
0 |
0 |
elsif ($type eq 'processing-instruction') { } |
1796
|
0 |
0 |
if ($type ne 'processing-instruction') |
1850
|
0 |
2 |
if (@$predicates > 0) { } |
1885
|
0 |
0 |
if (substr($expr, 0, 1) eq '$') { } |
|
0 |
0 |
elsif (substr($expr, 0, 1) eq '@') { } |
|
0 |
0 |
elsif ($expr =~ /^[0-9]+$/) { } |
1917
|
6 |
3 |
if (@$xpathRules) |
1933
|
0 |
3 |
if $DEBUG |
1937
|
78 |
93 |
unless $array->[$position] |
1946
|
0 |
171 |
if ($pattern->[$j] == $Q_1M) { } |
|
3 |
168 |
elsif ($pattern->[$j] == $Q_MM or $pattern->[$j] == $Q_01) { } |
1961
|
0 |
3 |
if $DEBUG |
1964
|
78 |
72 |
if ($_) |
1966
|
0 |
3 |
if $DEBUG |
1995
|
2 |
0 |
unless @$sort |
2009
|
0 |
0 |
if ($s->{'type'} eq 'text') { } |
|
0 |
0 |
elsif ($s->{'type'} eq 'number') { } |
2035
|
0 |
0 |
$v1->{'key'}[$i]{'order'} eq 'descending' ? : |
2036
|
0 |
0 |
if ($v1->{'key'}[$i]{'value'} > $v2->{'key'}[$i]{'value'}) { } |
|
0 |
0 |
elsif ($v1->{'key'}[$i]{'value'} < $v2->{'key'}[$i]{'value'}) { } |
2048
|
0 |
4 |
unless $node |
2051
|
3 |
1 |
if ($node->{'nodeType'} == 3 or $node->{'nodeType'} == 4 or $node->{'nodeType'} == 2) { } |
|
1 |
0 |
elsif ($node->{'nodeType'} == 1 or $node->{'nodeType'} == 9 or $node->{'nodeType'} == 11) { } |