This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Feeding DOMs to XSLT Processors


Mark,

This is derived from my current, working code:

StylesheetRoot styRoot = null;
XSLTEngineImpl xsltEI = null;
//...
XercesLiaison xercesLiaison = new XercesLiaison();
this.xsltEI = new XSLTEngineImpl(xercesLiaison);
try
{
     this.styRoot = this.xsltEI.processStylesheet("foo.xsl");
}
catch(SAXException ex){ }

ByteArrayOutputStream byteout = new ByteArrayOutputStream();
XSLTResultTarget xsltResultTarget = new XSLTResultTarget(byteout);

//Create your DOM Document
//Document document = ...

try
{
     this.styRoot.process(this.xsltEI, document, xsltResultTarget);
}
catch(SAXException ex){ }

System.out.println(byteout.toString());


Mike....

> From: Paul Levin <plevin@bii.com>
> Date: Thu, 03 Feb 2000 13:27:20 -0500
>
> Mike,
>     Using Xerces (XML DOM implementation and parser) and Xalan (XSLT)
you
> do the following:
>
> 1) build your DOM using methods in 
org.apache.xerces.dom.DocumentImpl.
> 2) compile your XSL stylesheet, from a file, into a
> org.apache.xalan.xslt.StylesheetRoot, using
> org.apache.xalan.xslt.XSLTEngineImpl.processStylesheet().  Be sure to
> construct the XSLTEngineImpl with an
> org.apache.xalan.xpath.xdom.XercesLiaison.
> 3) apply the StylesheetRoot to the DOM using
> org.apache.xalan.xslt.StylesheetRoot.process().
> 4) the result of process() is another DOM. If your stylesheet
generated
> HTML then this DOM has HTML nodes.  process() has the ability to
render
> this DOM, or you use some other xalan class to render this DOM to
text. (I
> do not know the name of this class off-hand, because I needed to
write my
> own renderer, since I output something other than XML, HTML and
TEXT.)

If anyone has been successful with this approach, I'd appreciate seeing
the
code that does this.
I can't get this to work. I get the following error.

"DTMLiaison can not handle nodes of typeclass
org.apache.xerces.dom.DocumentImpl"

Mark Volkmann

__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://im.yahoo.com


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]