Phillip Hall wrote: > > I have a problem rendering the Forrest site from two XML files > aggregated in a pipeline from the Sitemap.xmap file. > > I am using Forrest 8.0. I created an XSL stylesheet to format the > combined XML files wih "document" root tags as per v-13 DTD. > > However this is not displayed with the Forrest skin but as raw HTML. > > How can I apply the default Forrest skin to this XML output? > > I have searched the Forrest FAQ and the mail Archives without finding > a solution. Please help. > > sitemap.xmap insert : > > <map:pipelines> > <map:pipeline> > > <map:match pattern="**index.html">
Not 100% sure of my answer, but i reckon that should be <map:match pattern="**index.xml"> i.e. the internal request for the content xml. With the match as you have it, it is intercepting the "output" html request and finalising (i.e. map:serialize) the output to xml. > <map:aggregate element="site"> > <map:part src="{properties:content.xdocs}index.xml"/> > <map:part src="{properties:content.xdocs}index-two.xml"/> Also to match sources in sub-directories you will need: <map:part src="{properties:content.xdocs}{1}index.xml"/> etc. There is a document explaining the "**" and "*" pattern matching and token usage. > </map:aggregate> > > <map:transform > src="{properties:resources.stylesheets}/docs-to-document.xsl"/> > <map:serialize type="xml-document"/> > </map:match> > > </map:pipeline> > > > My "docs-to-document.xsl" transform : > > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:output method="xml"/> This output method has no effect in a Cocoon-based app. The "map:serialize" in the sitemaps does that job. -David > <xsl:template match="/site"> > <xsl:element name="document"> > <xsl:element name="header"> > <xsl:element name="title"> > <xsl:value-of select="/site/document/header/title"/> > </xsl:element> > </xsl:element> > <xsl:element name="body"> > <xsl:for-each select="//section"> > <xsl:copy-of select="."/> > </xsl:for-each> > </xsl:element> > </xsl:element> > </xsl:template> > </xsl:stylesheet>