You are viewing a plain text version of this content. The canonical link for it is here.
Posted to embperl-cvs@perl.apache.org by ri...@apache.org on 2002/02/07 07:56:21 UTC
cvs commit: embperl/xsbuilder/maps ep_structure.map ep_type.map
richter 02/02/06 22:56:21
Modified: . Tag: Embperl2c epcfg.h epdat2.h eptypes.h
Embperl/Recipe Tag: Embperl2c Embperl.pm EmbperlLibXSLT.pm
EmbperlXSLT.pm EmbperlXalanXSLT.pm LibXSLT.pm
XSLT.pm XalanXSLT.pm
driver Tag: Embperl2c eplibxslt.c epxalan.cpp
xsbuilder/maps Tag: Embperl2c ep_structure.map ep_type.map
Log:
xml
Revision Changes Path
No revision
No revision
1.1.2.7 +1 -1 embperl/Attic/epcfg.h
Index: epcfg.h
===================================================================
RCS file: /home/cvs/embperl/Attic/epcfg.h,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -u -r1.1.2.6 -r1.1.2.7
--- epcfg.h 5 Feb 2002 09:04:03 -0000 1.1.2.6
+++ epcfg.h 7 Feb 2002 06:56:20 -0000 1.1.2.7
@@ -19,7 +19,7 @@
EPCFG_INT (ComponentConfig, int , nExpiresIn, EXPIRES_IN)
EPCFG_STR (ComponentConfig, char *, sSyntax, SYNTAX)
EPCFG_STR (ComponentConfig, char *, sRecipe, RECIPE)
-EPCFG_STR (ComponentConfig, char *, sXsltstylesheet, XSLTSYTLESHEET)
+EPCFG_STR (ComponentConfig, char *, sXsltstylesheet, XSLTSTYLESHEET)
EPCFG_STR (ComponentConfig, char *, sXsltproc, XSLTPROC)
EPCFG_STR (ComponentConfig, char *, sCompartment, COMPARTMENT)
#endif
1.1.2.23 +2 -2 embperl/Attic/epdat2.h
Index: epdat2.h
===================================================================
RCS file: /home/cvs/embperl/Attic/epdat2.h,v
retrieving revision 1.1.2.22
retrieving revision 1.1.2.23
diff -u -r1.1.2.22 -r1.1.2.23
--- epdat2.h 6 Feb 2002 09:21:07 -0000 1.1.2.22
+++ epdat2.h 7 Feb 2002 06:56:20 -0000 1.1.2.23
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: epdat2.h,v 1.1.2.22 2002/02/06 09:21:07 richter Exp $
+# $Id: epdat2.h,v 1.1.2.23 2002/02/07 06:56:20 richter Exp $
#
###################################################################################*/
@@ -155,7 +155,7 @@
AV * pParam ; /**< parameters passed via Execute */
HV * pFormHash; /**< fdat for this component */
AV * pFormArray ; /**< ffld for this component */
-
+ HV * pXsltParam ; /**< parameter for xslt proc */
} tComponentParam ;
1.1.2.2 +5 -0 embperl/Attic/eptypes.h
Index: eptypes.h
===================================================================
RCS file: /home/cvs/embperl/Attic/eptypes.h,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- eptypes.h 5 Feb 2002 09:04:04 -0000 1.1.2.1
+++ eptypes.h 7 Feb 2002 06:56:20 -0000 1.1.2.2
@@ -13,6 +13,9 @@
###################################################################################*/
+#ifndef __EPTYPES_H
+#define __EPTYPES_H
+
struct tReq ;
typedef struct tReq req ;
typedef struct tReq tReq ;
@@ -25,3 +28,5 @@
struct tApacheDirConfig ;
typedef struct tApacheDirConfig tApacheDirConfig ;
+
+#endif
No revision
No revision
1.1.2.13 +6 -6 embperl/Embperl/Recipe/Attic/Embperl.pm
Index: Embperl.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Recipe/Attic/Embperl.pm,v
retrieving revision 1.1.2.12
retrieving revision 1.1.2.13
diff -u -r1.1.2.12 -r1.1.2.13
--- Embperl.pm 27 Jan 2002 20:04:36 -0000 1.1.2.12
+++ Embperl.pm 7 Feb 2002 06:56:20 -0000 1.1.2.13
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: Embperl.pm,v 1.1.2.12 2002/01/27 20:04:36 richter Exp $
+# $Id: Embperl.pm,v 1.1.2.13 2002/02/07 06:56:20 richter Exp $
#
###################################################################################
@@ -48,9 +48,9 @@
$src =
{
'type' => 'memory',
- 'name' => $param -> inputfile,
- 'source' => $param -> input,
- 'mtime' => $param -> mtime,
+ #'name' => $param -> inputfile,
+ #'source' => $param -> input,
+ #'mtime' => $param -> mtime,
} ;
}
else
@@ -58,7 +58,7 @@
$src =
{
'type' => 'file',
- 'filename' => $file,
+ #'filename' => $file,
'cache' => 0,
} ;
}
@@ -75,7 +75,7 @@
'provider' =>
{
'type' => 'epparse',
- 'syntax' => $config -> syntax || 'Embperl',
+ #'syntax' => $config -> syntax || 'Embperl',
'source' =>
{
'cache' => 0,
1.1.2.5 +4 -4 embperl/Embperl/Recipe/Attic/EmbperlLibXSLT.pm
Index: EmbperlLibXSLT.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Recipe/Attic/EmbperlLibXSLT.pm,v
retrieving revision 1.1.2.4
retrieving revision 1.1.2.5
diff -u -r1.1.2.4 -r1.1.2.5
--- EmbperlLibXSLT.pm 22 Jan 2002 09:29:56 -0000 1.1.2.4
+++ EmbperlLibXSLT.pm 7 Feb 2002 06:56:20 -0000 1.1.2.5
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: EmbperlLibXSLT.pm,v 1.1.2.4 2002/01/22 09:29:56 richter Exp $
+# $Id: EmbperlLibXSLT.pm,v 1.1.2.5 2002/02/07 06:56:20 richter Exp $
#
###################################################################################
@@ -35,10 +35,10 @@
sub new
{
- my ($class, $r, $recipe, $param) = @_ ;
+ my ($class, $r, $recipe) = @_ ;
- $param -> {xsltproc} = 'libxslt' ;
- return Embperl::Recipe::EmbperlXSLT -> new ($r, $recipe, $param) ;
+ $r -> component -> config -> xsltproc ('libxslt') ;
+ return Embperl::Recipe::EmbperlXSLT -> new ($r, $recipe) ;
}
1.1.2.8 +17 -13 embperl/Embperl/Recipe/Attic/EmbperlXSLT.pm
Index: EmbperlXSLT.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Recipe/Attic/EmbperlXSLT.pm,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -u -r1.1.2.7 -r1.1.2.8
--- EmbperlXSLT.pm 22 Jan 2002 09:29:56 -0000 1.1.2.7
+++ EmbperlXSLT.pm 7 Feb 2002 06:56:20 -0000 1.1.2.8
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: EmbperlXSLT.pm,v 1.1.2.7 2002/01/22 09:29:56 richter Exp $
+# $Id: EmbperlXSLT.pm,v 1.1.2.8 2002/02/07 06:56:20 richter Exp $
#
###################################################################################
@@ -35,17 +35,20 @@
sub new
{
- my ($class, $r, $recipe, $param) = @_ ;
+ my ($class, $r, $recipe) = @_ ;
- my $ep = Embperl::Recipe::Embperl -> new ($r, $recipe, $param) ;
+ my $ep = Embperl::Recipe::Embperl -> new ($r, $recipe) ;
#return $ep if ($r -> IsImport) ;
- return $ep if (exists ($param -> {'import'})) ;
+ my $param = $r -> component -> param ;
+ return $ep if ($param -> import >= 0) ;
- my $xsltproc = $param -> {xsltproc} ;
- my $xsltparam= $param -> {xsltparam} || \%Embperl::fdat ;
+ my $config = $r -> component -> config ;
+ my $file = $param -> inputfile ;
+ my $xsltproc = $config -> xsltproc ;
+ my $xsltparam = $param -> xsltparam || \%Embperl::fdat ;
use Data::Dumper ;
- print Embperl::LOG 'xsltparam = ', Dumper ($xsltparam) ;
+ print Embperl::LOG 'xsltparam = ', Dumper ($xsltparam, $xsltproc, $config -> xsltstylesheet) ;
my $self =
@@ -87,7 +90,7 @@
provider =>
{
'type' => 'file',
- 'filename' => $param -> {xsltstylesheet},
+ 'filename' => $config -> xsltstylesheet,
}
},
},
@@ -95,11 +98,12 @@
}
} ;
- foreach (qw{expires_in expires_func expires_filename cache_key cache_key_options cache_key_func})
- {
- $self -> {$_} = $param -> {$_} if (exists $param -> {$_}) ;
- }
- $self -> {'cache'} = $self -> {expires_in} || $self -> {expires_func} || $self -> {expires_filename}?1:0 ;
+ #foreach (qw{expires_in expires_func expires_filename cache_key cache_key_options cache_key_func})
+ # {
+ # $self -> {$_} = $param -> {$_} if (exists $param -> {$_}) ;
+ # }
+ #$self -> {'cache'} = $self -> {expires_in} || $self -> {expires_func} || $self -> {expires_filename}?1:0 ;
+ $self -> {'cache'} = 0 ;
return $self ;
1.1.2.5 +4 -4 embperl/Embperl/Recipe/Attic/EmbperlXalanXSLT.pm
Index: EmbperlXalanXSLT.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Recipe/Attic/EmbperlXalanXSLT.pm,v
retrieving revision 1.1.2.4
retrieving revision 1.1.2.5
diff -u -r1.1.2.4 -r1.1.2.5
--- EmbperlXalanXSLT.pm 22 Jan 2002 09:29:56 -0000 1.1.2.4
+++ EmbperlXalanXSLT.pm 7 Feb 2002 06:56:20 -0000 1.1.2.5
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: EmbperlXalanXSLT.pm,v 1.1.2.4 2002/01/22 09:29:56 richter Exp $
+# $Id: EmbperlXalanXSLT.pm,v 1.1.2.5 2002/02/07 06:56:20 richter Exp $
#
###################################################################################
@@ -35,10 +35,10 @@
sub new
{
- my ($class, $r, $recipe, $param) = @_ ;
+ my ($class, $r, $recipe) = @_ ;
- $param -> {xsltproc} = 'xalan' ;
- return Embperl::Recipe::EmbperlXSLT -> new ($r, $recipe, $param) ;
+ $r -> component -> config -> xsltproc ('xalan') ;
+ return Embperl::Recipe::EmbperlXSLT -> new ($r, $recipe) ;
}
1.1.2.4 +4 -4 embperl/Embperl/Recipe/Attic/LibXSLT.pm
Index: LibXSLT.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Recipe/Attic/LibXSLT.pm,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -r1.1.2.3 -r1.1.2.4
--- LibXSLT.pm 22 Jan 2002 09:29:56 -0000 1.1.2.3
+++ LibXSLT.pm 7 Feb 2002 06:56:20 -0000 1.1.2.4
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: LibXSLT.pm,v 1.1.2.3 2002/01/22 09:29:56 richter Exp $
+# $Id: LibXSLT.pm,v 1.1.2.4 2002/02/07 06:56:20 richter Exp $
#
###################################################################################
@@ -35,10 +35,10 @@
sub new
{
- my ($class, $r, $recipe, $param) = @_ ;
+ my ($class, $r, $recipe) = @_ ;
- $param -> {xsltproc} = 'libxslt' ;
- return Embperl::Recipe::XSLT -> new ($r, $recipe, $param) ;
+ $r -> component -> config -> xsltproc ('libxslt') ;
+ return Embperl::Recipe::XSLT -> new ($r, $recipe) ;
}
1.1.2.8 +20 -27 embperl/Embperl/Recipe/Attic/XSLT.pm
Index: XSLT.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Recipe/Attic/XSLT.pm,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -u -r1.1.2.7 -r1.1.2.8
--- XSLT.pm 22 Jan 2002 09:29:56 -0000 1.1.2.7
+++ XSLT.pm 7 Feb 2002 06:56:20 -0000 1.1.2.8
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: XSLT.pm,v 1.1.2.7 2002/01/22 09:29:56 richter Exp $
+# $Id: XSLT.pm,v 1.1.2.8 2002/02/07 06:56:20 richter Exp $
#
###################################################################################
@@ -35,32 +35,24 @@
sub new
{
- my ($class, $r, $recipe, $param) = @_ ;
+ my ($class, $r, $recipe) = @_ ;
my $self ;
my $src ;
- my $file = $param -> {inputfile} ;
- my $xsltproc = $param -> {xsltproc} ;
- my $xsltparam= $param -> {xsltparam} || \%Embperl::fdat ;
+ my $param = $r -> component -> param ;
+ my $config = $r -> component -> config ;
+ my $file = $param -> inputfile ;
+ my $xsltproc = $config -> xsltproc ;
+ my $xsltparam = $param -> xsltparam || \%Embperl::fdat ;
-=pod
- if (!$param -> {inputfile} && $param->{sub})
- {
- ($file) = $r -> Sourcefile =~ /.*(?:\/|\\)(.*?)$/ ;
- }
- else
- {
- $file = $r -> Sourcefile ;
- }
-=cut
- if (ref $param -> {input})
+ if (ref $param -> input)
{
$src =
{
'type' => 'memory',
- 'name' => $param -> {inputfile},
- 'source' => $param -> {input},
- 'mtime' => $param -> {mtime},
+ #'name' => $param -> {inputfile},
+ #'source' => $param -> {input},
+ #'mtime' => $param -> {mtime},
} ;
}
else
@@ -68,12 +60,12 @@
$src =
{
'type' => 'file',
- 'filename' => $file,
+ #'filename' => $file,
'cache' => 0,
} ;
}
- return $src if (exists ($param -> {'import'})) ;
+ return $src if ($param -> import >= 0) ;
#return $src if ($r -> IsImport) ;
$self =
@@ -107,7 +99,7 @@
provider =>
{
'type' => 'file',
- 'filename' => $param -> {xsltstylesheet},
+ 'filename' => $config -> xsltstylesheet,
}
},
},
@@ -115,11 +107,12 @@
}
} ;
- foreach (qw{expires_in expires_func expires_filename cache_key cache_key_options cache_key_func})
- {
- $self -> {$_} = $param -> {$_} if (exists $param -> {$_}) ;
- }
- $self -> {'cache'} = $self -> {expires_in} || $self -> {expires_func} || exists ($self -> {expires_filename})?1:0 ;
+ #foreach (qw{expires_in expires_func expires_filename cache_key cache_key_options cache_key_func})
+ # {
+ # $self -> {$_} = $param -> {$_} if (exists $param -> {$_}) ;
+ # }
+ #$self -> {'cache'} = $self -> {expires_in} || $self -> {expires_func} || exists ($self -> {expires_filename})?1:0 ;
+ $self -> {'cache'} = 0 ;
return $self ;
1.1.2.4 +4 -4 embperl/Embperl/Recipe/Attic/XalanXSLT.pm
Index: XalanXSLT.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Recipe/Attic/XalanXSLT.pm,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -r1.1.2.3 -r1.1.2.4
--- XalanXSLT.pm 22 Jan 2002 09:29:56 -0000 1.1.2.3
+++ XalanXSLT.pm 7 Feb 2002 06:56:20 -0000 1.1.2.4
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: XalanXSLT.pm,v 1.1.2.3 2002/01/22 09:29:56 richter Exp $
+# $Id: XalanXSLT.pm,v 1.1.2.4 2002/02/07 06:56:20 richter Exp $
#
###################################################################################
@@ -35,10 +35,10 @@
sub new
{
- my ($class, $r, $recipe, $param) = @_ ;
+ my ($class, $r, $recipe) = @_ ;
- $param -> {xsltproc} = 'xalan' ;
- return Embperl::Recipe::XSLT -> new ($r, $recipe, $param) ;
+ $r -> component -> config -> xsltproc ('xalan') ;
+ return Embperl::Recipe::XSLT -> new ($r, $recipe) ;
}
No revision
No revision
1.1.2.14 +2 -2 embperl/driver/Attic/eplibxslt.c
Index: eplibxslt.c
===================================================================
RCS file: /home/cvs/embperl/driver/Attic/eplibxslt.c,v
retrieving revision 1.1.2.13
retrieving revision 1.1.2.14
diff -u -r1.1.2.13 -r1.1.2.14
--- eplibxslt.c 29 Jan 2002 16:02:52 -0000 1.1.2.13
+++ eplibxslt.c 7 Feb 2002 06:56:21 -0000 1.1.2.14
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: eplibxslt.c,v 1.1.2.13 2002/01/29 16:02:52 richter Exp $
+# $Id: eplibxslt.c,v 1.1.2.14 2002/02/07 06:56:21 richter Exp $
#
###################################################################################*/
@@ -88,7 +88,7 @@
char * p ;
xmlOutputBufferPtr obuf ;
- sStylesheet = GetHashValueStr (pReqParameter, "xsltstylesheet", NULL) ;
+ sStylesheet = GetHashValueStr (pReqParameter, "xsltstylesheet", r -> Component.Config.sXsltstylesheet) ;
if (!sStylesheet)
{
strncpy (r -> errdat1, "XSLT", sizeof (r -> errdat1)) ;
1.1.2.16 +93 -72 embperl/driver/Attic/epxalan.cpp
Index: epxalan.cpp
===================================================================
RCS file: /home/cvs/embperl/driver/Attic/epxalan.cpp,v
retrieving revision 1.1.2.15
retrieving revision 1.1.2.16
diff -u -r1.1.2.15 -r1.1.2.16
--- epxalan.cpp 18 Jan 2002 16:22:38 -0000 1.1.2.15
+++ epxalan.cpp 7 Feb 2002 06:56:21 -0000 1.1.2.16
@@ -10,10 +10,14 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: epxalan.cpp,v 1.1.2.15 2002/01/18 16:22:38 richter Exp $
+# $Id: epxalan.cpp,v 1.1.2.16 2002/02/07 06:56:21 richter Exp $
#
###################################################################################*/
+/* undef some defines that clashs with c++ includes */
+#undef bool
+#undef HAS_BOOL
+
extern "C"
{
@@ -21,9 +25,6 @@
#include "../epmacro.h"
}
-/* undef some defines that clashs with c++ includes */
-#undef bool
-#undef HAS_BOOL
#undef assert
#undef vform
@@ -169,6 +170,7 @@
* @param r Embperl request record
* @param pProvider The provider record
* @param pData Returns the content
+* @param bUseCache Set if the content should not recomputed
* @return error code
* \endif
*
@@ -179,6 +181,7 @@
* @param r Embperl request record
* @param pProvider The provider record
* @param pData Liefert den Inhalt
+* @param bUseCache Gesetzt wenn der Inhalt nicht neu berechnet werden soll
* @return Fehlercode
* \endif
*
@@ -186,9 +189,10 @@
-static int ProviderXalanXSL_GetContentPtr (/*in*/ req * r,
- /*in*/ tProvider * pProvider,
- /*in*/ void * * pData)
+static int ProviderXalanXSL_GetContentPtr (/*in*/ req * r,
+ /*in*/ tProvider * pProvider,
+ /*in*/ void * * pData,
+ /*in*/ bool bUseCache)
{
int rc ;
@@ -198,32 +202,36 @@
const XalanCompiledStylesheet* pCompiledStylesheet = NULL ;
tCacheItem * pFileCache = Cache_GetDependency(r, pProvider -> pCache, 0) ;
- if ((rc = Cache_GetContentSV (r, pFileCache, &pSource)) != ok)
+
+ if ((rc = Cache_GetContentSV (r, pFileCache, &pSource, bUseCache)) != ok)
return rc ;
- // Our input streams...
- p = SvPV (pSource, len) ;
+ if (!bUseCache)
+ {
+ // Our input streams...
+ p = SvPV (pSource, len) ;
- if (p == NULL || len == 0)
- {
- strncpy (r -> errdat1, "Xalan XML stylesheet", sizeof (r -> errdat1)) ;
- return rcMissingInput ;
- }
+ if (p == NULL || len == 0)
+ {
+ strncpy (r -> errdat1, "Xalan XML stylesheet", sizeof (r -> errdat1)) ;
+ return rcMissingInput ;
+ }
- istrstream theXMLStream(p, len);
+ istrstream theXMLStream(p, len);
- if (theXalanTransformer -> compileStylesheet(&theXMLStream, pCompiledStylesheet))
- {
- Cache_ReleaseContent (r, pFileCache) ;
- strncpy (r -> errdat1, "XSL compile", sizeof (r -> errdat1)) ;
- strncpy (r -> errdat2, theXalanTransformer -> getLastError(), sizeof (r -> errdat2) - 2) ;
- return rcXalanError ;
- }
+ if (theXalanTransformer -> compileStylesheet(&theXMLStream, pCompiledStylesheet))
+ {
+ Cache_ReleaseContent (r, pFileCache) ;
+ strncpy (r -> errdat1, "XSL compile", sizeof (r -> errdat1)) ;
+ strncpy (r -> errdat2, theXalanTransformer -> getLastError(), sizeof (r -> errdat2) - 2) ;
+ return rcXalanError ;
+ }
- *pData = (void *)pCompiledStylesheet ;
+ *pData = (void *)pCompiledStylesheet ;
+ }
return ok ;
}
@@ -395,6 +403,7 @@
* @param r Embperl request record
* @param pProvider The provider record
* @param pData Returns the content
+* @param bUseCache Set if the content should not recomputed
* @return error code
* \endif
*
@@ -405,6 +414,7 @@
* @param r Embperl request record
* @param pProvider The provider record
* @param pData Liefert den Inhalt
+* @param bUseCache Gesetzt wenn der Inhalt nicht neu berechnet werden soll
* @return Fehlercode
* \endif
*
@@ -412,9 +422,10 @@
-static int ProviderXalanXML_GetContentPtr (/*in*/ req * r,
- /*in*/ tProvider * pProvider,
- /*in*/ void * * pData)
+static int ProviderXalanXML_GetContentPtr (/*in*/ req * r,
+ /*in*/ tProvider * pProvider,
+ /*in*/ void * * pData,
+ /*in*/ bool bUseCache)
{
int rc ;
@@ -424,33 +435,36 @@
const XalanParsedSource * parsedXML = NULL ;
tCacheItem * pFileCache = Cache_GetDependency(r, pProvider -> pCache, 0) ;
- if ((rc = Cache_GetContentSV (r, pFileCache, &pSource)) != ok)
+ if ((rc = Cache_GetContentSV (r, pFileCache, &pSource, bUseCache)) != ok)
return rc ;
- // Our input streams...
- p = SvPV (pSource, len) ;
+ if (!bUseCache)
+ {
+ // Our input streams...
+ p = SvPV (pSource, len) ;
- if (p == NULL || len == 0)
- {
- strncpy (r -> errdat1, "Xalan XML source", sizeof (r -> errdat1)) ;
- return rcMissingInput ;
- }
+ if (p == NULL || len == 0)
+ {
+ strncpy (r -> errdat1, "Xalan XML source", sizeof (r -> errdat1)) ;
+ return rcMissingInput ;
+ }
- istrstream theXMLStream(p, len);
+ istrstream theXMLStream(p, len);
- if (theXalanTransformer -> parseSource(&theXMLStream, parsedXML))
- {
- Cache_ReleaseContent (r, pFileCache) ;
- strncpy (r -> errdat1, "XSL compile", sizeof (r -> errdat1)) ;
- strncpy (r -> errdat2, theXalanTransformer -> getLastError(), sizeof (r -> errdat2) - 2) ;
- return rcXalanError ;
- }
+ if (theXalanTransformer -> parseSource(&theXMLStream, parsedXML))
+ {
+ Cache_ReleaseContent (r, pFileCache) ;
+ strncpy (r -> errdat1, "XSL compile", sizeof (r -> errdat1)) ;
+ strncpy (r -> errdat2, theXalanTransformer -> getLastError(), sizeof (r -> errdat2) - 2) ;
+ return rcXalanError ;
+ }
- *pData = (void *)parsedXML ;
+ *pData = (void *)parsedXML ;
+ }
return ok ;
}
@@ -640,7 +654,8 @@
XalanCompiledStylesheet * pCompiledXSL ;
- if ((rc = Cache_GetContentPtr (r, pXSLCache, (void * *)&pCompiledXSL)) != ok)
+ bool bUseCache = 0 ;
+ if ((rc = Cache_GetContentPtr (r, pXSLCache, (void * *)&pCompiledXSL, bUseCache)) != ok)
return rc ;
@@ -865,6 +880,7 @@
* @param r Embperl request record
* @param pProvider The provider record
* @param pData Returns the content
+* @param bUseCache Set if the content should not recomputed
* @return error code
* \endif
*
@@ -875,6 +891,7 @@
* @param r Embperl request record
* @param pProvider The provider record
* @param pData Liefert den Inhalt
+* @param bUseCache Gesetzt wenn der Inhalt nicht neu berechnet werden soll
* @return Fehlercode
* \endif
*
@@ -882,9 +899,10 @@
-static int ProviderXalan_GetContentSV (/*in*/ req * r,
- /*in*/ tProvider * pProvider,
- /*in*/ SV * * pData)
+static int ProviderXalan_GetContentSV (/*in*/ req * r,
+ /*in*/ tProvider * pProvider,
+ /*in*/ SV * * pData,
+ /*in*/ bool bUseCache)
{
int rc ;
@@ -900,42 +918,45 @@
tCacheItem * pSrcCache = Cache_GetDependency(r, pProvider -> pCache, 0) ;
tCacheItem * pXSLCache = Cache_GetDependency(r, pProvider -> pCache, 1) ;
- if ((rc = Cache_GetContentPtr (r, pSrcCache, (void * *)&parsedXML)) != ok)
+ if ((rc = Cache_GetContentPtr (r, pSrcCache, (void * *)&parsedXML, bUseCache)) != ok)
return rc ;
- if ((rc = Cache_GetContentPtr (r, pXSLCache, (void * *)&pCompiledXSL)) != ok)
+ if ((rc = Cache_GetContentPtr (r, pXSLCache, (void * *)&pCompiledXSL, bUseCache)) != ok)
return rc ;
- if (((tProviderXalan *)pProvider) -> pOutputSV)
- SvREFCNT_dec (((tProviderXalan *)pProvider) -> pOutputSV) ;
+ if (!bUseCache)
+ {
+ if (((tProviderXalan *)pProvider) -> pOutputSV)
+ SvREFCNT_dec (((tProviderXalan *)pProvider) -> pOutputSV) ;
- ((tProviderXalan *)pProvider) -> pOutputSV = newSVpv("",0) ;
+ ((tProviderXalan *)pProvider) -> pOutputSV = newSVpv("",0) ;
- pParamHV = ((tProviderXalan *)pProvider) -> pParamHV ;
+ pParamHV = ((tProviderXalan *)pProvider) -> pParamHV ;
- if (pParamHV)
- {
- hv_iterinit (pParamHV) ;
- while ((pEntry = hv_iternext (pParamHV)))
+ if (pParamHV)
{
- pKey = hv_iterkey (pEntry, &l) ;
- pValue = hv_iterval (pParamHV, pEntry) ;
- theXalanTransformer -> setStylesheetParam (XalanDOMString(pKey), XalanDOMString(SvPV(pValue, len))) ;
+ hv_iterinit (pParamHV) ;
+ while ((pEntry = hv_iternext (pParamHV)))
+ {
+ pKey = hv_iterkey (pEntry, &l) ;
+ pValue = hv_iterval (pParamHV, pEntry) ;
+ theXalanTransformer -> setStylesheetParam (XalanDOMString(pKey), XalanDOMString(SvPV(pValue, len))) ;
+ }
}
- }
- // Do the transform.
- int theResult = theXalanTransformer -> transform(*parsedXML, pCompiledXSL, pProvider, ProviderXalan_iowrite, NULL);
+ // Do the transform.
+ int theResult = theXalanTransformer -> transform(*parsedXML, pCompiledXSL, pProvider, ProviderXalan_iowrite, NULL);
- if(theResult != 0)
- {
- strncpy (r -> errdat1, "XSLT", sizeof (r -> errdat1)) ;
- strncpy (r -> errdat2, theXalanTransformer -> getLastError(), sizeof (r -> errdat2) - 2) ;
- return rcXalanError ;
- }
+ if(theResult != 0)
+ {
+ strncpy (r -> errdat1, "XSLT", sizeof (r -> errdat1)) ;
+ strncpy (r -> errdat2, theXalanTransformer -> getLastError(), sizeof (r -> errdat2) - 2) ;
+ return rcXalanError ;
+ }
- *pData = ((tProviderXalan *)pProvider) -> pOutputSV ;
- SvREFCNT_inc(*pData) ;
+ *pData = ((tProviderXalan *)pProvider) -> pOutputSV ;
+ SvREFCNT_inc(*pData) ;
+ }
return ok ;
}
No revision
No revision
1.1.2.14 +2 -0 embperl/xsbuilder/maps/Attic/ep_structure.map
Index: ep_structure.map
===================================================================
RCS file: /home/cvs/embperl/xsbuilder/maps/Attic/ep_structure.map,v
retrieving revision 1.1.2.13
retrieving revision 1.1.2.14
diff -u -r1.1.2.13 -r1.1.2.14
--- ep_structure.map 6 Feb 2002 09:21:08 -0000 1.1.2.13
+++ ep_structure.map 7 Feb 2002 06:56:21 -0000 1.1.2.14
@@ -1,3 +1,4 @@
+ MALLOC=svinc:$dest = ($type)SvREFCNT_inc($src)
<tReq>
! _perlsv
@@ -178,6 +179,7 @@
sObject | object
sISA | isa
pErrArray | errors
+ pXsltParam | xsltparam
new
! private
</tComponentParam>
1.1.2.9 +3 -3 embperl/xsbuilder/maps/Attic/ep_type.map
Index: ep_type.map
===================================================================
RCS file: /home/cvs/embperl/xsbuilder/maps/Attic/ep_type.map,v
retrieving revision 1.1.2.8
retrieving revision 1.1.2.9
diff -u -r1.1.2.8 -r1.1.2.9
--- ep_type.map 27 Jan 2002 20:04:37 -0000 1.1.2.8
+++ ep_type.map 7 Feb 2002 06:56:21 -0000 1.1.2.9
@@ -32,9 +32,9 @@
tPerlInterpreter |
-AV * | AVREF | T_AVREF
-HV * | HVREF | T_HVREF
-SV * | SVPTR | T_SVPTR
+AV * | AVREF | T_AVREF | svinc
+HV * | HVREF | T_HVREF | svinc
+SV * | SVPTR | T_SVPTR | svinc
CV |
FILEIO |
HV |
---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org