> Try 1.6rc3 - the 1.6 release fixes some xinclude bugs.

Now, I'm getting a compilation error on a script that was running at least 
occasionally before.... 

See lines 36-39, where it seems to my untrained eye, that at the end of the 
function (line 41) there's still an unanswered left brace from line 36.

The xsp code that generates lines 14-41 is below.

Thanks,
Kevin


[Tue Jun  4 13:38:02 2002] [warn] [client 192.168.92.56] [AxKit] fast handler 
called for /datatapes/info/DataFileList.xsp
[Tue Jun  4 13:38:02 2002] [warn] [client 192.168.92.56] [AxKit] Content 
Provider Override: Apache::AxKit::Provider::File
[Tue Jun  4 13:38:02 2002] [warn] [client 192.168.92.56] [AxKit] [req] File 
Provider given $r: /home/httpd/html/datatapes/info/DataFileList.xsp
[Tue Jun  4 13:38:02 2002] [warn] [client 192.168.92.56] [AxKit] checking if 
we process this resource
[Tue Jun  4 13:38:02 2002] [warn] [client 192.168.92.56] [AxKit] media: 
screen, preferred style: #default
[Tue Jun  4 13:38:02 2002] [warn] [client 192.168.92.56] [AxKit] Cache: key = 
22188da1315b644d5a6aa8064befe022
[Tue Jun  4 13:38:02 2002] [warn] [client 192.168.92.56] [AxKit] getting 
styles and external entities from the XML
[Tue Jun  4 13:38:02 2002] [warn] [client 192.168.92.56] [AxKit] styles not 
cached - calling $provider->get_styles()
[Tue Jun  4 13:38:02 2002] [warn] [client 192.168.92.56] [AxKit] using XS 
get_styles (libxml2)
[Tue Jun  4 13:38:02 2002] [warn] [client 192.168.92.56] [AxKit] calling 
xs_get_styles_fh()
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] calling 
xs_get_styles_str()
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] parse_pi: 
href = .
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] parse_pi: 
type = application/x-xsp
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] parse_pi: 
href = /datatapes/directorycontents.xsl
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] parse_pi: 
type = text/xsl
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] xs_get_styles 
returned: , , {http://www.apache.org/1999/XSP/Core}page
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] Calling 
GetMatchingProcessors with (screen, , , , 
{http://www.apache.org/1999/XSP/Core}page)
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] get_styles: 
loading style modules
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] get_styles: 
looking for mapping for style type: 'application/x-xsp'
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] get_styles: 
looking for mapping for style type: 'text/xsl'
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] cache doesn't 
exist
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] some 
condition failed. recreating output
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] styles: 
Apache::AxKit::Language::XSP(.)
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] styles: 
Apache::AxKit::Language::LibXSLT(/datatapes/directorycontents.xsl)
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] Style 
Provider Override: Apache::AxKit::Provider::File
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] [uri] File 
Provider looking up uri .
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] [uri] File 
Provider set filename to /home/httpd/html/datatapes/info
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] about to 
execute: Apache::AxKit::Language::XSP::handler
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] XSP: parsing 
fh
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] Recompiling 
XSP script
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] package 
Apache::AxKit::Language::XSP::ROOT::home::httpd::html::datatapes::info::DataFileList_2exsp;
 
@Apache::AxKit::Language::XSP::ROOT::home::httpd::html::datatapes::info::DataFileList_2exsp::ISA
 
= ('Apache::AxKit::Language::XSP::Page');
use Apache;
use Apache::Constants qw(:common);
use XML::LibXML;#initialize xsp namespace
#initialize xsp namespace


