You are viewing a plain text version of this content. The canonical link for it is here.
Posted to svn@forrest.apache.org by th...@apache.org on 2005/09/30 13:13:35 UTC
svn commit: r292708 - in
/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view:
./ lib/ resources/stylesheets/ resources/stylesheets/common/
resources/stylesheets/html/ resources/views/
Author: thorsten
Date: Fri Sep 30 04:13:24 2005
New Revision: 292708
URL: http://svn.apache.org/viewcvs?rev=292708&view=rev
Log:
Roll back of both view plugins internal.view and output.viewHelper to -r280939
Added:
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/lib/cocoon-template-block.jar (props changed)
- copied unchanged from r280939, forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/lib/cocoon-template-block.jar
Removed:
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/dataModel.xmap
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/menu.xmap
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/stylesheets/common/
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/stylesheets/html/
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/tabs.xmap
Modified:
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/internal.xmap
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/stylesheets/prepare.xhtml.xsl
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/views/default.fv
forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/views/pelt.fv
Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/internal.xmap
URL: http://svn.apache.org/viewcvs/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/internal.xmap?rev=292708&r1=292707&r2=292708&view=diff
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/internal.xmap (original)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/internal.xmap Fri Sep 30 04:13:24 2005
@@ -15,234 +15,227 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-
-<!-- forrest:structurer
-***********************
-The structuring of the assembled page where all content is in place
-and structured with forrest:hooks to provide hooks for theming.
-
-It is the job of a forrest:structurer to define this structure. The
-structurer uses for this a couple of helper classes forrest:contracts,
-forrest:hooks and forrest:properties. But there is more to a
-forrest:structurer than just structure.
-
-The structurer is not limited to a document but can request and
-structure the content from multiple input sources. Far more actually
-because it provides as well logical conditions for presentation formatting logic
--->
-
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
- <map:components>
- <map:pipes default="caching">
- <map:pipe name="caching"
- src="org.apache.cocoon.components.pipeline.impl.CachingProcessingPipeline"/>
- <map:pipe name="noncaching"
- src="org.apache.cocoon.components.pipeline.impl.NonCachingProcessingPipeline"/>
- </map:pipes>
- <map:selectors>
- <map:selector logger="sitemap.selector.exists" name="exists"
- src="org.apache.forrest.sourceexists.SourceExistsSelector" />
+
+ <map:components>
+ <map:pipes default="caching">
+ <map:pipe name="caching"
+ src="org.apache.cocoon.components.pipeline.impl.CachingProcessingPipeline"/>
+ <map:pipe name="noncaching"
+ src="org.apache.cocoon.components.pipeline.impl.NonCachingProcessingPipeline"/>
+ </map:pipes>
+ <map:selectors>
+ <map:selector logger="sitemap.selector.exists" name="exists" src="org.apache.forrest.sourceexists.SourceExistsSelector" />
</map:selectors>
<map:generators default="file">
- <map:generator name="traverse"
+ <map:generator
+ name="traverse"
src="org.apache.cocoon.generation.TraversableGenerator"
- logger="sitemap.generator.traverse" label="content" pool-max="16" />
- <map:generator name="directory"
- src="org.apache.cocoon.generation.DirectoryGenerator" />
- <!--map:generator name="jx" logger="sitemap.generator.jx"
- src="org.apache.cocoon.template.JXTemplateGenerator"
- label="content,data" pool-max="16"-->
- <map:generator name="jx" logger="sitemap.generator.jx"
- src="org.apache.cocoon.generation.JXTemplateGenerator"
- label="content,data" pool-max="16">
- </map:generator>
+ logger="sitemap.generator.traverse"
+ label="content"
+ pool-max="16"
+ />
+ <map:generator name="directory" src="org.apache.cocoon.generation.DirectoryGenerator" />
+ <!--FIXME: type="jx" -->
+ <!-- <map:generator label="content" logger="sitemap.generator.jx" name="jx" pool-max="16" src="org.apache.cocoon.template.JXTemplateGenerator"/> -->
</map:generators>
<map:transformers default="xslt">
- <map:transformer logger="sitemap.transformer.jx" name="jx" pool-max="16"
- src="org.apache.cocoon.transformation.JXTemplateTransformer"/>
- <map:transformer logger="sitemap.transformer.jpath" name="jpath"
- src="org.apache.cocoon.transformation.JPathTransformer"/>
- <map:transformer name="cinclude"
+ <map:transformer name="cinclude"
src="org.apache.cocoon.transformation.CIncludeTransformer"/>
- <map:transformer name="xinclude"
+ <map:transformer name="xinclude"
src="org.apache.cocoon.transformation.XIncludeTransformer"/>
</map:transformers>
- <map:serializers default="xml">
- <map:serializer logger="sitemap.serializer.xhtml" mime-type="text/html"
- name="xhtml" pool-grow="2" pool-max="64" pool-min="2"
- src="org.apache.cocoon.serialization.XMLSerializer">
- <!--+
- | You can choose from Strict, Transitional, or Frameset XHTML.
- | For Strict XHTML set doctype to:
- | <doctype-public>-//W3C//DTD XHTML 1.0 Strict//EN</doctype-public>
- | <doctype-system>http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</doctype-system>
- | For Transitional XHTML set doctype to:
- | <doctype-public>-//W3C//DTD XHTML 1.0 Transitional//EN</doctype-public>
- | <doctype-system>http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</doctype-system>
- | For Frameset XHTML set doctype to:
- | <doctype-public>-//W3C//DTD XHTML 1.0 Frameset//EN</doctype-public>
- | <doctype-system>http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd</doctype-system>
- |
- | Default XHTML doctype in Cocoon is XHTML Strict. If you want to use more than one
- | XHTML DTD simultaneously, you can define several XHTML serializers.
- +-->
- <doctype-public>-//W3C//DTD XHTML 1.0 Strict//EN</doctype-public>
- <doctype-system>
- http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</doctype-system>
- <encoding>UTF-8</encoding>
- </map:serializer>
+ <map:serializers>
+ <map:serializer logger="sitemap.serializer.xhtml" mime-type="text/html" name="xhtml" pool-grow="2" pool-max="64" pool-min="2" src="org.apache.cocoon.serialization.XMLSerializer">
+ <!--+
+ | You can choose from Strict, Transitional, or Frameset XHTML.
+ | For Strict XHTML set doctype to:
+ | <doctype-public>-//W3C//DTD XHTML 1.0 Strict//EN</doctype-public>
+ | <doctype-system>http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</doctype-system>
+ | For Transitional XHTML set doctype to:
+ | <doctype-public>-//W3C//DTD XHTML 1.0 Transitional//EN</doctype-public>
+ | <doctype-system>http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</doctype-system>
+ | For Frameset XHTML set doctype to:
+ | <doctype-public>-//W3C//DTD XHTML 1.0 Frameset//EN</doctype-public>
+ | <doctype-system>http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd</doctype-system>
+ |
+ | Default XHTML doctype in Cocoon is XHTML Strict. If you want to use more than one
+ | XHTML DTD simultaneously, you can define several XHTML serializers.
+ +-->
+ <doctype-public>-//W3C//DTD XHTML 1.0 Strict//EN</doctype-public>
+ <doctype-system>http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</doctype-system>
+ <encoding>UTF-8</encoding>
+ </map:serializer>
<map:serializer name="text"
- src="org.apache.cocoon.serialization.TextSerializer"
- mime-type="text/plain" logger="sitemap.serializer.text" />
+ src="org.apache.cocoon.serialization.TextSerializer"
+ mime-type="text/plain"
+ logger="sitemap.serializer.text"
+ />
</map:serializers>
<map:actions>
<map:action name="fallbackResolverAction"
src="org.apache.forrest.plugin.internal.view.acting.FallbackResolverAction"/>
</map:actions>
</map:components>
- <map:resources>
- <map:resource name="skinit">
- <map:select type="exists">
- <map:when
- test="{project:skins-dir}{project:theme}/xslt/html/{type}.xsl">
- <map:transform
- src="{project:skins-dir}{project:theme}/xslt/html/{type}.xsl">
- <map:parameter name="notoc" value="{notoc}"/>
- <!-- FIXME: do we need this anymore? -->
- <!-- For backwards-compat with 0.2 - 0.4 skins -->
- <map:parameter name="isfaq" value="{notoc}"/>
- <map:parameter name="nopdf" value="{nopdf}"/>
- <map:parameter name="path" value="{path}"/>
- <map:parameter name="config-file" value="{project:skinconf}"/>
- </map:transform>
- </map:when>
- <map:otherwise>
- <map:transform src="resources/stylesheets/html/{type}.xsl">
- <map:parameter name="notoc" value="{notoc}"/>
- <!-- For backwards-compat with 0.2 - 0.4 skins -->
- <map:parameter name="isfaq" value="{notoc}"/>
- <map:parameter name="nopdf" value="{nopdf}"/>
- <map:parameter name="path" value="{path}"/>
- <map:parameter name="config-file" value="{project:skinconf}"/>
- </map:transform>
- </map:otherwise>
- </map:select>
- <map:serialize/>
- </map:resource>
- </map:resources>
- <map:pipelines>
- <map:pipeline>
- <!-- businessHelper -->
- <map:mount uri-prefix="" src="dataModel.xmap" check-reload="yes"
- pass-through="true"/>
- </map:pipeline>
-
+
+<map:pipelines>
+
+<!--
+ This plugin has x components:
+ 2. businessHelper - delivers content that is used in the contracts
+ 3. views - transforms the requested contracts (viewHelper)
+ and populate them with the content (businessHelper)
+ -->
+
+
+
<!--
- structurer
+ 3. views
prepares and transforms the requested contracts (viewHelper) and populate them with the content (businessHelper).
-->
- <map:pipeline>
-<!--FIXME:
- type="jx" and move to lm
-
+ <!--FIXME: We should refactor this pipeline when we want to use it-->
+ <map:pipeline type="noncaching">
+ <!--Refactor for dir-->
+ <map:match pattern="viewLocationmap.xml">
+ <map:generate type="traverse" src="{project:content.xdocs}">
+ <map:parameter name="depth" value="100"/>
+ <map:parameter name="exclude" value="[\w]*.svn"/>
+ <!--<map:parameter name="include" value="[\w]*.fv"/>-->
+ </map:generate>
+ <map:transform src="resources/stylesheets/viewLocationmap.xsl"/>
+ <map:serialize type="xml"/>
+ </map:match>
+
+
+ <!--FIXME: type="jx"
View config resolver
File specific views have priority before default ones.
If no views can be found in the project we use the default one of the view plugin.
{1} - requested url
-->
- <map:match pattern="prepare.jxWorkaround.**">
- <map:act type="fallbackResolverAction">
- <map:parameter value="{1}" name="request"/>
- <map:parameter value="{project:theme}" name="projectFallback"/>
- <map:parameter value="{project:theme-ext}" name="projectExtension"/>
- <map:parameter value="{project:content.xdocs}" name="projectDir"/>
- <map:parameter value="{defaults:view-themes}" name="defaultDir"/>
- <map:parameter value="{defaults:theme}" name="defaultFallback"/>
- <map:parameter value="{defaults:theme-ext}" name="defaultExtension"/>
- <map:generate src="{uri}"/>
- <map:transform
- src="resources/stylesheets/prepare.include.templates.xsl"/>
- <map:transform type="xinclude"/>
- <map:serialize/>
- </map:act>
- </map:match>
-
- <map:match pattern="prepare.view.**">
- <map:generate type="jx" src="cocoon:/prepare.jxWorkaround.{1}">
- <map:parameter name="lenient-xpath" value="true"/>
- <map:parameter name="getRequest" value="{1}"/>
- </map:generate>
- <map:serialize/>
- </map:match>
-
- <!--
- Add businessHelper to the presentation model that the content can be used later on.
- {1} - requested url -->
- <map:match pattern="prepare.view-nugget.**">
- <map:generate src="cocoon:/prepare.view.{1}">
- <map:parameter name="lenient-xpath" value="true"/>
- <map:parameter name="getRequest" value="{1}"/>
- </map:generate>
- <map:transform src="resources/stylesheets/prepare.view.xsl">
- <map:parameter name="view" value="{1}"/>
- </map:transform>
+ <map:match pattern="prepare.view.**">
+ <map:act type="fallbackResolverAction">
+ <map:parameter value="{1}" name="request"/>
+ <map:parameter value="{project:theme}" name="projectFallback"/>
+ <map:parameter value="{project:theme-ext}" name="projectExtension"/>
+ <map:parameter value="{project:content.xdocs}" name="projectDir"/>
+ <map:parameter value="{defaults:view-themes}" name="defaultDir"/>
+ <map:parameter value="{defaults:theme}" name="defaultFallback"/>
+ <map:parameter value="{defaults:theme-ext}" name="defaultExtension"/>
+
+ <map:generate src="file:/{uri}"/>
+ <map:transform src="resources/stylesheets/prepare.include.templates.xsl"/>
<map:transform type="xinclude"/>
- <map:serialize/>
- </map:match>
- <!--
+ <map:serialize type="xml"/>
+ </map:act>
+ </map:match>
+
+ <!--Add businessHelper to the presentation model that the content can be used later on.
+ {1} - requested url-->
+
+ <map:match pattern="prepare.view-nugget.**">
+ <map:generate src="cocoon:/prepare.view.{1}"/>
+ <map:transform src="resources/stylesheets/prepare.view.xsl">
+ <map:parameter name="view" value="{1}"/>
+ </map:transform>
+ <map:transform type="xinclude"/>
+ <map:serialize type="xml"/>
+ </map:match>
+
+<!--
Aggregate the contract-templates requested by the view with xinclude.
The result is a stylesheet with all needed xsl:templates.
{1} - format
{2} - requested url
-->
- <map:match pattern="prepare.include.*.**">
- <map:generate src="cocoon:/prepare.view.{2}"/>
- <map:transform src="resources/stylesheets/prepare.include.xsl">
- <map:parameter name="config-file" value="{project:skinconf}"/>
- <!--Which output format?-->
- <map:parameter name="format" value="{1}"/>
- </map:transform>
- <map:transform type="xinclude"/>
- <map:serialize/>
- </map:match>
- <!--
+ <map:match pattern="prepare.include.*.**">
+ <map:generate src="cocoon:/prepare.view.{2}"/>
+ <map:transform src="resources/stylesheets/prepare.include.xsl">
+ <map:parameter name="config-file" value="{project:skinconf}"/>
+ <!--Which output format?-->
+ <map:parameter name="format" value="{1}"/>
+ </map:transform>
+ <map:transform type="xinclude"/>
+ <map:serialize type="xml"/>
+ </map:match>
+
+ <!--
Aggregate the forrest:properties requested by the *.fv.
The result is an aggregation of properties which defines the templates to be call.
{1} - format
- {2} - requested url
+ {2} - requested url
-->
- <map:match pattern="prepare.properties.*.**">
- <map:generate src="cocoon:/prepare.view.{2}"/>
- <map:transform src="resources/stylesheets/prepare.properties.xsl">
- <!--Which output format?-->
- <map:parameter name="format" value="{1}"/>
- </map:transform>
- <map:transform type="xinclude"/>
- <map:serialize/>
- </map:match>
- <!--FIXME
- This has to be an interface and not an implementation. Use lm to do it.
+ <map:match pattern="prepare.properties.*.**">
+ <map:generate src="cocoon:/prepare.view.{2}"/>
+ <map:transform src="resources/stylesheets/prepare.properties.xsl">
+ <!--Which output format?-->
+ <map:parameter name="format" value="{1}"/>
+ </map:transform>
+ <map:transform type="xinclude"/>
+ <map:serialize type="xml"/>
+ </map:match>
+ <!--FIXME
+ This has to be an interface and not an implementation
An interface will only generate cocoon protocol matches and serialize them!
An implementation will deliver the actual match (including transformation)-->
- <!--
+ <!--
Aggregate all contracts-templates requested by the view.
Create a xsl that can be used for the last step of the transformation of the view.
{1} - format
{2} - requested url
- -->
- <map:match pattern="getStylesheet.*.**">
- <map:aggregate element="filter">
- <map:part src="cocoon://prepare.view-nugget.{2}" />
- <map:part src="cocoon://prepare.properties.{1}.{2}" />
- </map:aggregate>
- <map:transform src="resources/stylesheets/prepare.{1}.xsl" >
- <map:parameter name="request" value="{2}"/>
- <map:parameter name="forrestContext" value="{forrest:context}"/>
- </map:transform>
- <map:transform type="xinclude"/>
- <map:serialize/>
- </map:match>
- </map:pipeline>
- </map:pipelines>
+ -->
+ <map:match pattern="getStylesheet.*.**">
+ <map:aggregate element="filter">
+ <map:part src="cocoon://prepare.view-nugget.{2}" />
+ <map:part src="cocoon://prepare.properties.{1}.{2}" />
+ </map:aggregate>
+ <map:transform src="resources/stylesheets/prepare.{1}.xsl" >
+ <map:parameter name="request" value="{2}"/>
+ <map:parameter name="forrestContext" value="{forrest:context}"/>
+ </map:transform>
+ <map:transform type="xinclude"/>
+ <map:serialize type="xml"/>
+ </map:match>
+ </map:pipeline>
+
+ <!--
+ 2. businessHelper
+ This is the model producing factory.
+ -->
+<!--NOTE:
+ The current factory uses the models the skin (e.g. document2xhtml.xsl from pelt [default skin]).
+ It is only exchanging the last model of the models the skin is producing (site2xhtml.xsl) till now.
+ This will have to be changed in the future.
+ -->
+ <map:pipeline>
+ <map:match pattern="*.page">
+ <map:aggregate element="site">
+ <map:part src="cocoon://skinconf.xml"/>
+ <map:part src="cocoon://tab-{1}.html"/>
+ <map:part src="cocoon://menu-{1}.html"/>
+ <map:part src="cocoon://body-{1}.html"/>
+ <map:part src="cocoon:/prepare.view-nugget.{1}"/>
+ </map:aggregate>
+ <map:serialize type="xml"/>
+ </map:match>
+ <map:match pattern="**/*.page">
+ <map:aggregate element="site">
+ <map:part src="cocoon://skinconf.xml"/>
+ <map:part src="cocoon://{1}/tab-{2}.html"/>
+ <map:part src="cocoon://{1}/menu-{2}.html"/>
+ <map:part src="cocoon://{1}/body-{2}.html"/>
+ <map:part src="cocoon:/prepare.view-nugget.{1}/{2}"/>
+ </map:aggregate>
+ <map:serialize type="xml"/>
+ </map:match>
+
+ </map:pipeline>
+
+
+<!--
+ 2. businessHelper
+ -->
+
+ </map:pipelines>
</map:sitemap>
Propchange: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/lib/cocoon-template-block.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/stylesheets/prepare.xhtml.xsl
URL: http://svn.apache.org/viewcvs/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/stylesheets/prepare.xhtml.xsl?rev=292708&r1=292707&r2=292708&view=diff
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/stylesheets/prepare.xhtml.xsl (original)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/stylesheets/prepare.xhtml.xsl Fri Sep 30 04:13:24 2005
@@ -47,7 +47,7 @@
<xsl:apply-templates select="/*/forrest:views/forrest:view"/>
</alias:template>
<!--default entry point into the presentation model 'site'-->
- <alias:template match="/">
+ <alias:template match="site">
<html>
<head>
<alias:call-template name="getHead"/>
@@ -113,6 +113,7 @@
<alias:call-template name="{@name}-head" xmlns:forrest="http://apache.org/forrest/templates/1.0">
<xsl:for-each select="forrest:properties[@contract=$name]/forrest:property">
<xsl:variable name="xpath">
+ <xsl:value-of select="'/site'"/>
<xsl:call-template name="generateXPath"/>
</xsl:variable>
<alias:with-param name="{@name}" select="{normalize-space($xpath)}"/>
@@ -137,6 +138,7 @@
<alias:call-template name="{@name}-body">
<xsl:for-each select="forrest:properties[@contract=$name]/forrest:property">
<xsl:variable name="xpath">
+ <xsl:value-of select="'/site'"/>
<xsl:call-template name="generateXPath"/>
</xsl:variable>
<alias:with-param name="{@name}" select="{normalize-space($xpath)}" />
Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/views/default.fv
URL: http://svn.apache.org/viewcvs/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/views/default.fv?rev=292708&r1=292707&r2=292708&view=diff
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/views/default.fv (original)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/views/default.fv Fri Sep 30 04:13:24 2005
@@ -15,10 +15,8 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-
-<forrest:views
- xmlns:forrest="http://apache.org/forrest/templates/1.0"
- xmlns:jx="http://apache.org/cocoon/templates/jx/1.0">
+
+<forrest:views xmlns:forrest="http://apache.org/forrest/templates/1.0" >
<forrest:view type="xhtml">
<forrest:css url="default.css"/>
<forrest:contract name="siteinfo-meta">
@@ -37,38 +35,14 @@
</forrest:properties>
</forrest:contract>
<forrest:hook name="nav-main-hook">
- <forrest:contract name="nav-main">
- <forrest:properties contract="nav-main">
- <forrest:property name="nav-main" nugget="get.navigation">
- <url>${cocoon.parameters.getRequest}.navigation.xml</url>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
- <forrest:contract name="nav-main-sub">
- <forrest:properties contract="nav-main-sub">
- <forrest:property name="nav-main-sub" nugget="get.navigation">
- <url>#{$cocoon/parameters/getRequest}.navigation.xml</url>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
+ <forrest:contract name="nav-main"/>
+ <forrest:contract name="nav-main-sub"/>
</forrest:hook>
</forrest:hook>
<forrest:hook name="page">
<forrest:hook name="leftbar">
- <forrest:contract name="nav-section">
- <forrest:properties contract="nav-section">
- <forrest:property name="nav-section" nugget="get.navigation">
- <url>#{$cocoon/parameters/getRequest}.navigation.xml</url>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
- <forrest:contract name="search-input">
- <forrest:properties contract="search-input">
- <forrest:property name="search-input">
- <search name="MyProject" domain="mydomain" provider="google"/>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
+ <forrest:contract name="nav-section"/>
+ <forrest:contract name="search-input"/>
</forrest:hook>
<!--
You can group elements to a template and call it from any view. e.g.
@@ -82,52 +56,15 @@
<forrest:call-template name="export-link"/>
<forrest:hook name="content">
- <forrest:contract name="content-title">
- <forrest:properties contract="content-title">
- <forrest:property name="content-title" nugget="get.body">
- <url>#{$cocoon/parameters/getRequest}.body.xml</url>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
- <forrest:contract name="content-abstract">
- <forrest:properties contract="content-abstract">
- <forrest:property name="content-abstract" nugget="get.abstract">
- <url>#{$cocoon/parameters/getRequest}.abstract.xml</url>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
- <forrest:contract name="content-minitoc">
- <forrest:properties contract="content-minitoc">
- <forrest:property name="content-minitoc-toc" nugget="get.toc">
- <url>#{$cocoon/parameters/getRequest}.toc.xml</url>
- </forrest:property>
- <forrest:property name="content-minitoc-conf" >
- <toc max-depth="2"
- min-sections="1" location="page"/>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
- <forrest:contract name="content-main">
- <forrest:properties contract="content-main">
- <forrest:property name="content-main" nugget="get.body">
- <url>#{$cocoon/parameters/getRequest}.body.xml</url>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
+ <forrest:contract name="content-title"/>
+ <forrest:contract name="content-abstract"/>
+ <forrest:contract name="content-minitoc"/>
+ <forrest:contract name="content-main"/>
</forrest:hook>
</forrest:hook>
</forrest:hook>
<forrest:hook name="footer">
- <forrest:contract name="siteinfo-feedback">
- <forrest:properties contract="siteinfo-feedback">
- <forrest:property name="siteinfo-feedback">
- <feedback to="webmaster@foo.com"
- href="mailto:webmaster@foo.com?subject=Feedback " >
- Send feedback about the website to:
- </feedback>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
+ <forrest:contract name="siteinfo-feedback"/>
<forrest:contract name="siteinfo-last-published"/>
</forrest:hook>
</forrest:view>
Modified: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/views/pelt.fv
URL: http://svn.apache.org/viewcvs/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/views/pelt.fv?rev=292708&r1=292707&r2=292708&view=diff
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/views/pelt.fv (original)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.internal.view/resources/views/pelt.fv Fri Sep 30 04:13:24 2005
@@ -33,26 +33,10 @@
</forrest:contract>
<forrest:contract name="siteinfo-meta-navigation"/>
<!-- FIXME - Cocoon problem with favicon.ico -->
- <!--<forrest:contract name="siteinfo-meta-icon">
- <forrest:properties contract="siteinfo-meta-icon">
- <forrest:property name="siteinfo-meta-icon">
- <favicon-url></favicon-url>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>-->
-
+ <!-- forrest:contract name="siteinfo-meta-icon"/ -->
+
<forrest:hook name="container">
- <forrest:contract name="branding-breadcrumbs">
- <forrest:properties contract="branding-breadcrumbs">
- <forrest:property name="branding-breadcrumbs">
- <trail>
- <link1 name="Apache Forrest" href="http://forrest.apache.org/"/>
- <link2 name="Plugins" href="http://forrest.apache.org/docs/plugins/"/>
- <link3 name="org.apache.forrest.plugin.output.viewHelper" href="http://forrest.apache.org/docs/plugins/org.apache.forrest.plugin.output.viewHelper/"/>
- </trail>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
+ <forrest:contract name="branding-breadcrumbs"/>
<forrest:hook name="header">
<forrest:contract name="branding-tagline">
<forrest:properties contract="branding-tagline">
@@ -63,143 +47,52 @@
</forrest:properties>
</forrest:contract>
<forrest:hook name="grouplogo">
- <forrest:contract name="branding-logo">
- <forrest:properties contract="branding-logo">
- <forrest:property name="branding-logo-name">
- MyGroup</forrest:property>
- <forrest:property name="branding-logo-description">MyGroup
- Description</forrest:property>
- <forrest:property name="branding-logo-url">
- http://mygroup.org/</forrest:property>
- <forrest:property name="branding-logo-logo">
- images/group.png</forrest:property>
- </forrest:properties>
- </forrest:contract>
+ <forrest:contract name="branding-grouplogo"/>
</forrest:hook>
<forrest:hook name="projectlogo">
- <forrest:contract name="branding-logo">
- <forrest:properties contract="branding-logo">
- <forrest:property name="branding-logo-name">
- MyProject</forrest:property>
- <forrest:property name="branding-logo-description">MyProject
- Description</forrest:property>
- <forrest:property name="branding-logo-url">
- http://myproj.mygroup.org/</forrest:property>
- <forrest:property name="branding-logo-logo">
- images/project.png</forrest:property>
- </forrest:properties>
- </forrest:contract>
+ <forrest:contract name="branding-projectlogo"/>
</forrest:hook>
<forrest:contract name="search-input">
<forrest:properties contract="search-input">
<forrest:property name="input-size">25</forrest:property>
- <forrest:property name="search-input">
- <search name="MyProject" domain="mydomain" provider="google"/>
- </forrest:property>
</forrest:properties>
</forrest:contract>
<forrest:hook name="nav-main-hook">
- <forrest:contract name="nav-main">
- <forrest:properties contract="nav-main">
- <forrest:property name="nav-main" nugget="get.navigation">
- <url>${cocoon.parameters.getRequest}.navigation.xml</url>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
+ <forrest:contract name="nav-main"/>
<forrest:hook name="publishedStrip">
- <forrest:contract name="nav-main-sub">
- <forrest:properties contract="nav-main-sub">
- <forrest:property name="nav-main-sub" nugget="get.navigation">
- <url>#{$cocoon/parameters/getRequest}.navigation.xml</url>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
+ <forrest:contract name="nav-main-sub"/>
<forrest:contract name="siteinfo-current-time"/>
</forrest:hook>
</forrest:hook>
</forrest:hook>
<forrest:hook name="page">
- <forrest:contract name="branding-breadcrumbs">
- <forrest:properties contract="branding-breadcrumbs">
- <forrest:property name="branding-breadcrumbs">
- <trail>
- <link1 name="myGroup" href="http://www.apache.org/"/>
- <link2 name="myProject" href="http://forrest.apache.org/"/>
- <link3 name="" href=""/>
- </trail>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
+ <forrest:contract name="branding-breadcrumbs"/>
<forrest:hook name="leftbar">
- <forrest:contract name="nav-section">
- <forrest:properties contract="nav-section">
- <forrest:property name="nav-section" nugget="get.navigation">
- <url>#{$cocoon/parameters/getRequest}.navigation.xml</url>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
- <forrest:contract name="genericMarkup">
- <forrest:properties contract="genericMarkup">
- <forrest:property name="genericMarkup">
- <hr/>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
+ <forrest:contract name="nav-section"/>
+ <!-- FIXME - hr contract should disappear and be replaced by a top-separator contract argument just like
+ siteinfo-credits -->
+ <forrest:contract name="hr"/>
<forrest:contract name="search-input">
<forrest:properties contract="search-input">
<forrest:property name="input-size">18</forrest:property>
- <forrest:property name="search-input">
- <search name="MyProject" domain="mydomain" provider="google"/>
- </forrest:property>
</forrest:properties>
</forrest:contract>
<forrest:contract name="siteinfo-credits">
<forrest:properties contract="siteinfo-credits">
<forrest:property name="box-location">credit</forrest:property>
<forrest:property name="top-separator">true</forrest:property>
- <forrest:property name="siteinfo-credits">
- <credits>
- <credit>
- <name>Built with Apache Forrest</name>
- <url>http://forrest.apache.org/</url>
- <image>images/built-with-forrest-button.png</image>
- <width>88</width>
- <height>31</height>
- </credit>
- </credits>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
- <forrest:contract name="genericMarkup">
- <forrest:properties contract="genericMarkup">
- <forrest:property name="genericMarkup">
- <hr/>
- </forrest:property>
</forrest:properties>
</forrest:contract>
- <forrest:contract name="content-motd-page">
- <forrest:properties contract="content-motd-page">
- <forrest:property name="content-motd-page">
- <motd>
- <motd-option pattern="index.html">
- <motd-title>sample</motd-title>
- <motd-page location="both">
- This is an example of a Message of the day (MOTD).
- </motd-page>
- <motd-page-url>index.html</motd-page-url>
- </motd-option>
- <motd-option pattern="samples/faq.html">
- <motd-title></motd-title>
- <motd-page location="both">
- How to enable this MOTD is on this page.
- </motd-page>
- <motd-page-url>#motd</motd-page-url>
- </motd-option>
- </motd>
- </forrest:property>
+ <!-- FIXME - hr contract should disappear and be replaced by a top-separator contract argument just like
+ siteinfo-credits -->
+ <forrest:contract name="hr"/>
+ <forrest:contract name="content-motd-page"/>
+ <forrest:contract name="nav-section-round-bottom"/>
+ <forrest:contract name="siteinfo-credits">
+ <forrest:properties contract="siteinfo-credits">
+ <forrest:property name="box-location">credit2</forrest:property>
</forrest:properties>
</forrest:contract>
- <forrest:contract name="nav-section-round-bottom"/>
</forrest:hook>
<forrest:call-template name="export-link"/>
<forrest:hook name="content">
@@ -207,92 +100,20 @@
<!--<forrest:hook class="trail">
<forrest:contract name="branding-fontsize"/>
</forrest:hook>-->
- <forrest:contract name="content-title">
- <forrest:properties contract="content-title">
- <forrest:property name="content-title" nugget="get.body">
- <url>#{$cocoon/parameters/getRequest}.body.xml</url>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
- <forrest:contract name="content-abstract">
- <forrest:properties contract="content-abstract">
- <forrest:property name="content-abstract" nugget="get.abstract">
- <url>#{$cocoon/parameters/getRequest}.abstract.xml</url>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
- <forrest:contract name="content-minitoc">
- <forrest:properties contract="content-minitoc">
- <forrest:property name="content-minitoc-toc" nugget="get.toc">
- <url>#{$cocoon/parameters/getRequest}.toc.xml</url>
- </forrest:property>
- <forrest:property name="content-minitoc-conf" >
- <toc max-depth="2"
- min-sections="1" location="page"/>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
- <forrest:contract name="content-main">
- <forrest:properties contract="content-main">
- <forrest:property name="content-main" nugget="get.body">
- <url>#{$cocoon/parameters/getRequest}.body.xml</url>
- </forrest:property>
- <forrest:property name="content-main-conf">
- <headings type="underlined"/>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
- <forrest:contract name="content-authors">
- <forrest:properties contract="content-authors">
- <forrest:property name="content-authors" nugget="get.authors">
- <url>#{$cocoon/parameters/getRequest}.authors.xml</url>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
+ <forrest:contract name="content-title"/>
+ <forrest:contract name="content-abstract"/>
+ <forrest:contract name="content-motd-page"/>
+ <forrest:contract name="content-minitoc"/>
+ <forrest:contract name="content-main"/>
+ <forrest:contract name="content-author"/>
</forrest:hook>
</forrest:hook>
<forrest:hook name="footer">
- <forrest:hook class="copyright">
- <forrest:contract name="siteinfo-copyright">
- <forrest:properties contract="siteinfo-copyright">
- <forrest:property name="siteinfo-copyright">
- <copyright>
- <year>2005</year>
- <vendor>The Acme Software Foundation.</vendor>
- </copyright>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
- </forrest:hook>
+ <forrest:contract name="siteinfo-copyright"/>
<forrest:contract name="siteinfo-compliance-links"/>
- <forrest:contract name="siteinfo-credits">
- <forrest:properties contract="siteinfo-credits">
- <forrest:property name="box-location">credit</forrest:property>
- <forrest:property name="top-separator">true</forrest:property>
- <forrest:property name="siteinfo-credits">
- <credits>
- <credit>
- <name>Built with Apache Forrest</name>
- <url>http://forrest.apache.org/</url>
- <image>images/built-with-forrest-button.png</image>
- <width>88</width>
- <height>31</height>
- </credit>
- </credits>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
+ <forrest:contract name="siteinfo-credits"/>
<forrest:contract name="siteinfo-last-published"/>
- <forrest:contract name="siteinfo-feedback">
- <forrest:properties contract="siteinfo-feedback">
- <forrest:property name="siteinfo-feedback">
- <feedback to="webmaster@foo.com"
- href="mailto:webmaster@foo.com?subject=Feedback " >
- Send feedback about the website to:
- </feedback>
- </forrest:property>
- </forrest:properties>
- </forrest:contract>
+ <forrest:contract name="siteinfo-feedback"/>
</forrest:hook>
</forrest:hook>
</forrest:view>