Author: thorsten
Date: Fri Dec 16 18:31:43 2005
New Revision: 357277

URL: http://svn.apache.org/viewcvs?rev=357277&view=rev
Log:
Added a master contract which we can use to explain the contract concept. It 
will output only explanation from the contract but not aimed to be usable in 
production.

Added:
    
forrest/trunk/main/template-sites/v3/src/documentation/resources/themes/common/html/master.ft

Added: 
forrest/trunk/main/template-sites/v3/src/documentation/resources/themes/common/html/master.ft
URL: 
http://svn.apache.org/viewcvs/forrest/trunk/main/template-sites/v3/src/documentation/resources/themes/common/html/master.ft?rev=357277&view=auto
==============================================================================
--- 
forrest/trunk/main/template-sites/v3/src/documentation/resources/themes/common/html/master.ft
 (added)
+++ 
forrest/trunk/main/template-sites/v3/src/documentation/resources/themes/common/html/master.ft
 Fri Dec 16 18:31:43 2005
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2002-2005 The Apache Software Foundation or its licensors,
+  as applicable.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<forrest:contract 
+  xmlns:i18n="http://apache.org/cocoon/i18n/2.1";
+  xmlns:forrest="http://apache.org/forrest/templates/1.0";
+  name="master">
+  
+  <!--NOTE: 
+  THIS IS JUST AN EXPLANATION!!!-->
+  <description>
+    <p> This is just a master contract, it will output something but *nothing* 
in special. It should 
+      just serve to explain a wee bit contracts and what you can do with them. 
+      </p>
+  </description>
+  <usage><![CDATA[<forrest:contract name="master"/>]]></usage>
+  <forrest:template xmlns:forrest="http://apache.org/forrest/templates/1.0";
+    name="master" inputFormat="xsl">
+    <xsl:stylesheet version="1.1" 
+      xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
+      <!-- If you need default variables: -->
+      <!--<xsl:param name="defaultVariables" select="'test.html'"/>-->
+      <!-- then extract the variable like: -->
+      <!--<xsl:variable name="skin-img-dir" select="$defaultVariables/*/[EMAIL 
PROTECTED]'skin-img-dir']/@value"/>-->
+      <!-- more information which variables are aviable can be found at 
lm://transform.xml.variable.helper 
+        
+          FIXME: This property xsl is in early stage and aims to be connected 
to the new established input module based one.
+          We need to write a custom generator for this. The generator will 
contact the prop-input module to get all aviable key/values and
+          outputs them to xml (dtd like forrest.properties.xml). -->
+          
+          <!-- Since contracts are standalone every implementation has to be 
invoked by some input.-->
+          
+          <!--  That means for xsl contracts that they are working for any xml 
input. 
+          We need to match the root element to invoke the contract 
processing!!! 
+          If no data model is requested by the structurer, the dispatcher will 
use a foo-doc in the transformation.
+          That means that matching "/" always will work. -->
+      <xsl:template match="/">
+        <!-- The dispatcher needs a well-formed xml document to work with. 
+            The forrest:content element (as root element) can contain as many 
forrest:part's as you want. -->
+        <forrest:content>
+          <!-- forrest:part within this element the actual content is going 
to. 
+            If you use no @xpath then we insert content on the current 
structurer position.-->
+          <forrest:part>
+            Content going to the location defined by the structurer.
+          </forrest:part>
+          <!--If you want to inject the content into a certain DOM position and
+              *not* the current position in the structurer, you can use the 
@xpath attribute. -->
+          <forrest:part xpath="/html/head">
+            Content going to a fixed location defined by the contract (here: 
/html/head).
+          </forrest:part>
+        </forrest:content>
+      </xsl:template>
+      <!-- copy n paste -->
+      <!--
+      <xsl:template match="/">
+        <forrest:content>
+          <forrest:part/>
+          <forrest:part xpath="/html/head"/>
+        </forrest:content>
+      </xsl:template>
+      -->
+    </xsl:stylesheet>
+  </forrest:template>
+</forrest:contract>
\ No newline at end of file


Reply via email to