Skip to content

Commit

Permalink
Fixed cloning, and readded feature for text node display.
Browse files Browse the repository at this point in the history
  • Loading branch information
Timothy Totten committed Nov 10, 2012
1 parent 3f25e0a commit 2d2aede
Showing 1 changed file with 18 additions and 13 deletions.
31 changes: 18 additions & 13 deletions lib/XML.pm6
Expand Up @@ -147,19 +147,21 @@ class XML::Element does XML::Node

method cloneNode ()
{
my $clone = self.clone;
$clone.attribs = $clone.attribs.clone;
my $clone = self.new;
$clone.name = $.name;
$clone.idattr = $.idattr;
$clone.attribs = %.attribs.clone;
$clone.nodes = [];
loop (my $i=0; $i < $clone.nodes.elems; $i++)
loop (my $i=0; $i < @.nodes.elems; $i++)
{
if ($clone.nodes[$i] ~~ XML::Node)
if (@.nodes[$i] ~~ XML::Node)
{
$clone.nodes[$i] = $clone.nodes[$i].cloneNode;
$clone.nodes[$i] = @.nodes[$i].cloneNode;
$clone.nodes[$i].parent = $clone;
}
else
{
$clone.nodes[$i] = $clone.nodes[$i].clone;
$clone.nodes[$i] = @.nodes[$i].clone;
}
}
return $clone;
Expand Down Expand Up @@ -855,13 +857,16 @@ class XML::Element does XML::Node
{
$element ~= '>';
my $lastnode;
for @.nodes -> $node {
# if ( ## Use this on anything now.
# defined $lastnode #&& $lastnode ~~ XML::Text
# && ~$lastnode !~~ /\s+$/ && $node ~~ XML::Text
# ) {
# $element ~= ' '; ## Add a space.
# }
for @.nodes -> $node
{
if
(
$lastnode.defined
&& ~$lastnode !~~ /\s+$/ && $node ~~ XML::Text
)
{
$element ~= ' '; ## Add a space.
}
$element ~= $node;
$lastnode = $node;
}
Expand Down

0 comments on commit 2d2aede

Please sign in to comment.