El sáb, 24-09-2005 a las 12:10 +0100, Ross Gardler escribió:
...
> Notice how the template in the above is named with the name of the 
> contract, for example, in the content-main contract we have:
> 
> <xsl:template name="content-main-body" >
> 
> THe *-body part means that template will be called to insert relevant 
> content into the body.
> 
> Now look at the skeleton template I created for you in the voice plugin:
> 
> http://svn.apache.org/repos/asf/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.output.voice/templates/voice-markup.ft
> 
> It is called voice-markup and has a template named voice-markup-head. 
> That template will be called to gneerate the head stuff for a document 
> using this contract.
> 
> So, your stylesheet above should have something like:
> 
> <xsl:template name="voice-markup-head">
>    <xsl:apply-templates select="//body"/>
> </xsl:template>
> 
> However, Thorsten is making changes to views right now. These changes 
> are affecting the way the contracts should be built and at present I 
> have no idea what we are supposed to do because the work is incomplete 
> and I am not in the position to examine what has been done so far. He is 
> reading this thread though so he'll speak up if we need to know anything.
> 
> Ross

Thanks Ross for this perfect explanation how contracts work with a given
presentation model (pm) and in general. A presentation model is a given
data model that has to been transformed.

Now I just used the features that always have been part of views to not
use a default pm anymore. That means that all data (pm) needed by
contracts should be requested by the view and pass it over to the
contract.

The most famous content-feeder contract is the example of how we will do
it in the core (requesting the pm instead of taking it for granted):
<forrest:contract name="content-feeder">
    <forrest:properties contract="content-feeder">
      <forrest:property name="content-feeder"
nugget="get.nugget.feeder">
        <url>/feeds/somefeed.xml</url>
      </forrest:property>
    </forrest:properties>
</forrest:contract>

Ross found a better way how to enhance this way and is preparing a
proposal for making views cocoon-block enable. I am looking forward to
it. :)

...and yes views are a moving target like os in general, which is the
good thing about it. Things get enhanced through growing. ;-)

salu2
-- 
thorsten

"Together we stand, divided we fall!" 
Hey you (Pink Floyd)

Reply via email to