forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thorsten Scherler <thors...@apache.org>
Subject Re: Chaining plguins (was Re: What does "XHTML2 as an internal document format" mean?)
Date Sun, 18 Sep 2005 16:15:45 GMT
Cheers Ross,

that is really nice. :)

salu2

El vie, 16-09-2005 a las 00:04 +0100, Ross Gardler escribió:
> Thorsten Scherler wrote:
> > On Thu, 2005-09-15 at 11:52 +0100, Ross Gardler wrote:
> > ....
> > 
> >>As things are today it is not possible to have dependencies between 
> >>plugins. However, Daniel (from Cocoon) showed me how we can use a 
> >>feature of Cocoon blocks (wiring.xml) to manage ingheritance between 
> >>plugins.
> >>
> >>In other words we can write a docbook plugin that extends the XHTML 
> >>plugin. It will use the docbook stylsheets to convert to XHTML and then 
> >>the XHTML plugin to convert to our internal format. I've not found a use 
> >>case strong enough for me to take the time to implement this yet, 
> >>however, if anyone wants to tackle it I'll be happy to pass on what 
> >>Daniel showed me.
> > 
> > 
> > Please show us, I would be very interested.
> 
> The "technical side" is really easy. What I haven't thought through yet 
> is how to define the dependencies within the plugins.xml file. That is, 
> if the docbook plugin depends on the XHTML plugin, how do we ensure that 
> the plugin install system downloads and installs both of them when we 
> only define the Docbook plugin.
> 
> Of course, the first instance could rely on the user adding the 
> dependencies.
> 
> For the techincal stuf take a look at wiring.xml [1]
> 
> This file describes the relationship (wiring) between three blocks 
> test1id, test2id and test3id.
> 
> test1id is connected to test2id
> test3id is connected to test1id
> 
> Now look in the sitemaps for these blocks. In the sitemap for test1 you 
> will see a match like this:
> 
>        <map:match pattern="test2">
>          <map:generate src="block:test2:/test"/>
>          <map:serialize/>
>        </map:match>
> 
> The "block:test2" protocol makes a request on test2 (note this is the 
> name of the connection identified in wiring.xml)
> 
> You can see other examples of the use of connections in the various 
> sitemaps. The best way to explore is actually to run the tests and look 
> at what happens with the various requests.
> 
> Daniel talked me through this stuf at Apachecon so if you have questions 
> try asking here first. I don;t guarentee I know the answers but I've not 
> played with this stuf yet so in exploring the answers I'll learn plenty.
> 
> Ross
> 
> [1] 
> http://svn.apache.org/viewcvs.cgi/cocoon/trunk/src/test/org/apache/cocoon/test/components/blocks/wiring.xml?view=markup


Mime
View raw message