I am just coming into this thread, but couldn't you use the XSLT document
function to bring in other XML (unless I am missing the point?)?

best,
-Rob

----- Original Message -----
From: "Luke Studley" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, December 05, 2001 7:38 AM
Subject: RE: Inserting / Comining XML data


> Thanks Karl.
>
> Glad to know somebody has had similar thoughts/needs.
>
> I will try this. You're right this doesn't replace generators - but it
does
> allow you to quite easily implement some sort of "Pull MVC" model a
opposed
> to the generator push model - and will allow me to use my existing
> stylesheets mostly unchanged.
>
> Cheers
>
> Luke
>
>
> -----Original Message-----
> From: Karl Řie [mailto:[EMAIL PROTECTED]]
> Sent: 05 December 2001 12:49
> To: [EMAIL PROTECTED]
> Subject: RE: Inserting / Comining XML data
>
> > 3. Maybe I could use some sort of custom URL protocol manager like the
> > cocoon:/ and resource:/? Is it possible to supply new instances of
these?
> >
> > 4. Or I could use my URI resolvers again? Is it possible to set Custom
URI
> > solvers in C2
>
> i have found two ways to accomplish this, but it took some time to find
out,
> mostly because this is not very well documented yet... ok here we go:
>
> in the "cocoon.xconf" file there is a "source-handler" entry, you can
create
> own protocols here:
>
> <source-handler>
> <protocol name="cool"
> class="org.apache.cocoon.components.source.CoolSourceFactory"/>
> </source-handler>
>
> then you will have to create two classes called
> "org.apache.cocoon.components.source.CoolSourceFactory" and
> "org.apache.cocoon.components.source.CoolSource". they will have to
> implement "org.apache.cocoon.components.source.SourceFactory" and
> "org.apache.cocoon.environment.Source". Where the "CoolSourceFactory"
> resolves urls with cool:/some/thing.xml and creates a "CoolSource" for it.
> now you can refere to "cool:/some/thing.xml" many places in your project.
>
> BUT this didn't work for me because the
> "org.apache.cocoon.environment.Source" interface expects a
> org.xml.sax.InputSource and it delivers a characterstream or bytestream
> back, and i had a sax/dom source and i didn't want to serialize it to text
> to get it parsed again... so i snooped around some more and found this:
>
>
> again in your "cocoon.xconf" there is an entry for your default
transformer.
> i hacked mine like this:
>
> <xslt-processor
> class="org.apache.cocoon.components.xslt.KarlsXSLTProcessorImpl"
> logger="root.xslt">
> <parameter name="use-store" value="true"/>
> <parameter name="incremental-processing" value="false"/>
> </xslt-processor>
>
>
> then i created a class "called
> org.apache.cocoon.components.xslt.KarlsXSLTProcessorImpl" containing this
> (please not that i had to create it in the
org.apache.cocoon.components.xslt
> package to be allowed to extend XSLTProcessorImpl) :
>
>
> public class XonataXSLTProcessorImpl extends XSLTProcessorImpl {
> public javax.xml.transform.Source resolve(String href, String base)
> throws
> TransformerException {
> if (!href.startsWith("karl:")) {
> return super.resolve(href,base);
> }
> else {
> SAXSource source = new SAXSource( ... );
> or
> DOMSource source = new DOMSource( ... );
> or
> StreamSource source = new StreamSource( ... );
> return source;
> }
> }
> }
>
> this way i can respond and create any SAX/DOM/Stream source for any
protocol
> for the transformer, and i can use
"document('rmi://myserver/mydatachunk')"
> in my xsl documents. this does not replace a generator thou....
>
>
> i would be happy if anyone could tell me if there is an easier way to
create
> protocol handlers that can deliver SAX or DOM and not only Stream.
>
>
>
> mvh karl řie
>
>
> ---------------------------------------------------------------------
> Please check that your question has not already been answered in the
> FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
>
> To unsubscribe, e-mail: <[EMAIL PROTECTED]>
> For additional commands, e-mail: <[EMAIL PROTECTED]>
>
> ---------------------------------------------------------------------
> Please check that your question has not already been answered in the
> FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
>
> To unsubscribe, e-mail: <[EMAIL PROTECTED]>
> For additional commands, e-mail: <[EMAIL PROTECTED]>


---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail: <[EMAIL PROTECTED]>

Reply via email to