matts 2003/01/02 08:09:35
Modified: lib/Apache/AxKit/Language XSP.pm Log: Attempt to give better error messages if you try to create elements inside attributes Revision Changes Path 1.24 +15 -6 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.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- XSP.pm 2 Jan 2003 15:05:53 -0000 1.23 +++ XSP.pm 2 Jan 2003 16:09:34 -0000 1.24 @@ -684,6 +684,13 @@ return "use "; } elsif ($tag eq 'element') { + if ($node->{Parent}->{Name} eq 'attribute' && + Apache::AxKit::Language::XSP::is_xsp_namespace($node->{Parent}->{NamespaceURI})) + { + throw Apache::AxKit::Exception( + -text => "Can't have element as child of attributes!" + ); + } if (my $name = $attribs{name}) { $e->manage_text(0); return '{ my $elem = $document->createElement(' . makeSingleQuoted($name) . ');' . @@ -850,12 +857,14 @@ } } else { -# $code = '{ my $elem = $document->createElement(q(' . $node->{Name} . '));' . + if ($node->{Parent}->{Name} eq 'attribute' && + Apache::AxKit::Language::XSP::is_xsp_namespace($node->{Parent}->{NamespaceURI})) + { + throw Apache::AxKit::Exception( + -text => "Can't have element as child of attributes!" + ); + } if ($node->{NamespaceURI}) { -# FIXME: This seems to be okay now, needs more testing. -# if ($node->{Name} !~ m/:/) { -# $node->{Name} = $e->generate_nsprefix($node->{NamespaceURI}).':'.$node->{Name}; -# } $code = '{ my $elem = $document->createElementNS('.makeSingleQuoted($node->{NamespaceURI}).','.makeSingleQuoted($node->{Name}).');' . '$parent->appendChild($elem); $parent = $elem; }' . "\n"; }