You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by David Crossley <cr...@indexgeo.com.au> on 2001/12/30 14:39:22 UTC

List of Docs as Table of Contents

The Cocoon Sample "List of Docs" is now working
properly, building the hyperlinks for each document.
Reach it via the "docs" section of the Welcome page,
or via the side-panel of a top-level document page.

I found a solution to the relative URI issue described
below. In documentation/sitemap.xmap i simply defined
another match to append a new <path> element to each
<book> entry, to provide the pathname of each book to
the final stylesheet. The map:aggregate then adds each
map:part via a cocoon:/ URI.

This led me to wonder about efficiency issues. Surely
there is more than one way to solve such a problem.
Does sitemap efficiency matter? If so, then we need to
start a user tips document.
--David

On 22 Nov 2001 David Crossley wrote:
> I just added a new sample and new documentation functionality
> (to HEAD only) that generates a "List of docs". This aggregates
> all **/book.xml and renders and normal doc page. This works
> nicely and gives a one-page listing of all Cocoon documentation.
> See Welcome page or from the Main side-panel.
> 
> However, it needs to link to each document and i cannot
> find a way to generate the link. After all of the book.xml files
> have been aggregated, we only have relative URIs available.
> 
> For example, when the stylesheet is dealing with 
> xdocs/userdocs/concepts/book.xml then it only gets relative
> href=filename.html for each of this book's documents. Instead
> we need to know href=userdocs/concepts/filename.html
> 
> The map:aggregate and map:part are not yet documented, so i
> am not sure how they work. Is it possible that they can provide
> such metadata about the document?
> 
> A last resort approach would be to hard-code this value inside
> each book.xml as an attribute of the <book> element.
> 
> Please try the new functionality - hopefully you can see a solution.
> --David


---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Re: List of Docs as Table of Contents

Posted by Bernhard Huber <be...@a1.net>.
Hi,
i have changed sitemap to:
   <!-- Generate the Table of Contents
     The first match generates each book.xml and adds a new element "path".
     The second match aggregates each book.xml into a doclist and
     then converts it to a document.
   -->
   <map:match pattern="doclist/xdocs/**book.xml">
     <map:generate src="xdocs/{1}book.xml"/>
     <map:transform src="stylesheets/doclist.xsl">
       <map:parameter name="use-request-parameters" value="true"/>
       <map:parameter name="path" value="{1}"/>
     </map:transform>
     <map:serialize type="xml"/>
   </map:match>
   <map:match pattern="body-doclist.xml">
     <map:aggregate element="doclist">
       <map:part src="cocoon:/doclist/xdocs/book.xml"/>
       <map:part src="cocoon:/doclist/xdocs/installing/book.xml"/>
       <!--map:part src="cocoon:/doclist/xdocs/ctwig/book.xml"/>
       <map:part src="cocoon:/doclist/xdocs/userdocs/book.xml"/>
       <map:part src="cocoon:/doclist/xdocs/userdocs/concepts/book.xml"/>
       <map:part src="cocoon:/doclist/xdocs/userdocs/generators/book.xml"/>
       <map:part 
src="cocoon:/doclist/xdocs/userdocs/transformers/book.xml"/>
       <map:part src="cocoon:/doclist/xdocs/userdocs/serializers/book.xml"/>
       <map:part src="cocoon:/doclist/xdocs/userdocs/matchers/book.xml"/>
       <map:part src="cocoon:/doclist/xdocs/userdocs/selectors/book.xml"/>
       <map:part src="cocoon:/doclist/xdocs/userdocs/actions/book.xml"/>
       <map:part src="cocoon:/doclist/xdocs/userdocs/xsp/book.xml"/>
       <map:part src="cocoon:/doclist/xdocs/developing/book.xml"/-->
     </map:aggregate>
     <map:transform src="stylesheets/doclist2document.xsl"/>
     <map:transform src="stylesheets/document2html.xsl"/>
     <map:serialize type="html"/>
   </map:match>

and "build docs" does not throw an exception.

I think its strange that the doclist page is still correct.
I have no explanation for the stacktrace.

>This led me to wonder about efficiency issues. Surely
>there is more than one way to solve such a problem.
>Does sitemap efficiency matter? If so, then we need to
>start a user tips document.
>
A solution might be to use the directory generator to get a list of all 
book.xml documents. I have not tried it yet, but I think that might be 
faster and more elegant solution.
bye bernhard



---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org