summaryrefslogtreecommitdiff
path: root/lib/Tree/Template/Declare/LibXML.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Tree/Template/Declare/LibXML.pm')
-rw-r--r--lib/Tree/Template/Declare/LibXML.pm19
1 files changed, 18 insertions, 1 deletions
diff --git a/lib/Tree/Template/Declare/LibXML.pm b/lib/Tree/Template/Declare/LibXML.pm
index d5e208c..066d2e4 100644
--- a/lib/Tree/Template/Declare/LibXML.pm
+++ b/lib/Tree/Template/Declare/LibXML.pm
@@ -11,7 +11,7 @@ sub new {
}
sub _munge_exports {
- my ($self,$exports)=@_;
+ my ($self,$exports,$current_node_aref)=@_;
return {
%$exports,
@@ -19,6 +19,11 @@ sub _munge_exports {
$self->{ns}->{$_[0]}=$_[1];
return;
},
+ text_node => sub($) {
+ if ($current_node_aref->[0]) {
+ $current_node_aref->[0]->appendTextNode($_[0]);
+ },
+ },
};
}
@@ -117,6 +122,18 @@ A function C<xmlns> is exported, so that you can declare XML namespaces:
You I<can> create nodes with qualified names with undeclared prefixes,
but it's probably not a good idea.
+To add text nodes, you could do something like:
+
+ my $el=node { name 'elem_with_text' };
+ $el->appendTextNode('some text content');
+
+This is ugly, so you can do:
+
+ node {
+ name 'elem_with_text';
+ text_node 'some text content';
+ };
+
=head1 AUTHOR
Gianni Ceccarelli <dakkar@thenautilus.net>