matts 2003/07/16 01:33:14
Modified: lib/Apache/AxKit/Language XSP.pm Log: Fixed bug in <xsp:element><xsp:name> structures Revision Changes Path 1.43 +15 -4 xml-axkit/lib/Apache/AxKit/Language/XSP.pm Index: XSP.pm =================================================================== RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Language/XSP.pm,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- XSP.pm 10 Jul 2003 09:50:06 -0000 1.42 +++ XSP.pm 16 Jul 2003 08:33:14 -0000 1.43 @@ -629,7 +629,7 @@ # should be treated as a text node and, therefore, coerced to String to be # output through a characters SAX event." - if ($e->current_element() =~ /^(content)$/) { + if ($e->current_element() =~ /^(content|element)$/) { if ($text =~ /\S/ || $e->{XSP_Indent}) { $text = makeSingleQuoted($text); return "__mk_text_node(\$document,\$parent,$text);"; @@ -733,7 +733,7 @@ } elsif ($node->{Parent}->{Name} =~ /^(.*:)?attribute$/) { $e->{attrib_seen_name} = 1; - return '__mk_attribute_node($document, $parent, $name, ""'; + return '$parent->setAttribute(""'; } else { die "xsp:name parent node: $node->{Parent}->{Name} not valid"; @@ -803,6 +803,12 @@ return ");\n"; } elsif ($tag eq 'name') { + if ($node->{Parent}->{Name} =~ /^(.*:)?element$/) { + return ");\n"; + } + elsif ($node->{Parent}->{Name} =~ /^(.*:)?attribute$/) { + return ', ""'; + } } elsif ($tag eq 'pi') { } @@ -1143,7 +1149,12 @@ use Exporter; @Apache::AxKit::Language::XSP::Page::ISA = qw(Exporter); @Apache::AxKit::Language::XSP::Page::EXPORT_OK = - qw(__mk_text_node __mk_element_node __mk_comment_node __mk_ns_element_node); + qw( + __mk_text_node + __mk_element_node + __mk_comment_node + __mk_ns_element_node + ); sub has_changed { my $class = shift;