transform() fails for DOMSource but succeeds for StreamSource 2003-08-18 - By Dave Flanagan
Had originally sent the response shown below detailing the problem he was having - but it did not make it to the userlist when I sent the response - here it is again if any one was interested in what what happening
Dave Flanagan
Michael - making one of two changes should correct the problem you are experiencing: Solution #1: Instead of dealing with the Document Element of the source which you are obtaining with the following line: Element docRoot = db.parse(inName).getDocumentElement(); change it to Document docRoot = db.parse(inName); ------- Solution #2: If no change to your java code is desired then in the stylesheet change <xsl:template match="/files"> to <xsl:template match="files">
Dave Flanagan
----- Original Message ----- From: "Joseph Kesselman" <keshlam@(protected)> To: <xalan-j-users@(protected)> Sent: Monday, August 18, 2003 10:16 AM Subject: Re: transform() fails for DOMSource but succeeds for StreamSource
> > > > > I strongly suspect you've misdiagnosed the problem, and your glitch is tied > to the use of a DOMResult rather than a DOMSource. > > When outputting to a DOM Document, your generated document *must* meet the > DOM's well-formedness requirements -- single root element, no text nodes > outside that root element, etc. If you violate those constraints, the DOM > will throw a HIERARCHY_REQUEST_ERR. > > I haven't analysed your testcase in detail, but if my guess is right your > options are: > > 1) Fix the stylesheet to produce a well-formed XML document. > > 2) Output to SAX rather than DOM, since SAX doesn't enforce as many of the > well-formedness constraints. > > 3) If you really need DOM and really something other than a well-formed > document, you could try wrapping the DOMResult around a DocumentFragment > rather than a Document. That would permit multiple top-level elements and > text at the top level; depending on exactly what the system is complaining > about, that might be enough to get you over the hump. > > ______________________________________ > Joe Kesselman, IBM Next-Generation Web Technologies: XML, XSL and more. > "The world changed profoundly and unpredictably the day Tim Berners Lee > got bitten by a radioactive spider." -- Rafe Culpin, in r.m.filk > >
|
|