Cameron McCormack wrote: > > I'd like to have my own document format that can be transformed into > document-v20 (and subsequently into HTML). > > <!DOCTYPE status SYSTEM "-//Test//DTD Status Document V0.1//EN">
This is where you are going wrong. That should be: <!DOCTYPE status PUBLIC "-//Test//DTD Status Document V0.1//EN" "my-status-v01.dtd"> The system identifier will be ignored. The public identifier will be used. > <status> > <header> > <title>Batik conformance status</title> > </header> > > <body> > ... > <elements> > ... > </elements> > ... > </body> > </status> > > Previously, I didn't have a sitemap.xmap file. I think I need one now, > so I've tried one with this content (adapted from the example given when > you do a 'forrest seed'): > > <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> > > <map:components> > <map:actions> > <map:action logger="sitemap.action.sourcetype" name="sourcetype" > src="org.apache.forrest.sourcetype.SourceTypeAction"> > <sourcetype name="status-v0.1"> > <document-declaration public-id="-//Test//DTD Status Document > V0.1//EN" /> ....................................^^^^^^^^^ -David > </sourcetype> > </map:action> > </map:actions> > > <map:selectors default="parameter"> > <map:selector logger="sitemap.selector.parameter" name="parameter" > src="org.apache.cocoon.selection.ParameterSelector" /> > </map:selectors> > </map:components> > > <map:resources> > <map:resource name="transform-to-document"> > <map:act type="sourcetype" src="{src}"> > <map:select type="parameter"> > <map:parameter name="parameter-selector-test" > value="{sourcetype}" /> > > <map:when test="status-v0.1"> > <map:generate src="{project:content.xdocs}{../../1}.xml" /> > <map:transform > src="{project:resources.stylesheets}/status2document.xsl" /> > <map:serialize type="xml-document"/> > </map:when> > </map:select> > </map:act> > </map:resource> > </map:resources> > > <map:pipelines> > <map:pipeline> > <map:match pattern="**.xml"> > <map:call resource="transform-to-document"> > <map:parameter name="src" value="{project:content.xdocs}{1}.xml" > /> > </map:call> > </map:match> > </map:pipeline> > </map:pipelines> > </map:sitemap> > > Actually I have no idea what I'm doing in this sitemap.xmap file; I just > tried to adjust the example one as little as possible for my situation. > > I've also put a file called status2document.xml file in > resources/stylesheets, with this content: > > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="1.0"> > <xsl:template match="/"> > <document> > <xsl:apply-templates select="*/node()"/> > </document> > </xsl:template> > > <xsl:template match="*"> > <xsl:copy> > <xsl:copy-of select="@*"/> > <xsl:apply-templates selcet="node()"/> > </xsl:copy> > </xsl:template> > > <xsl:template match="elements"> > <p>THIS IS WHERE THE ELEMENTS GO</p> > </xsl:template> > </xsl:stylesheet> > > just as a minimal stylesheet to get me started. (It should copy all > elements over, except the "elements" element, that gets special > treatment.) > > When I try to view status.html after running 'forrest run', I get an > Internal Server Error that says: > > /tmp/batik-forrest/src/documentation/content/xdocs/-/Test/DTD Status > Document V0.1/EN (No such file or directory) > > Can someone please tell me where I'm going wrong? > > Thanks, > > Cameron > > -- > Cameron McCormack ICQ: 26955922 > cam (at) mcc.id.au MSN: cam (at) mcc.id.au > http://mcc.id.au/ JBR: heycam (at) jabber.org
