Hi,
what you could do is using one matcher to generate your XSP and use a
second one to get this generated XSP executed. Something like
<map:pipeline>
<map:match type="wildcard" pattern="*.xsp">
<map:generate src="yourBasicXML.xml"/>
<map:transform src="yourXSPGeneratingXSL.xsl"/>
<map:serialize type="xml"/>
</map:match>
<map:match type="wildcard" pattern="*.html">
<map:generate type="serverpages" src="cocoon:/{1}.xsp"/><!-- This
calls the upper matcher, see 'cocoon protocols' -->
<map:serialize type="html"/>
</map:match>
</map:pipeline>
should work. But you should be aware of generating XSP (especially
dynamically generating XSP, eg. depending on some input parameters) results
in compiling a new XSP each time you call your pipeline.
HTH, Kai
"Jose Antonio
Rosa dos An: <[EMAIL PROTECTED]>
Santos Kopie:
Junior" Thema: RES: RES: XSP in XSL
<[EMAIL PROTECTED]
ov.br>
19.09.2003
19:24
Bitte
antworten an
users
Thanx Luca. I�ll try that.
I saw somewhere an example of a pipeline using 2 matchers and i thought i
could use the output of a serializer as an input of the generator of the
next matcher.
Cheers
Jose Antonio
-----Mensagem original-----
De: Luca Morandini [mailto:[EMAIL PROTECTED]
Enviada em: sexta-feira, 19 de setembro de 2003 13:46
Para: [EMAIL PROTECTED]
Assunto: Re: RES: XSP in XSL
Jose Antonio Rosa dos Santos Junior wrote:
> hmmm.. Maybe. Haven�t thought that way. Can i link two pipelines to do
that instead?
>
> I�m sending what i am trying to do:
>
> stemap.xmap:
> ...
> <map:pipeline>
> <map:match type="wildcard" pattern="*.xsp">
> <map:generate type="serverpages" src="{1}.xsp"/>
> <map:transform type="xslt" src="pagina-fnde2html.xsl"/>
> <map:serialize type="html"/>
> </map:match>
> </map:pipeline>
> ...
>
> pagina-fnde2html.xsl:
> ...
> <xsl:template match="pagina">
> ...
> <!-- this doesn�t work -->
> <xsp:logic>
> SimpleDateFormat format = new SimpleDateFormat
("dd/MM/yyyy");
> </xsp:logic>
> <xsp:expr>
> format.format(new Date())
> </xsp:expr>
> ...
> </xsl:template>
> ...
>
> teste.xsp:
>
> <?xml version='1.0' encoding='ISO-8859-1'?>
> <xsp:page
> xmlns:xsp="http://apache.org/xsp"
>
>
No, you cannot.
Specifically, you cannot use XSP tags in your XSL: XSP is interpreted
only in the generation stage.
What XSL does is just to transform (using the XSL language, not the XSP
one) the output produced by the XSP.
If you really can't do without Java in the XSL, take a look at the XSL
extension of Xalan, using which you will be able call Java within an
XSL, like:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:java="http://xml.apache.org/xslt/java"
>
...
<xsl:variable name="formatter"
select="java:java.text.SimpleDateFormat.new('dd-MM-yyyy')"/>
<xsl:variable name="date"
select="java:java.util.Date.new()"/>
<xsl:value-of select="java:format($formatter, $date)"/>
...
...which, coincidentally, you were trying to achieve in the first place
I suppose :)
Regards,
------------------------------------------
Luca Morandini
GIS Consultant
[EMAIL PROTECTED]
http://space.virgilio.it/kumora/index.html
------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]