cvs commit: xml-axkit/lib/Apache/AxKit/Language XSP.pm

2005-04-20 Thread matts
matts   2005/04/20 13:02:14

  Modified:lib/Apache/AxKit/Language XSP.pm
  Log:
  Support namespace prefixed attributes
  
  Revision  ChangesPath
  1.53  +17 -1 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.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- XSP.pm31 Oct 2003 17:04:46 -  1.52
  +++ XSP.pm20 Apr 2005 20:02:14 -  1.53
  @@ -743,8 +743,24 @@
   }
   }
   elsif ($tag eq 'attribute') {
  +if (my $uri = $attribs{uri}) {
  +# handle NS attributes
  +my $prefix = $attribs{prefix} || die No prefix given;
  +my $name = $attribs{name} || die No name given;
  +$e-{attrib_seen_name} = 1;
  +return '$parent-setNamespace('.makeSingleQuoted($uri).', '.
  +makeSingleQuoted($prefix).', 
0);'.
  +   '$parent-setAttribute('.makeSingleQuoted($name).', ';
  +}
   if (my $name = $attribs{name}) {
   $e-{attrib_seen_name} = 1;
  +# handle prefixed names
  +if ($name =~ s/^(.*?)://) {
  +my $prefix = $1;
  +return 'my $nsuri = $parent-lookupNamespaceURI(' . 
makeSingleQuoted($prefix) . ')'.
  +' || die No namespace found with given 
prefix;'.\n.
  +
'$parent-setAttributeNS($nsuri,'.makeSingleQuoted($name).', ';
  +}
   return '$parent-setAttribute('.makeSingleQuoted($name).', ';
   }
   $e-{attrib_seen_name} = 0;
  
  
  


cvs commit: xml-axkit/lib/Apache/AxKit/Language XSP.pm

2005-04-20 Thread matts
matts   2005/04/20 13:06:54

  Modified:lib/Apache/AxKit/Language XSP.pm
  Log:
  Support namespace prefixes for ordinary elements.
  
  Revision  ChangesPath
  1.54  +7 -1  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.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- XSP.pm20 Apr 2005 20:02:14 -  1.53
  +++ XSP.pm20 Apr 2005 20:06:54 -  1.54
  @@ -1228,6 +1228,12 @@
   
   sub __mk_element_node {
   my ($document, $parent, $name) = @_;
  +if ($name =~ s/^(.*?)://) {
  +my $prefix = $1;
  +my $uri = $parent-lookupNamespaceURI($prefix)
  +|| die No namespace URI for prefix '$prefix';
  +return __mk_ns_element_node($document, $parent, $uri, $name);
  +}
   my $elem = $document-createElement($name);
   if ($parent) {
   $parent-appendChild($elem);
  
  
  


cvs commit: xml-axkit/lib/Apache/AxKit/Language XSP.pm

2005-04-20 Thread matts
matts   2005/04/20 14:18:21

  Modified:lib/Apache/AxKit/Language XSP.pm
  Log:
  Bug fix for attribute ns names
  
  Revision  ChangesPath
  1.55  +3 -2  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.54
  retrieving revision 1.55
  diff -u -r1.54 -r1.55
  --- XSP.pm20 Apr 2005 20:06:54 -  1.54
  +++ XSP.pm20 Apr 2005 21:18:20 -  1.55
  @@ -750,7 +750,8 @@
   $e-{attrib_seen_name} = 1;
   return '$parent-setNamespace('.makeSingleQuoted($uri).', '.
   makeSingleQuoted($prefix).', 
0);'.
  -   '$parent-setAttribute('.makeSingleQuoted($name).', ';
  +   '$parent-setAttributeNS('.makeSingleqQuoted($uri).', '.
  +  makeSingleQuoted($name).', ';
   }
   if (my $name = $attribs{name}) {
   $e-{attrib_seen_name} = 1;