Hi Edward,
One possibility is to use a series of threads and PipedxxxStreams.  I'll
defer to the gurus as to the plan's advisability:

1) Create a subclass PipedOutputStream to write to a separate file
location as well as its normal location.
2) Link your subclass with a PipedInputStream.  Create a StreamResult
that uses your subclass. Create a StreamSource that uses the
PipedInputStream.
3) Start a thread that will contain the first transformation.  It's
Result should be the StreamResult you created in Step 2.
4) Start another transformation thread whose Source is the StreamSource
you created in Step 2.

Error handling can get complex because not only can either
transformation can throw errors, but stopping either transformation can
cause errors in the other thread.  It is difficult to decide which is
the "source" error.



-----Original Message-----
From: Edward L. Knoll [mailto:[EMAIL PROTECTED] 
Sent: Friday, August 27, 2004 9:20 AM
To: '[EMAIL PROTECTED]'
Subject: Xalan-J : Transformation chaining question.


We are chaining some XSL transformations together with the primary goal 
of serializing an intermediate (XML) product to a file to optimize 
optional/future processing.   I've looked at the Pipe and UseXMLFilters 
examples, however, I don't see how I can split/copy the output of an 
intermediate stage, so I can both (a) serialize it to a file and (b) 
performance an additional transformation on it.

I've tried using DOMSource and DOMResult classes, but I haven't figured 
out how to turn a DOMResult into a DOMSource (if that's even doable).

Does anyone have recommendations/experience regarding whether this can 
be accomplished and, if so, how?

Thanks,
Ed Knoll

-- 
Edward L. Knoll   Phone (FedEx)     : (719)484-2717
                  e-mail (FedEx)    : [EMAIL PROTECTED]
                  e-mail (personal) : [EMAIL PROTECTED]


Reply via email to