Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 16700 invoked from network); 10 Sep 2004 02:30:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 10 Sep 2004 02:30:53 -0000 Received: (qmail 71522 invoked by uid 500); 10 Sep 2004 02:30:49 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 71452 invoked by uid 500); 10 Sep 2004 02:30:48 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@cocoon.apache.org Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 71439 invoked by uid 99); 10 Sep 2004 02:30:48 -0000 X-ASF-Spam-Status: No, hits=0.1 required=10.0 tests=DNS_FROM_RFC_ABUSE X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: local policy) Received: from [130.195.86.21] (HELO terror.vuw.ac.nz) (130.195.86.21) by apache.org (qpsmtpd/0.28) with ESMTP; Thu, 09 Sep 2004 19:30:47 -0700 Received: from [130.195.85.188] (HELO coso.staff.vuw.ac.nz) by terror.vuw.ac.nz (CommuniGate Pro SMTP 3.5.9) with ESMTP id 503469 for dev@cocoon.apache.org; Fri, 10 Sep 2004 14:31:19 +1200 X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: RE: accessing the pipeline structure Date: Fri, 10 Sep 2004 14:28:29 +1200 Message-ID: <802926B6AB8533408C33ADBCA3EE5C2A138C36@coso.staff.vuw.ac.nz> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: accessing the pipeline structure Thread-Index: AcSWfg/jpKmdU13FRK6zz7tNpf11JwAXReJg From: "Conal Tuohy" To: X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Jorg Heymans wrote: > Recently there were 2 requests on the users list about accessing the=20 > current pipeline structure. > Having this extra metadata would allow for components that=20 > can produce=20 > different output depending on how they are used in a pipeline=20 > (but this=20 > probably breaks a few cocoon design rules right?).=20 It certainly creates the _potential_ for components to be horribly = tangled up with the pipelines that contain them.=20 > 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 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