I'm hacking Forrest so that users can add their documents to the Forrest processing.


First of all, from the root sitemap I mount their sitemap in a separate uri space if it's found ({project:sitemap} contains the URL to the user sitemap):

         <map:match pattern="project_sitemap/**">
           <map:select type="exists">
             <map:when test="{project:sitemap}">
               <map:mount uri-prefix="project_sitemap"
                          src="{project:sitemap}"
                          check-reload="yes" />
             </map:when>
           </map:select>
         </map:match>

Then, in another subsitemap, where Forrest searches for source files, I want to see if the user sitemap has an xml file to serve me for the current URI, and if so, use it:

      <map:select type="exists">
        <map:when test="cocoon://project_sitemap/{uri}.xml">
          <map:generate src="cocoon://project_sitemap/{uri}.xml" />
          <map:serialize type="xml-document"/>
        </map:when>
         ...etc

The problem is that the test is always true IIUC, and the result is an 'Attempted to process incomplete pipeline.'

In fact IIUC, in SitemapSource I see:

    /**
     *
     * @see org.apache.excalibur.source.Source#exists()
     */
    public boolean exists() {
        return true;
    }

Any hint if/on how to make this work, or alternatives?
I'm literally _drowning_ in this code.

--
Nicola Ken Barozzi                   [EMAIL PROTECTED]
            - verba volant, scripta manent -
   (discussions get forgotten, just code remains)
---------------------------------------------------------------------



Reply via email to