cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Conal Tuohy" <Conal.Tu...@vuw.ac.nz>
Subject RE: accessing the pipeline structure
Date Fri, 10 Sep 2004 02:28:29 GMT
Jorg Heymans wrote:

> Recently there were 2 requests on the users list about accessing the 
> current pipeline structure.

<snip/>

> Having this extra metadata would allow for components that 
> can produce 
> different output depending on how they are used in a pipeline 
> (but this 
> probably breaks a few cocoon design rules right?). 

It certainly creates the _potential_ for components to be horribly tangled up with the pipelines
that contain them. 

<snip/>

> Thoughts? Is this difficult to implement? A 2.2 feature perhaps?

I don't know about the use cases presented on the user list, but I know another use case is
for debugging and maintenance people to have direct access _from a Cocoon-produced resource_
to the pieces of the pipeline that produced it. In this scenario the final output contains
a bunch of hyperlinks to the resources (content, transforms, stylesheets, etc) which can be
used to get quick access to edit one of these sources.

As an experiment I implemented this for some pipelines using XML processing instructions.
Each pipeline component adds a PI to the SAX stream to identify itself (a signature), and
at the end a transformer can convert them into HTML <link> elements or similar. NB this
is totally different to (the inverse of) the use of PIs embedded into a source XML file to
specify an XSL transformation. It wasn't very convenient to add each PI at each stage, but
it seemed to me that the pipeline processor could certainly maintain this metadata more easily,
and make it available to components when needed. Perhaps a special pipeline processor could
keep track of the pipeline, and use a special transformer which is "pipeline aware" ("InsertPipelineMetadataTransformer")
to insert this metadata into the pipeline only when needed.

Cheers

Con

Mime
View raw message