From a2d12bc84fb2af87dd1c0c6e5bc854554902cd67 Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Sun, 26 Jan 2003 19:35:03 +0000 Subject: Imported from /home/lorry/working-area/delta_perl-xml-xpath/XML-XPath-1.13.tar.gz. --- XPath/Node/PI.pm | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 XPath/Node/PI.pm (limited to 'XPath/Node/PI.pm') diff --git a/XPath/Node/PI.pm b/XPath/Node/PI.pm new file mode 100644 index 0000000..bf2eb25 --- /dev/null +++ b/XPath/Node/PI.pm @@ -0,0 +1,81 @@ +# $Id: PI.pm,v 1.4 2000/08/24 16:23:02 matt Exp $ + +package XML::XPath::Node::PI; + +use strict; +use vars qw/@ISA/; + +@ISA = ('XML::XPath::Node'); + +package XML::XPath::Node::PIImpl; + +use vars qw/@ISA/; +@ISA = ('XML::XPath::NodeImpl', 'XML::XPath::Node::PI'); +use XML::XPath::Node ':node_keys'; + +sub new { + my $class = shift; + my ($target, $data) = @_; + + my $pos = XML::XPath::Node->nextPos; + + my @vals; + @vals[node_global_pos, node_target, node_data] = + ($pos, $target, $data); + my $self = \@vals; + bless $self, $class; +} + +sub getNodeType { PROCESSING_INSTRUCTION_NODE } + +sub isPINode { 1; } +sub isProcessingInstructionNode { 1; } + +sub getTarget { + my $self = shift; + $self->[node_target]; +} + +sub getData { + my $self = shift; + $self->[node_data]; +} + +sub _to_sax { + my $self = shift; + my ($doch, $dtdh, $enth) = @_; + # PI's not supported in PerlSAX 1 +} + +sub string_value { + my $self = shift; + return $self->[node_data]; +} + +sub toString { + my $self = shift; + return "[node_target] . " " . XML::XPath::Node::XMLescape($self->[node_data], ">") . "?>"; +} + +1; +__END__ + +=head1 NAME + +PI - an XML processing instruction node + +=head1 API + +=head2 new ( target, data ) + +Create a new PI node. + +=head2 getTarget + +Returns the target + +=head2 getData + +Returns the data + +=cut -- cgit v1.2.1