Hi Tim,
Just to clarify, is the following summary of the problem correct?
You have an XSL stylesheet which is intended to generate HTML output.
The original text representation of the stylesheet contains <td></td>
nodes intended for inclusion in the (html) output of the xsl
translation. However, for some reason you need to parse the stylesheet
then reserialise the stylesheet, and this process is mapping the td pair
into <td/>.
The stylesheet still works OK, right? Whether a stylesheet contains
<td/> or <td></td>, it still creates a single node in the DOM or SAX
output which is serialised as one or two tags depending on whether the
stylesheet output method is html or xml.
I gather, therefore, that you just don't like the "look" of your
reserialised stylesheet.
I don't believe that either xalan or xerces' serialiser functionality
allows you to serialise XML with some/all nodes in "split" format. Nor
do I think it terribly likely that a patch for this would be accepted,
though I am not a xerces/xalan developer - I just don't see much demand
for this.
If you really want to see <td></td> instead of <td/>, perhaps you can
post-process the serialised output? This would seem reasonably easy &
safe to do. Or maybe you should just avoid parsing/reserialising your
stylesheet...
Regards,
Simon
On Sat, 2003-02-01 at 08:08, Tim Cronin wrote:
> I still have a problem.
>
> I'm not trying to Transform xml with XSL
>
> I have a Stylesheet (xsl) loaded into a dom.
>
> I need to write the dom to a string to store it in a DB
>
> I'm using the following to convert to String
>
> public static String toString
> (
> Document doc,
> boolean indent
> ) throws TransformerException
> {
> StringWriter sw = new StringWriter();
>
> Transformer transformer =
> TransformerFactory.newInstance().newTransformer();
> transformer.setOutputProperty("method", "xml");
> transformer.setOutputProperty("omit-xml-declaration", "yes");
> if (indent)
> {
> transformer.setOutputProperty("indent", "yes");
> }
>
> transformer.transform(new DOMSource(doc.getDocumentElement()), new
> StreamResult(sw));
>
> return sw.toString();
> }
>
>
> when I dump the string to system.out
> the empty <td></td> get collapsed to <td/>
>
> is there a way to stop this?
>
> -----Original Message-----
> From: Joseph Kesselman [mailto:[EMAIL PROTECTED]
> Sent: Friday, January 31, 2003 1:05 PM
> To: xalan-j-users
> Subject: RE: transform collapsing Element
>
>
> I've lost track -- are you now OK (set the output to "html" if you don't
> want xml-style representation of empty elements), or do you still have a
> problem?
>
> ______________________________________
> Joe Kesselman / IBM Research
>