diff options
author | Gianni Ceccarelli <dakkar@dechirico.(none)> | 2009-04-23 15:50:15 +0200 |
---|---|---|
committer | Gianni Ceccarelli <dakkar@dechirico.(none)> | 2009-04-23 15:50:15 +0200 |
commit | 5baf431cd43d7932f9a21c5d67f74c04409f90a3 (patch) | |
tree | 4f3c765e589dc3d2b508eb9327bbada9368a751e /lib/Tree/Template/Declare/LibXML.pm | |
parent | new tests (diff) | |
download | Tree-Template-Declare-5baf431cd43d7932f9a21c5d67f74c04409f90a3.tar.gz Tree-Template-Declare-5baf431cd43d7932f9a21c5d67f74c04409f90a3.tar.bz2 Tree-Template-Declare-5baf431cd43d7932f9a21c5d67f74c04409f90a3.zip |
passes critic
Diffstat (limited to 'lib/Tree/Template/Declare/LibXML.pm')
-rw-r--r-- | lib/Tree/Template/Declare/LibXML.pm | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/lib/Tree/Template/Declare/LibXML.pm b/lib/Tree/Template/Declare/LibXML.pm index bc1fdef..626df32 100644 --- a/lib/Tree/Template/Declare/LibXML.pm +++ b/lib/Tree/Template/Declare/LibXML.pm @@ -4,6 +4,8 @@ use warnings; use Carp; use XML::LibXML; +our $VERSION='0.1'; + sub new { my ($class)=@_; @@ -13,8 +15,8 @@ sub new { sub _munge_exports { my ($self,$exports,$current_node_aref)=@_; - return { - %$exports, + my %all_exports=( + %{$exports}, xmlns => sub($$) { $self->{ns}->{$_[0]}=$_[1]; return; @@ -24,7 +26,9 @@ sub _munge_exports { $current_node_aref->[0]->appendTextNode($_[0]); } }, - }; + ); + + return \%all_exports; } sub new_tree { @@ -44,7 +48,7 @@ sub _get_ns { my ($prefix)=($name=~m{\A (.*?) : }smx); - if (!defined($prefix) or length($prefix)==0) { + if (!defined($prefix) || length($prefix)==0) { return '',$self->{ns}->{':default'}; } @@ -64,7 +68,9 @@ sub add_child_node { my ($self,$parent,$child)=@_; my $doc=$parent->ownerDocument; - $child=$doc->adoptNode($child) if $doc; + if ($doc) { + $child=$doc->adoptNode($child); + } if ($parent->isa('XML::LibXML::Document')) { $parent->setDocumentElement($child); @@ -83,12 +89,14 @@ sub set_node_name { if ($uri) { $node->setNamespace($uri,$prefix,1); } + + return; } sub set_node_attributes { my ($self,$node,$attrs)=@_; - while (my ($name,$val)=each %$attrs) { + while (my ($name,$val)=each %{$attrs}) { my ($prefix,$uri)=$self->_get_ns($name); if ($prefix and $uri) { $node->setAttributeNS($uri, $name, $val); @@ -97,6 +105,7 @@ sub set_node_attributes { $node->setAttribute($name, $val); } } + return; } |