How about if you provide a trax wrapper to your
non-trax processor? The system property can be set to
ythe wrapper...

GOF Adapter pattern...

--- Richard Cook <[EMAIL PROTECTED]> wrote:
> Hello,
> 
> According to the xalan docs, TrAX is independent of
> XSLT - ie not tied to
> only performing transformations using xslt. We have
> a processor which is
> indeed not XSLT, but we also need to support XSLT.
> With TrAX, the user calls
> TransformerFactory.newInstance(), which uses a
> system property
> javax.xml.transform.TransformerFactory to determine
> which concrete class to
> instantiate.
> 
> The problem is that subsequently from this piece of
> code:
> 
>    Transformer transformer =
> factory.newTransformer(Source)
> 
> We want:
>   If the Source is an XSLT stylesheet, to use an
> XSLT processor (xalan etc)
>   If the Source specifies instructions our processor
> handles, we want to use
> our processor.
> 
> We have an implementation of Source which specifies
> the location of our
> instructions, so distinguishing from StreamSource
> etc is no problem at this
> level.
> 
> But the single system property which determines
> which TransformerFactory
> implementation means that if we use our
> implementation, we don't know which
> XSLT processor the user wants.
> 
> Does that make sense?
> 
> Options we have:
>   Use TransformerFactory.newInstance() for XSLT, use
> normal constructor for
> our processor
>   TransformerFactory.newInstance() returns our
> implementation, we define our
> own system property for the XSLT implementation.
> This would mean that people
> using the default processor rather than the system
> property would presumably
> find their code stops working.
> 
> 
> 
> (Apologies that this is not xalan specific, is there
> a better place to ask
> the question?).
> 
> Thanks, Rich
> 


__________________________________________________
Do You Yahoo!?
Send your FREE holiday greetings online!
http://greetings.yahoo.com

Reply via email to