xml-axkit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ma...@apache.org
Subject cvs commit: xml-axkit/lib/Apache/AxKit/Provider File.pm
Date Tue, 09 Aug 2005 17:50:35 GMT
matts       2005/08/09 10:50:35

  Modified:    lib/Apache/AxKit Provider.pm
               lib/Apache/AxKit/Provider File.pm
  Log:
  Fix for relative URLs in xsl stylesheets when using file:/// URIs.
  
  Revision  Changes    Path
  1.23      +11 -7     xml-axkit/lib/Apache/AxKit/Provider.pm
  
  Index: Provider.pm
  ===================================================================
  RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Provider.pm,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- Provider.pm	9 Aug 2005 16:10:57 -0000	1.22
  +++ Provider.pm	9 Aug 2005 17:50:35 -0000	1.23
  @@ -154,6 +154,10 @@
   }
   
   
  +sub get_document_uri {
  +    return shift->{apache}->uri();
  +}
  +
   sub get_dom {
       my $self = shift;
       require Apache::AxKit::LibXMLSupport;
  @@ -172,22 +176,22 @@
       my $str;
       if($str = $r->pnotes('xml_string')) {
       	use bytes;
  -        AxKit::Debug(8, "Provider::get_dom/parse_string($str, ", $self->{apache}->uri(),
")");
  -        $xml_doc = $parser->parse_string($str, $self->{apache}->uri()) || 
  +        AxKit::Debug(8, "Provider::get_dom/parse_string($str, ", $self->get_document_uri(),
")");
  +        $xml_doc = $parser->parse_string($str, $self->get_document_uri()) || 
               throw Apache::AxKit::Exception::Error(
                   -text => "XML::LibXML->parse_string returned nothing!"
                   );
   	} else {    
   		eval {
   			my $fh = $self->get_fh();
  -			AxKit::Debug(8, "Provider::get_dom/parse_fh($fh, ", $self->{apache}->uri(), ")");
  -			$xml_doc = $parser->parse_fh($fh, $self->{apache}->uri());
  +			AxKit::Debug(8, "Provider::get_dom/parse_fh($fh, ", $self->get_document_uri(), ")");
  +			$xml_doc = $parser->parse_fh($fh, $self->get_document_uri());
   		};
   		if ($@) {
   			use bytes;
   			my $xmlstring = ${$self->get_strref()};
  -			AxKit::Debug(8, "Provider::get_dom/parse_string($xmlstring, ", $self->{apache}->uri(),
")");
  -			$xml_doc = $parser->parse_string($xmlstring, $self->{apache}->uri()) || 
  +			AxKit::Debug(8, "Provider::get_dom/parse_string($xmlstring, ", $self->get_document_uri(),
")");
  +			$xml_doc = $parser->parse_string($xmlstring, $self->get_document_uri()) || 
   				throw Apache::AxKit::Exception::Error(
   					-text => "XML::LibXML->parse_string returned nothing!"
   					);
  
  
  
  1.20      +8 -1      xml-axkit/lib/Apache/AxKit/Provider/File.pm
  
  Index: File.pm
  ===================================================================
  RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Provider/File.pm,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- File.pm	14 Jul 2005 18:43:35 -0000	1.19
  +++ File.pm	9 Aug 2005 17:50:35 -0000	1.20
  @@ -44,6 +44,7 @@
       else {
           if ($p{uri} and $p{uri} =~ s|^file:(//)?||) {
               $p{file} = delete $p{uri};
  +	    $self->{protocol} = "file:$1";
           }
   
           if ($p{uri}) {
  @@ -132,6 +133,12 @@
       return;
   }
   
  +sub get_document_uri {
  +    my $self = shift;
  +    return $self->{protocol}.$self->{file} if ($self->{protocol});
  +    return $self->SUPER::get_document_uri(@_);
  +}
  +
   sub get_dir_xml {
   	my $self = shift;
       my $r = AxKit::Apache->request;
  
  
  

Mime
View raw message