[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

GOTCHA!

Subject: GOTCHA!
From: "Oren Ben-Kiki" <oren@xxxxxxxxxxxxx>
Date: Tue, 12 Jan 1999 20:29:22 +0200
gotcha
For all those who are fighting against the restriction that XSL processors
will emit only valid XML, here's a way out which works at least for XT. I'd
be very interested to know whether it works in other processors and whether
it is a valid trick (it probably isn't).

Suppose you have a rule which goes:

<xsl:template match="...">
<xsl:comment> --&gt;
Whatever I damn please, including &lt;, &amp;!!!
&lt;!-- </xsl:comment>
</xsl:template>

Running this through XT will emit:

<!-- -->
Whatever I damn please, including <, &!!!
<!-- -->

Several notes:

- People who want to generate character entities can do:

<xsl:comment> --&gt;&amp;nobs;&lt;!-- </xsl:comment>

Which will be converted to:

<!-- -->&nobs;<!-- -->

Wrapping this in a CharacterEntity macro is left to the reader :-)

- Suppose I gave up the "--&gt;" and "&lt!--" in the template. I'd still get
whatever I please, but it would be contained in an XML comment, and the
output would be valid XML. I assume this was the original intent. The fact
that XT hasn't caught it is probably a bug that James will be quick to fix
:-)

- This is actually good enough for me, since the non-XML output I want to
generate is JavaScript code inside HTML documents, and the following is
valid, thanks to old browsers which don't know JavaScript:

<SCRIPT>
<!--
Any JavaScript code. In JavaScript "<!--" starts a comment just until the
end of the line.
// -->
</SCRIPT>

So even if James or the W3C plugs this hole, it is still possible to
generate legal JavaScript code, with "<", ">", "&", and so on.

- This can be adapted to any language which has any comment mechanism: for
example:

// <!--
Any C++ or Java code
// -->

# <!--
Any perl or shell code
# -->

And so on.

Isn't this fun?

    Oren Ben-Kiki.


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


Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.