cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Turner <>
Subject InspectableSources and InputModules (Re: [RT]: Dynamic variables in the Sitemap / Input Modules revisited)
Date Thu, 09 Jan 2003 12:54:19 GMT
On Thu, Jan 09, 2003 at 12:23:42PM +0100, Stephan Michels wrote:
> From Bugzilla:
> > While the transformer I've implemented happens to rewrite links, this
> > transformer could be generalized to transform any part of the incoming
> > XML. For
> > example, we could rewrite any occurrence of ${scheme:address} in the
> > source XML.
> This could be very useful. I have the following problem, because of
> the depending of the DirectoryGenerator to, I have written
> an equivalent, which used TraversableSource IF, the
> SourceDescriptionGenerator. Then I saw the inherited Generator classes
> like ImageDirectoryGenertor or MP3DirectoryGenerator etc. So my conclusion
> was to find something more universal, which
> 1) Get the source
> 2) Retrieve a source depended property, like image height and width
> 3) Make a XML description
> As result I got a SourceInspector.
> And on the other hand I have Sources, which got common properties, and
> I created a InspectableSource.
> Now, to come to the 'Dynamic variables' discussion I want to merge
> these concept with the modules. For the first case, I thought about
> something like this
> 1) <map:generator type="directory" src="dir/"/>
> 2) <map:transformer src="getImageProbs.xsl"/>
> 3) <map:transformer type="module"/>
> to 1)
> <source name="dir" collection="true">
>  <source name="file.xml"/>
>  <source name="file.jpg"/>
> </source>
> to 2)
> <source name="dir" collection="true">
>  <source name="file.xml"/>
>  <source name="file.jpg" height="${jpg:height}" width="${jpg:width}"/>
> </source>
> to 3)
> <source name="dir" collection="true">
>  <source name="file.xml"/>
>  <source name="file.jpg" height="400" width="300"/>
> </source>

I don't know if I've fully understood..

Would it be correct to say you're looking for a generic way to augment a
DirectoryGenerator's output with file metadata?

Forrest needs this too, to generate output like:

<source name="dir" collection="true">
 <source name="index.xml" dc:title="Index" dc:author="Joe Bloggs"/>
 <source name="primer.xml" dc:title="Forrest Primer" dc:author="Steven Noels"/>
 <source name="linking.xml" dc:title="Menus and Linking" dc:author="Jeff Turner"/>

Why not have the SourceDescriptionGenerator do:

for (each file in the directory):
if (source instanceof InspectableSource) {
    sourceProperty = source.getSourceProperties(),
    createNewXMLAttribute(sourceProp.getName(), sourceProp.getValue());

Then you'd automatically get attributes for any file metadata that is
made available by the InspectableSource.

> It could work similar with the common properties using the
> InspectableSource.

Yes, there seems a natural tie-in between InspectableSources and

> My problem is that I have always two parameters: the source uri
> and the property name.

How about:

<source name="dir" collection="true">
 <source name="file.xml"/>
 <source name="file.jpg" height="${jpg:file.jpg#height}" width="${jpg:file.jpg#width}"/>

Although, for your specific need, I think the InspectableSource-aware
Generator sounds simpler.  Assuming I've understood correctly.


> Any help is appreciated, Stephan Michels.

To unsubscribe, e-mail:
For additional commands, email:

View raw message