[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: inserting HTML comments
Hi All, An update on the situation: I've tried a few different XSL processors to see whether any of them handles this <PRE> situation correctly. Here's the result: 1. Xalan-C++ 1.8: The whole solution works (all my various templates are processed as expected) except for this tiny little bug with the <PRE> tags. 2. Libxslt 1.1.12: Two problems: - it inserts newlines into the output as Xalan (as a matter of fact Libxslt inserts even more...) - it simply skips my apply-templates directives (these have a parameter passed, but AFAIK that's valid) 3. Sablotron 1.0.1: Completely broken. Cannot even pass a Windows path as an input parameter to the stylesheet. (All the others handled at least this well.) 4. MSXSL 4.0: Guess what? It works! Surprise... Too bad that I need a processor which works on Mac OS X also. 5. Saxon: Haven't tried, since it's written in Java and I don't want to include a JVM in the solution. It looks like I'll have to contact the Xalan developers, and hope that they are willing to help me in time. BTW: AFAICT all my stylesheets are XSLT 1.0 conformant. Is there a tool to check this? Regards: Andras Babos. > -----Original Message----- > From: Babos, Andras [mailto:ababos@xxxxxxxxxxxxx] > Sent: 2004. november 2. 16:31 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: inserting HTML comments > > Hi All, > > I seem to have a problem with inserting HTML comments in the HTML output > of an > XSL transformation. > > The problem description is as follows: > 1. I have an XML file from which I generate the HTML output. > (source.xml) > 2. In the XSL file I have a template which contains something like this: > > <PRE> > <B> > <xsl:text>some text node </xsl:text> > </B> > <xsl:call-template name="insert-anchor"> > <xsl:with-param name="anchor" select="someNode"/> > </xsl:call-template> > </PRE> > > 3. and the insert-anchor template looks something like: > > <xsl:template name="insert-anchor"> > <xsl:comment> This is a comment </xsl:comment> > <A> > <xsl:attribute name="HREF"> > <xsl:value-of select="concat (string (someNode), '.html')"/> > </xsl:attribute> > <xsl:value-of select="string (someNode)"/> > </A> > </xsl:template> > > 4. I'd expect the output to look like this: > > <PRE><B>some text node </B><!-- This is a comment --><A > HREF="value-of-someNode.html">value-of-someNode</A></PRE> > > 5. but instead I get this: > > <PRE> > <B>some text node </B> > <!-- This is a comment --> > <A HREF="value-of-someNode.html">value-of-someNode</A> > </PRE> > > 6. However, if I don't insert the <B> tags around the text node, I get > this: > > <PRE>some text node <!-- This is a comment --><A > HREF="value-of-someNode.html">value-of-someNode</A></PRE> > > What I need is the comment placed _right before_ the anchor tag without > any > kind of whitespace inbetween (and of course no whitespace inserted into > a <PRE> > tag at all). > > > Some more background info: > 1. I'm using Xalan-C 1.8 with Xerces-C 2.5.0 (Windows). > 2. I do have the xsl:output element set to html and indent="yes", but > even if I > turn off the indentation, the problem persists. > 3. Of course my original templates are somewhat more comlicated than > these, but > I think the whole problem boils down to the mentioned parts. If you > think it > may help I can post a more detailed template. > > > Questions: > 1. Is this behaviour XSL inherent or XSL processor dependant? > 2. If it is the former, then how could I achieve what I'm trying to do? > > TIA: > Andras Babos.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|