You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2003/09/26 13:16:07 UTC
cvs commit: cocoon-lenya/src/templates/forrest/xslt html2xhtml.xsl
andreas 2003/09/26 04:16:07
Added: src/templates/forrest/lib excalibur-concurrent-20020820.jar
excalibur-cli-1.0.jar nekodtd-20020615.jar
xml-forrest-scratchpad.jar placeholder
xml-forrest-components.jar jing-20020724.jar
jakarta-oro-2.0.6.jar
excalibur-collections-20020820.jar nekopull.jar
src/templates/forrest patch-navigation.xmap.xsl
patch-sitemap.xmap.xsl menus.xmap sitemap.xmap
publication.xml navigation.xmap
src/targets publication-build.xml
src/templates/forrest/config/menus generic.xsp
src/templates/forrest/config publication.xconf
src/templates/forrest/xslt html2xhtml.xsl
Log:
added forrest build target and template
Revision Changes Path
1.1 cocoon-lenya/src/templates/forrest/lib/excalibur-concurrent-20020820.jar
<<Binary file>>
1.1 cocoon-lenya/src/templates/forrest/lib/excalibur-cli-1.0.jar
<<Binary file>>
1.1 cocoon-lenya/src/templates/forrest/lib/nekodtd-20020615.jar
<<Binary file>>
1.1 cocoon-lenya/src/templates/forrest/lib/xml-forrest-scratchpad.jar
<<Binary file>>
1.1 cocoon-lenya/src/templates/forrest/lib/placeholder
Index: placeholder
===================================================================
CVS happy
1.1 cocoon-lenya/src/templates/forrest/lib/xml-forrest-components.jar
<<Binary file>>
1.1 cocoon-lenya/src/templates/forrest/lib/jing-20020724.jar
<<Binary file>>
1.1 cocoon-lenya/src/templates/forrest/lib/jakarta-oro-2.0.6.jar
<<Binary file>>
1.1 cocoon-lenya/src/templates/forrest/lib/excalibur-collections-20020820.jar
<<Binary file>>
1.1 cocoon-lenya/src/templates/forrest/lib/nekopull.jar
<<Binary file>>
1.1 cocoon-lenya/src/templates/forrest/patch-navigation.xmap.xsl
Index: patch-navigation.xmap.xsl
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:map="http://apache.org/cocoon/sitemap/1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- serializing as XML to allow further processing by Lenya -->
<xsl:template match="map:resource[@name='skinit']/map:serialize">
<map:serialize type="xml"/>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
1.1 cocoon-lenya/src/templates/forrest/patch-sitemap.xmap.xsl
Index: patch-sitemap.xmap.xsl
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:map="http://apache.org/cocoon/sitemap/1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- serializing as XML to allow further processing by Lenya -->
<xsl:template match="map:resource[@name='skinit']/map:serialize">
<map:serialize type="xml"/>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
1.1 cocoon-lenya/src/templates/forrest/menus.xmap
Index: menus.xmap
===================================================================
<?xml version="1.0"?>
<!-- CVS: $Id: doctypes.xmap,v 1.2 2003/07/29 14:48:02 andreas Exp $ -->
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<map:components>
<map:generators default="file" />
<map:matchers default="wildcard"/>
<map:actions/>
</map:components>
<map:pipelines>
<map:pipeline>
<map:match pattern="live/**">
<map:generate type="serverpages" src="../../content/menus/live.xsp"/>
<map:serialize type="xml"/>
</map:match>
<map:match pattern="*/**">
<map:generate type="serverpages" src="config/menus/generic.xsp"/>
<map:serialize type="xml"/>
</map:match>
</map:pipeline>
</map:pipelines>
</map:sitemap>
1.1 cocoon-lenya/src/templates/forrest/sitemap.xmap
Index: sitemap.xmap
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<!-- CVS: $Id: sitemap.xmap,v 1.17 2003/07/23 10:28:52 gregor Exp $ -->
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<map:components>
<map:generators default="file"/>
<map:transformers default="xslt"/>
<map:readers default="resource"/>
<map:serializers default="html"/>
<map:matchers default="wildcard"/>
<map:actions/>
</map:components>
<map:pipelines>
<map:pipeline>
<!-- Forrest pages -->
<map:match pattern="lenyabody/**">
<map:mount src="forrest-sitemap.xmap" uri-prefix="lenyabody/"/>
</map:match>
<!-- HTML pages -->
<!-- {area}/{uri}.html -->
<map:match pattern="*/**.html">
<map:generate src="cocoon:/lenyabody/{2}.html"/>
<map:transform src="xslt/html2xhtml.xsl"/>
<map:transform src="cocoon://lenya-page/{page-envelope:publication-id}/{page-envelope:area}{page-envelope:document-url}"/>
<map:serialize/>
</map:match>
<!-- resources -->
<!-- {area}/{uri} -->
<map:match pattern="*/**">
<map:mount src="forrest-sitemap.xmap" uri-prefix="{1}/"/>
</map:match>
<map:handle-errors type="500">
<map:serialize type="xml"/>
</map:handle-errors>
</map:pipeline>
</map:pipelines>
</map:sitemap>
1.1 cocoon-lenya/src/templates/forrest/publication.xml
Index: publication.xml
===================================================================
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Id: publication.xml,v 1.1 2003/09/26 11:16:06 andreas Exp $ -->
<lenya:publication xmlns:lenya="http://apache.org/cocoon/lenya/publication/1.0">
<lenya:name>Forrest Template</lenya:name>
<lenya:version>1.0</lenya:version>
<lenya:description>This publication implements a documentation site
based around Apache Forrest.</lenya:description>
<lenya:credits>Special thanks to </lenya:credits>
<lenya:help></lenya:help>
<lenya:changelog>changes.xml</lenya:changelog>
<lenya:license></lenya:license>
<lenya:readme>
<p>
The "Editor's View (Authoring)" is still in an experimental version. Please use the
"Reader's View (Live)".
</p>
<ol>
<li><a href="live/index.html">Reader's View</a> (Live)</li>
<li><a href="authoring/index.html">Editor's View</a> (Authoring)</li>
</ol>
<p>The original Forrest sources can be found in <a
href="http://cvs.apache.org/viewcvs/xml-forrest/">Forrest
CVS</a>. From the shell this translates to cvs -d
:pserver:anoncvs@cvs.apache.org:/home/cvspublic co xml-forrest.</p>
</lenya:readme>
</lenya:publication>
1.1 cocoon-lenya/src/templates/forrest/navigation.xmap
Index: navigation.xmap
===================================================================
<?xml version="1.0"?>
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<map:components>
<map:generators default="file"/>
<map:serializers default="html"/>
<map:transformers default="xslt"/>
<map:readers default="resource"/>
<map:matchers default="wildcard"/>
<map:selectors default="browser"/>
</map:components>
<map:resources>
<map:resource name="book">
<map:act type="resource-exists">
<!-- If a hand-created book.xml exists, use it -->
<map:parameter name="url" value="content/xdocs/{dir}book.xml" />
<map:generate src="content/xdocs/{../dir}book.xml" />
<map:serialize type="xml"/>
</map:act>
<!-- If no book.xml, generate it from the linkmap. -->
<map:generate src="cocoon://{page-envelope:publication-id}/{dir}linkmap/{dir}" />
<!-- The above generates the subset of the linkmap relevant to our directory. -->
<map:transform src="resources/stylesheets/site2book.xsl" />
<map:serialize type="xml"/>
</map:resource>
</map:resources>
<map:pipelines>
<map:pipeline>
<map:match pattern="**/book.xml">
<map:call resource="book">
<map:parameter name="dir" value="{1}/" />
</map:call>
</map:match>
<map:match pattern="book.xml">
<map:call resource="book">
<map:parameter name="dir" value="" />
</map:call>
</map:match>
<map:match pattern="**/tab.xml">
<map:generate src="content/xdocs/tabs.xml" />
<map:serialize type="xml"/>
</map:match>
<map:match pattern="tab.xml">
<map:generate src="content/xdocs/tabs.xml" />
<map:serialize type="xml"/>
</map:match>
</map:pipeline>
</map:pipelines>
</map:sitemap>
1.1 cocoon-lenya/src/targets/publication-build.xml
Index: publication-build.xml
===================================================================
<!-- ============================================================ -->
<!-- Produce the webapp -->
<!-- ============================================================ -->
<!--
This target creates Forrest-based publication.
-->
<target name="forrest" depends="webapp" description="Creates a Forrest-based publication.">
<property name="lenya.templates" value="src/templates"/>
<property name="lenya.templates.forrest" value="${lenya.templates}/forrest"/>
<property name="forrest.publication" value="forrest"/>
<property name="forrest.publication.dir" value="${build.webapp}/lenya/pubs/${forrest.publication}"/>
<property environment="env" />
<property name="forrest.home" value="${env.FORREST_HOME}" />
<property name="forrest.context" value="${forrest.home}/context" />
<mkdir dir="${forrest.publication.dir}"/>
<copy todir="${forrest.publication.dir}">
<fileset dir="${forrest.home}/WEB-INF">
<include name="lib/**"/>
<include name="classes/**"/>
</fileset>
</copy>
<copy todir="${forrest.publication.dir}">
<fileset dir="${forrest.context}">
<include name="**"/>
<exclude name="lib/**"/>
</fileset>
</copy>
<xslt
in="${forrest.context}/sitemap.xmap"
out="${forrest.publication.dir}/forrest-sitemap.xmap"
style="${lenya.templates.forrest}/patch-sitemap.xsl"/>
<unzip
src="${forrest.home}/fresh-site.zip"
dest="${forrest.publication.dir}"/>
<move todir="${forrest.publication.dir}">
<fileset dir="${forrest.publication.dir}/src/documentation">
<include name="content/**"/>
</fileset>
</move>
<delete dir="${forrest.publication.dir}/src"/>
<echo>Copying template files</echo>
<echo> from ${lenya.templates.forrest}</echo>
<echo> to ${forrest.publication.dir}</echo>
<copy todir="${forrest.publication.dir}" overwrite="yes">
<fileset dir="${lenya.templates.forrest}">
<include name="**"/>
</fileset>
</copy>
</target>
1.1 cocoon-lenya/src/templates/forrest/config/menus/generic.xsp
Index: generic.xsp
===================================================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsp:page
language="java"
xmlns:xsp="http://apache.org/xsp"
xmlns:xsp-request="http://apache.org/xsp/request/2.0"
xmlns:input="http://apache.org/cocoon/xsp/input/1.0"
xmlns:wf="http://apache.org/cocoon/lenya/workflow/1.0"
xmlns:uc="http://apache.org/cocoon/lenya/usecase/1.0"
xmlns="http://apache.org/cocoon/lenya/menubar/1.0"
>
<xsp:structure>
<xsp:include>org.apache.lenya.cms.publication.Publication</xsp:include>
</xsp:structure>
<menu>
<xsp:logic>
String projectid = parameters.getParameter("projectid","null");
</xsp:logic>
<xsp:logic>
String xmlSource = <input:get-attribute module="page-envelope" as="string" name="document-path"/>;
String documentId = <input:get-attribute module="page-envelope" as="string" name="context-prefix"/> + "/" + <input:get-attribute module="page-envelope" as="string" name="publication-id"/> + "/authoring" + <input:get-attribute module="page-envelope" as="string" name="document-id"/> + "_" + <input:get-attribute module="page-envelope" as="string" name="document-language"/>;
String urisParameter = "uris=" + <input:get-attribute module="page-envelope" as="string" name="document-url"/>;
</xsp:logic>
<menus>
<menu name="File" label="File">
<block>
<xsp:logic>
{
String area = <input:get-attribute module="page-envelope" as="string" name="area"/>;
if (Publication.ARCHIVE_AREA.equals(area) || Publication.TRASH_AREA.equals(area)) {
<item>New Content Document</item>
}
else {
<item uc:usecase="create" uc:step="showscreen" href="?doctype=xhtml">New Content Document</item>
}
}
</xsp:logic>
<!--
<item uc:usecase="create" uc:step="showscreen" href="?doctype=xhtml">New Homepage</item>
<item uc:usecase="create" uc:step="showscreen" href="?doctype=xhtml">New Section Page</item>
-->
</block>
<block info="false">
<item uc:usecase="create-language" uc:step="showscreen" href="?">New language version</item>
<xsp:logic>
{
String[] availableLanguages = (String[])<input:get-attribute module="page-envelope" as="object" name="document-languages"/>;
if (availableLanguages.length > 1) {
<xsp:content>
<item uc:usecase="removelabel" uc:step="showscreen" href="?">Remove language version</item>
</xsp:content>
} else {
<xsp:content>
<item uc:usecase="removelabel" uc:step="showscreen">Remove language version</item>
</xsp:content>
}
}
</xsp:logic>
</block>
<block>
<item uc:usecase="logout" href="?">Logout</item>
</block>
</menu>
<menu name="Edit" label="Search">
<block info="false">
<item wf:event="edit"><xsp:attribute name="href"><xsp:expr>documentId + "-bxeng.html?"</xsp:expr></xsp:attribute>Edit with BXENG</item>
<item wf:event="edit" uc:usecase="edit" uc:step="open" href="?doctype=content">Edit with Forms</item>
</block>
<block info="false">
<item wf:event="edit" uc:usecase="info-meta" uc:step="showscreen"><xsp:attribute name="href"><xsp-request:get-context-path/>/<input:get-attribute module="page-envelope" as="string" name="publication-id"/>/info-<input:get-attribute module="page-envelope" as="string" name="area"/><input:get-attribute module="page-envelope" as="string" name="document-url"/>?</xsp:attribute>Edit Metadata</item>
<item wf:event="edit" uc:usecase="rename-label" uc:step="showscreen"><xsp:attribute name="href"><xsp-request:get-uri/>?</xsp:attribute>Edit Navigation Title</item>
<item>XML Upload</item>
<!--
<item wf:event="edit"><xsp:attribute name="href">?lenya.usecase=midas&lenya.step=open</xsp:attribute>Edit with Midas</item>
<item wf:event="edit"><xsp:attribute name="href"><xsp:expr>xsp_lenya_context_prefix+"/authoring/xopus2"+xmlSource</xsp:expr>?documentid=<xsp:expr>xmlSource</xsp:expr></xsp:attribute>Edit with Xopus</item>
<item wf:event="edit"><xsp:attribute name="href"><xsp:expr>"/lenya/bitflux/index.html?url-xml="+bitflux_prefix+xmlSource+"&url-xslt="+bitflux_prefix+"/stylesheets/simple.xsl&url-xsd="+bitflux_prefix+"/schemas/simple.xsd&url-css="+bitflux_prefix+"/css/simple.css&url-post="+bitflux_prefix+"/save"+xmlSource+"&url-back="+xsp_lenya_context_prefix+"/authoring"+xsp_lenya_pub_url</xsp:expr></xsp:attribute>Edit with Bitflux</item>
-->
</block>
<block authoring="false">
<xsp:logic>
{
String area = <input:get-attribute module="page-envelope" as="string" name="area"/>;
if ("".equals(<input:get-attribute module="sitetree" as="string" name="live-node"/>)
&& Publication.AUTHORING_AREA.equals(area)) {
<item><xsp:attribute name="href"><xsp-request:get-uri/>?lenya.usecase=cut&lenya.step=showscreen</xsp:attribute>Cut</item>
}
else {
<item>Cut</item>
}
if (Publication.AUTHORING_AREA.equals(area)) {
<item><xsp:attribute name="href"><xsp-request:get-uri/>?lenya.usecase=copy&lenya.step=showscreen</xsp:attribute>Copy</item>
}
else {
<item>Copy</item>
}
String clipboard = (String) <input:get-attribute module="session-attr" as="object" name="org.apache.lenya.cms.info.firstdocid"/>;
if (clipboard != null && !"".equals(clipboard)
&& Publication.AUTHORING_AREA.equals(area)) {
<xsp:content><item href="?lenya.usecase=paste&lenya.step=showscreen">Paste</item></xsp:content>
}
else {
<xsp:content><item>Paste</item></xsp:content>
}
}
</xsp:logic>
</block>
<block authoring="false">
<xsp:logic>
if ("".equals(<input:get-attribute module="sitetree" as="string" name="live-node"/>)) {
<item uc:usecase="rename" uc:step="showscreen"><xsp:attribute name="href"><xsp-request:get-uri/></xsp:attribute>Rename</item>
}
else {
<item>Rename</item>
}
</xsp:logic>
<item wf:event="edit" uc:usecase="rename-label" uc:step="showscreen"><xsp:attribute name="href"><xsp-request:get-uri/></xsp:attribute>Edit Navigation Title</item>
</block>
<block authoring="false">
<xsp:logic>
if ("".equals(<input:get-attribute module="sitetree" as="string" name="live-node"/>)) {
<item><xsp:attribute name="href"><xsp-request:get-uri/>?lenya.usecase=move-node&lenya.step=move-node&properties.movenode.direction=up</xsp:attribute>Move Up</item>
<item><xsp:attribute name="href"><xsp-request:get-uri/>?lenya.usecase=move-node&lenya.step=move-node&properties.movenode.direction=down</xsp:attribute>Move Down</item>
}
else {
<item>Move Up</item>
<item>Move Down</item>
}
</xsp:logic>
</block>
<block authoring="false">
<item wf:event="delete" uc:usecase="delete" uc:step="showscreen" href="?">Delete</item>
<item wf:event="archive" uc:usecase="archive" uc:step="showscreen" href="?">Archive</item>
<xsp:logic>
{
String area = <input:get-attribute module="page-envelope" as="string" name="area"/>;
if (area.equals(Publication.TRASH_AREA) || area.equals(Publication.ARCHIVE_AREA)) {
<item wf:event="restore" uc:usecase="restore" uc:step="showscreen" href="?">Restore</item>
}
else {
<item>Restore</item>
}
}
</xsp:logic>
</block>
</menu>
<menu name="Workflow" label="Help">
<block>
<item uc:usecase="submit" uc:step="showscreen" wf:event="submit" href="?">Submit</item>
<item uc:usecase="reject" uc:step="showscreen" wf:event="reject" href="?">Reject</item>
<item uc:usecase="publish" uc:step="showscreen" wf:event="publish"><xsp:attribute name="href">?<xsp:expr>urisParameter</xsp:expr>&sources=<xsp:expr>xmlSource</xsp:expr>&task-id=publish</xsp:attribute>Publish</item>
<item uc:usecase="deactivate" uc:step="showscreen" wf:event="deactivate" href="?task-id=deactivateDocument">Deactivate</item>
</block>
</menu>
<menu name="Help" label="Debug">
<block>
<item><xsp:attribute name="href"><xsp-request:get-context-path/>/docs-new/docs/index.html</xsp:attribute>User Documentation</item>
<item>System Documentation</item>
<item>Support</item>
</block>
<block>
<item href="http://cocoon.apache.org/lenya">About Apache Lenya</item>
</block>
<!--
<block>
<item><xsp:attribute name="href">../xopus<xsp:expr>xsp_lenya_pub_url.replaceFirst("\\.html", ".xml")</xsp:expr></xsp:attribute>View XML</item>
<item href="../xopus/simple.xsd">View Xopus XSD</item>
<item href="../xopus/simple.xsl">View Xopus XSLT</item>
</block>
-->
<block>
<item uc:usecase="view-logs" uc:step="overview" href="?">View Task Logs</item>
<item uc:usecase="schedule" uc:step="showscreen" href="?">Scheduler</item>
<!--
<item><xsp:attribute name="href">?lenya.usecase=rollback&lenya.step=showscreen&documentid=<xsp:expr>xmlSource</xsp:expr></xsp:attribute>Rollback</item>
-->
</block>
<block>
<item><xsp:attribute name="href"><xsp:expr>documentId + "-bxeng.html"</xsp:expr></xsp:attribute>HTML for BXENG</item>
<item><xsp:attribute name="href"><xsp:expr>documentId + "-config-bxeng.xml"</xsp:expr></xsp:attribute>Config for BXENG</item>
<item><xsp:attribute name="href"><xsp:expr>documentId + "-bxeng.xml"</xsp:expr></xsp:attribute>XML for BXENG</item>
<item href="content-bxeng.xsl">XSLT for BXENG</item>
<item href="content-bxeng.css">CSS for BXENG</item>
<item href="xhtml.rng">RelaxNG for BXENG</item>
</block>
</menu>
</menus>
</menu>
</xsp:page>
1.1 cocoon-lenya/src/templates/forrest/config/publication.xconf
Index: publication.xconf
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<publication>
<languages>
<language default="true">en</language>
<language>de</language>
</languages>
<path-mapper>org.apache.lenya.cms.publication.SingleLanguageIdentityMapper</path-mapper>
<breadcrumb-prefix/>
</publication>
1.1 cocoon-lenya/src/templates/forrest/xslt/html2xhtml.xsl
Index: html2xhtml.xsl
===================================================================
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>
<xsl:template match="*">
<xsl:element name="{local-name()}" namespace="http://www.w3.org/1999/xhtml">
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-cvs-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-cvs-help@cocoon.apache.org