sub handler {
my ($r, $cgi, $document) = @_;
my ($parent);

my $elem; { $elem = 
$document->createElement(q|DirectoryContents|);#$document->setDocumentElement($elem);
 my $parent = $elem;

my $dir=$cgi->param('dir');
if($dir=="") {
        $dir="/datatapes/info";
}
{ my $text = $document->createTextNode("". do {$dir}); 
$parent->appendChild($text); }

my $fs_base="/home/httpd/html";

sub include_files {
my ($dir,$pattern)=@_;
        my $datafile;
        opendir(DIR, $fs_base.$dir);
        while( defined( $datafile = readdir DIR)  ) {
         if($datafile=~/$pattern/) {
                include_file($dir."/".$datafile);
         }
        }
        closedir(DIR);
}
sub include_file {
 my ($filename)=@_;
          my $elem; { $elem = $document->createElement(q|xi:include|);my 
$parent = $elem;
$parent->setAttribute(q|xmlns:xi|, "". q|http://www.w3.org/2001/XInclude|);
$parent->setAttribute(q|href|, "". do {$filename});
$parent = $parent->getParentNode;

}
 my $elem; { $elem = $document->createElement(q|CurrentDirectory|); my $parent 
= $elem;

include_file($dir."/DirectoryInfo.xml");
} $parent->appendChild($elem);
 my $elem; { $elem = $document->createElement(q|DataFileSubDirectoryList|); my 
$parent = $elem;

 my $nextfile;
 opendir(DIR,$fs_base.$dir);
 while( defined( $nextfile = readdir DIR) ) {
        if ( -d $fs_base.$dir."/".$nextfile && $nextfile !~ /^\./ && -f 
$fs_base.$dir."/".$nextfile."/DirectoryInfo.xml") {
                include_file($dir."/".$nextfile."/DirectoryInfo.xml");
        }
 }
 closedir(DIR);
} $parent->appendChild($elem);
 my $elem; { $elem = $document->createElement(q|DataFileList|); my $parent = 
$elem;

 include_files($dir,"^DataFile-[0-9]*.xml");
} $parent->appendChild($elem);
 my $elem; { $elem = $document->createElement(q|FileInfoEntryList|); my 
$parent = $elem;

 include_files($dir,"^Info--[0-9]*--.xml");
} $parent->appendChild($elem);
} $document->setDocumentElement($elem);

return OK;
}

Script:
1 package 
Apache::AxKit::Language::XSP::ROOT::home::httpd::html::datatapes::info::DataFileList_2exsp;
 
@Apache::AxKit::Language::XSP::ROOT::home::httpd::html::datatapes::info::DataFileList_2exsp::ISA
 
= ('Apache::AxKit::Language::XSP::Page');
2 use Apache;
3 use Apache::Constants qw(:common);
4 use XML::LibXML;#initialize xsp namespace
5 #initialize xsp namespace
6
7
8 sub handler {
9 my ($r, $cgi, $document) = @_;
10 my ($parent);
11
12 my $elem; { $elem = 
$document->createElement(q|DirectoryContents|);#$document->setDocumentElement($elem);
13  my $parent = $elem;
14
15 my $dir=$cgi->param('dir');
16 if($dir=="") {
17      $dir="/datatapes/info";
18 }
19 { my $text = $document->createTextNode("". do {$dir}); 
$parent->appendChild($text); }
20
21 my $fs_base="/home/httpd/html";
22
23 sub include_files {
24 my ($dir,$pattern)=@_;
25         my $datafile;
26      opendir(DIR, $fs_base.$dir);
27      while( defined( $datafile = readdir DIR)  ) {
28       if($datafile=~/$pattern/) {
29              include_file($dir."/".$datafile);
30       }
31      }
32      closedir(DIR);
33 }
34 sub include_file {
35  my ($filename)=@_;
36        my $elem; { $elem = $document->createElement(q|xi:include|);my 
$parent = $elem;
37 $parent->setAttribute(q|xmlns:xi|, "". q|http://www.w3.org/2001/XInclude|);
38 $parent->setAttribute(q|href|, "". do {$filename});
39 $parent = $parent->getParentNode;
40
41 }
42  my $elem; { $elem = $document->createElement(q|CurrentDirectory|); my 
$parent = $elem;
43
44 include_file($dir."/DirectoryInfo.xml");
45 } $parent->appendChild($elem);
46  my $elem; { $elem = $document->createElement(q|DataFileSubDirectoryList|); 
my $parent = $elem;
47
48  my $nextfile;
49  opendir(DIR,$fs_base.$dir);
50  while( defined( $nextfile = readdir DIR) ) {
51      if ( -d $fs_base.$dir."/".$nextfile && $nextfile !~ /^\./ && -f 
$fs_base.$dir."/".$nextfile."/DirectoryInfo.xml") {
52              include_file($dir."/".$nextfile."/DirectoryInfo.xml");
53      }
54  }
55  closedir(DIR);
56 } $parent->appendChild($elem);
57  my $elem; { $elem = $document->createElement(q|DataFileList|); my $parent 
= $elem;
58
59  include_files($dir,"^DataFile-[0-9]*.xml");
60 } $parent->appendChild($elem);
61  my $elem; { $elem = $document->createElement(q|FileInfoEntryList|); my 
$parent = $elem;
62
63  include_files($dir,"^Info--[0-9]*--.xml");
64 } $parent->appendChild($elem);
65 } $document->setDocumentElement($elem);
66
67 return OK;
68 }
69
[Tue Jun  4 13:38:03 2002] [warn] [client 192.168.92.56] [AxKit] Caught an 
exception
[Tue Jun  4 13:38:03 2002] [error] [client 192.168.92.56] [AxKit] [Error] 
Compilation failed: Missing right curly or square bracket at (eval 9) line 
70, at end of line
syntax error at (eval 9) line 70, at EOF

[Tue Jun  4 13:38:03 2002] [error] [client 192.168.92.56] [AxKit] From: 
/usr/lib/perl5/site_perl/5.6.1/Error.pm : 148
[Tue Jun  4 13:38:03 2002] [error] [client 192.168.92.56] [AxKit] [Backtrace] 
Compilation failed: Missing right curly or square bracket at (eval 9) line 
70, at end of line
syntax error at (eval 9) line 70, at EOF
        Error::throw('Apache::AxKit::Exception::Error', '-text', 'Compilation 
failed: Missing right curly or square bracket at (ev...') called at 
/usr/lib/perl5/site_perl/5.6.1/i386-linux/Apache/AxKit/Language/XSP.pm line 
114
        Apache::AxKit::Language::XSP::handler('Apache::AxKit::Language::XSP', 
'AxKit::Apache=SCALAR(0x81f34d4)', 
'Apache::AxKit::Provider::File=HASH(0x81f35b8)', 
'Apache::AxKit::Provider::File=HASH(0x82e0110)', '') called at 
/usr/lib/perl5/site_perl/5.6.1/i386-linux/AxKit.pm line 612
        AxKit::process_request('AxKit::Apache=SCALAR(0x81f34d4)', 
'Apache::AxKit::Provider::File=HASH(0x81f35b8)', 'ARRAY(0x8194ab4)') called 
at /usr/lib/perl5/site_perl/5.6.1/i386-linux/AxKit.pm line 435
        AxKit::run_axkit_engine('AxKit::Apache=SCALAR(0x81f34d4)', 
'Apache::AxKit::Provider::File=HASH(0x81f35b8)') called at 
/usr/lib/perl5/site_perl/5.6.1/i386-linux/AxKit.pm line 263
        eval {...} called at 
/usr/lib/perl5/site_perl/5.6.1/i386-linux/AxKit.pm line 254
        AxKit::main_handler('AxKit::Apache=SCALAR(0x81f34d4)', 
'Apache::AxKit::Provider::File=HASH(0x81f35b8)') called at 
/usr/lib/perl5/site_perl/5.6.1/i386-linux/AxKit.pm line 171
        AxKit::fast_handler('AxKit::Apache=SCALAR(0x81f34d4)') called at 
/dev/null line 0
        eval {...} called at /dev/null line 0
---------------------

The code that generates lines 14-41:

<xsp:logic>
my $dir=$cgi->param('dir');
if($dir=="") {
        $dir="/datatapes/info";
}
<xsp:text><xsp:expr>$dir</xsp:expr></xsp:text>
my $fs_base="/home/httpd/html";

sub include_files {
my ($dir,$pattern)=@_;
        my $datafile;
        opendir(DIR, $fs_base.$dir);
        while( defined( $datafile = readdir DIR)  ) {
         if($datafile=~/$pattern/) {
                include_file($dir."/".$datafile);
         }
        }
        closedir(DIR);
}
sub include_file {
 my ($filename)=@_;
          <xsp:element name="xi:include">
            <xsp:attribute 
name="xmlns:xi">http://www.w3.org/2001/XInclude</xsp:attribute>
            <xsp:attribute 
name="href"><xsp:expr>$filename</xsp:expr></xsp:attribute>
          </xsp:element>
}
</xsp:logic>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to