> From: Dirk Reiss [mailto:[EMAIL PROTECTED]]
> 
> Hello again,
> 
> thank you very much, this works fine, but the next problem is, that
several
> files are not processed
> recursively, which means: one file links to another which (for itself)
> contains/links to another using the same tags
> as the first one...
> this means, that we would have to include these files "on-the-fly" and
start
> over parsing the included  content.
> 
> is this possible? as far as we understand, the serverpages-generator
would
> have to be called again after the
> cinclude-transformer... is this right?

To resolve all this recursively, try including not the xml *file* (which
could reference another file), but already processed xml *resource*
(file with all of the references resolved). To do this, use
cinclude:include to include not the files, but cocoon: protocol
resource.

It could look like this:

--------- a.xml or xsp or whatever ----------------
<a>
  <cinclude:include src="cocoon:/processed/b.xml"
</a>

--------- b.xml or xsp or whatever ----------------
<b>
  <cinclude:include src="cocoon:/processed/c.xml"
</b>

--------- c.xml or xsp or whatever ----------------
<c>
  End
</c>


In the sitemap:

<map:match pattern="processed/*.xsp"
<map:generate type="serverpages" src="{1}.xsp"/>
<map:transform type="cinclude"/>
</map:match>
<map:match pattern="processed/*.xml"
<map:generate type="file" src="{1}.xml"/>
<map:transform type="cinclude"/>
</map:match>

PS Adopt/change as needed, this just to show the way

Vadim 

> btw: we are using logicsheets and cocoon2.0
> 
> thanks for your quick answer
> best regards,
> 
> dirk
> 
> ----- Original Message -----
> From: "Vadim Gritsenko" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, March 14, 2002 4:18 PM
> Subject: RE: Call of dynamically created tags in logicsheets
> 
> 
> Dirk & Torsten:
> 
> What I understood: You want to insert content of document using XSLT
> document() function. Name of the document is generated dynamically by
> XSP.
> 
> If this is right, what you have to do:
> 
> ---------- sitemap -------------
> <!-- apply 'ownnamespace' logicsheet to the x.xml,
>      compile and execute server page -->
> <map:generate type="serverpages" src="x.xml"/>
> <!-- do include -->
> <map:transform type="cinclude"/>
> 
> ---------- logicsheet -------------
> <xsl:template match="ownnamespace:link">
>   <cinclude:include>
>     <xsp:attribute name="src"><xsp:expr>getURI("<xsl:value-of
> select="@identifier"/>")</xsp:expr></xsp:attribute>
>   </cinclude:include>
>   <xsl:apply-templates/>
> </xsl:template>
> 
> <xsl:template match="ownnamespace:toInsert">
>   <cinclude:include src="."/>
> </xsl:template>
> 
> 
> 
> cinclude namespace should be declared as:
>   xmlns:cinclude="http://apache.org/cocoon/include/1.0";
> 
> Take a look at aggregate.xsp and logicsheet.xsp, it might help.
> 
> Vadim
> 
> -----Original Message-----
> From: Dirk Reiss [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, March 13, 2002 7:18 AM
> To: [EMAIL PROTECTED]
> Subject: Call of dynamically created tags in logicsheets
> 
> Hello,
> 
> we have the follogwing logicsheet where we dynamically create a tag
with
> the content of the return value of a java method. The creation of the
> tag is working very well so that I did not included the Java-code in
> this example. The output in the browser is currently a file having a
tag
> 
> <ownnamespace:toInsert>Content</ownnamespace:toInsert>
> 
> We thought that an <apply-templates/> would cause Cocoon to apply the
> template <ownnamespace:toInsert> being part of the logicsheet but it
> does not work for us. Is this not possible within a logicsheet to
create
> dynamically tags because it was working during the later
transformation
> process. If it is possible, please let us know what we have to change.
> If you need further information, please let us know so that we can
> provide them.
> 
> Thanks,
> Dirk
> 
> <?xml version="1.0"?>
> 
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
> xmlns:xsp="http://apache.org/xsp";
> xmlns:ownnamespace="http://www.ownnamespace.org/xsl";
> xmlns:xinclude="http://www.w3.org/2001/XInclude";
> xmlns:util="http://apache.org/xsp/util/2.0";
> >
> 
> 
> <xsl:template match="ownnamespace:header">
> <xsp:logic>
> 
> <!-- some Java code -->
> </xsp:logic>
> 
> <xsl:apply-templates/>
> </xsl:template>
> 
> 
> <xsl:template match="ownnamespace:link">
> <ownnamespace:toInsert>
> <xsp:expr>getURI("<xsl:value-of
> select="@identifier"/>")</xsp:expr>
> </ownnamespace:toInsert>
> <xsl:apply-templates/>
> </xsl:template>
> 
> 
> <xsl:template match="ownnamespace:toInsert">
> <xsl:apply-templates select="document(.)" />
> </xsl:template>
> 
> <xsl:template match="@*|node()" priority="-1">
> <xsl:copy>
> <xsl:apply-templates select="@*|node()"/>
> </xsl:copy>
> </xsl:template>
> </xsl:stylesheet>
> 
> 
> --------------
> 
> The xsp-page which is used to call the logicsheet looks as follows
> 
> <?xml version="1.0" encoding="ISO-8859-1"?>
> 
> <xsp:page
> language="java"
> xmlns:xsp="http://apache.org/xsp";
> xmlns:ownnamespace="http://www.ownnamespace.org/xsl";
> xmlns:util="http://www.apache.org/1999/XSP/Util";
> xmlns:xinclude="http://www.w3.org/2001/XInclude";
> >
> <ownnamespace:header/>
> 
> <page>
> <ownnamespace:link identifier="IDENTIFIER"/>
> </page>
> </xsp:page>
> 
> 
> ---------------------------------------------------------------------
> Please check that your question has not already been answered in the
> FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
> 
> To unsubscribe, e-mail: <[EMAIL PROTECTED]>
> For additional commands, e-mail: <[EMAIL PROTECTED]>
> 
> 
> ---------------------------------------------------------------------
> Please check that your question has not already been answered in the
> FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
> 
> To unsubscribe, e-mail: <[EMAIL PROTECTED]>
> For additional commands, e-mail: <[EMAIL PROTECTED]>


---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

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

Reply via email to