avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Mazzocchi <stef...@apache.org>
Subject Re: [RT] One Container to Rule them all
Date Thu, 27 Jun 2002 10:40:01 GMT
Peter Donald wrote:

> For example, if cocoon had a transformer X that only transformed documents
> that conformed to the "http://xml.apache.org/cocoon/announcement.dtd" then
> you could annotate the class to indicate this. If it also spat out another
> DTD you could add anotations for this via something like
> 
> /**
>   * @avalon.component
> cocoon:input-dtd="http://xml.apache.org/cocoon/announcement.dtd"
>   * @avalon.component
> cocoon:output-dtd="http://xml.apache.org/cocoon/other.dtd"
>   */
> class XTransformer implements Transformer { ... }
> 
> The cocooon container could then be extended to specially deal with such
> attributes. Cocoon could verify that the input/output is chained correctly
> and that whole sitemap once assembled is valid.
> 
> With enough annotations you could almost validate the entire sitemap prior
> to deploying it which would probably save a lot of headaches over time.

Works on paper, but not in real life.

Counterexamples: 

1) FileGenerator, where the schema of the output is bound to the
resource being parsed and it's available at runtime only.

2) XSLTTransformer, where the transforming instructions (thus the schema
constraints) are bound to the stylesheets and not the code that
interprets it. (Things change with XSLTC which is able to compile
stylesheets, but XSLTC will never be Avalon-aware anyway).

Given than the above two are by far the most used sitemap components, I
wouldn't use the above example as a feature of the new assembly
capabilities.

                                  - o -

Besides this, I like what I see and I like the goal of being able to
reuse Cocoon components (not the sitemap ones, those aren't useful
anywhere else) in other containers.

Still, I have the feeling that Cocoon should not use the same container
to handle sitemap components and the other more general components.

-- 
Stefano Mazzocchi      One must still have chaos in oneself to be
                          able to give birth to a dancing star.
<stefano@apache.org>                             Friedrich Nietzsche
--------------------------------------------------------------------



--
To unsubscribe, e-mail:   <mailto:avalon-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-dev-help@jakarta.apache.org>


Mime
View raw message