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/Namespace.pm | 99 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 XPath/Node/Namespace.pm (limited to 'XPath/Node/Namespace.pm') diff --git a/XPath/Node/Namespace.pm b/XPath/Node/Namespace.pm new file mode 100644 index 0000000..736d9a3 --- /dev/null +++ b/XPath/Node/Namespace.pm @@ -0,0 +1,99 @@ +# $Id: Namespace.pm,v 1.4 2000/08/24 16:23:02 matt Exp $ + +package XML::XPath::Node::Namespace; + +use strict; +use vars qw/@ISA/; + +@ISA = ('XML::XPath::Node'); + +package XML::XPath::Node::NamespaceImpl; + +use vars qw/@ISA/; +@ISA = ('XML::XPath::NodeImpl', 'XML::XPath::Node::Namespace'); +use XML::XPath::Node ':node_keys'; + +sub new { + my $class = shift; + my ($prefix, $expanded) = @_; + + my $pos = XML::XPath::Node->nextPos; + + my @vals; + @vals[node_global_pos, node_prefix, node_expanded] = + ($pos, $prefix, $expanded); + my $self = \@vals; + + bless $self, $class; +} + +sub getNodeType { NAMESPACE_NODE } + +sub isNamespaceNode { 1; } + +sub getPrefix { + my $self = shift; + $self->[node_prefix]; +} + +sub getExpanded { + my $self = shift; + $self->[node_expanded]; +} + +sub getValue { + my $self = shift; + $self->[node_expanded]; +} + +sub getData { + my $self = shift; + $self->[node_expanded]; +} + +sub string_value { + my $self = shift; + $self->[node_expanded]; +} + +sub toString { + my $self = shift; + my $string = ''; + return '' unless defined $self->[node_expanded]; + if ($self->[node_prefix] eq '#default') { + $string .= ' xmlns="'; + } + else { + $string .= ' xmlns:' . $self->[node_prefix] . '="'; + } + $string .= XML::XPath::Node::XMLescape($self->[node_expanded], '"&<'); + $string .= '"'; +} + +1; +__END__ + +=head1 NAME + +Namespace - an XML namespace node + +=head1 API + +=head2 new ( prefix, expanded ) + +Create a new namespace node, expanded is the expanded namespace URI. + +=head2 getPrefix + +Returns the prefix + +=head2 getExpanded + +Returns the expanded URI + +=head2 toString + +Returns a string that you can add to the list +of attributes of an element: xmlns:prefix="expanded" + +=cut -- cgit v1.2.1