source: trunk/gsdl/perllib/cpan/XML/XPath/Node/PI.pm@ 7909

Last change on this file since 7909 was 7909, checked in by mdewsnip, 20 years ago

CPAN module for processing XPath expressions.

  • Property svn:keywords set to Author Date Id Revision
File size: 1.2 KB
Line 
1# $Id: PI.pm 7909 2004-08-06 05:11:55Z mdewsnip $
2
3package XML::XPath::Node::PI;
4
5use strict;
6use vars qw/@ISA/;
7
8@ISA = ('XML::XPath::Node');
9
10package XML::XPath::Node::PIImpl;
11
12use vars qw/@ISA/;
13@ISA = ('XML::XPath::NodeImpl', 'XML::XPath::Node::PI');
14use XML::XPath::Node ':node_keys';
15
16sub new {
17 my $class = shift;
18 my ($target, $data) = @_;
19
20 my $pos = XML::XPath::Node->nextPos;
21
22 my @vals;
23 @vals[node_global_pos, node_target, node_data] =
24 ($pos, $target, $data);
25 my $self = \@vals;
26 bless $self, $class;
27}
28
29sub getNodeType { PROCESSING_INSTRUCTION_NODE }
30
31sub isPINode { 1; }
32sub isProcessingInstructionNode { 1; }
33
34sub getTarget {
35 my $self = shift;
36 $self->[node_target];
37}
38
39sub getData {
40 my $self = shift;
41 $self->[node_data];
42}
43
44sub _to_sax {
45 my $self = shift;
46 my ($doch, $dtdh, $enth) = @_;
47 # PI's not supported in PerlSAX 1
48}
49
50sub string_value {
51 my $self = shift;
52 return $self->[node_data];
53}
54
55sub toString {
56 my $self = shift;
57 return "<?" . $self->[node_target] . " " . XML::XPath::Node::XMLescape($self->[node_data], ">") . "?>";
58}
59
601;
61__END__
62
63=head1 NAME
64
65PI - an XML processing instruction node
66
67=head1 API
68
69=head2 new ( target, data )
70
71Create a new PI node.
72
73=head2 getTarget
74
75Returns the target
76
77=head2 getData
78
79Returns the data
80
81=cut
Note: See TracBrowser for help on using the repository browser.