[xsl] Binary characters in XML

Subject: [xsl] Binary characters in XML
From: Neil Smith <neil@xxxxxxxxxxxxxxx>
Date: Mon, 30 Jun 2003 11:15:55 +0100
You will need to encode the binary data as Base-64 data, and un-encode it for use. Base 64 is guaranteed to produce only text characters.


XML does not support inline binary data, as it can contain illegal (for XML) characters which break the parser. The parser is *required* not to parse the document if it contains such charcters, and there is no way you can do it the way you are trying.


HTH
Neil Smith.


Date: Sat, 28 Jun 2003 23:38:17 -0500
From: "Michael Leung" <mmhleung@xxxxxxxxxxxxx>
Subject: [xsl] Binary characters in XML

Hi,

I am trying to transform an XML document:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="bin.xsl"?>
<doc>
<binary>
&#x01;&#x02;&#x03;&#x04;&#x05;&#x06;&#x07;&#x08;&#x00;
</binary>
</doc>

into a binary file with the contents being the value of
the binary element in the above using the following
XSLT stylesheet:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:output encoding="utf-8" />


<xsl:template match="binary">
<xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>

I tried using MSXSL from Microsoft and I got an "Invalid unicode character" error.

I also tried using Saxon and I got an "illegal XML character &#x1;" error.
In IE, those characters are displayed as rectangles ().

I wonder why the XSLT processors are complaining about these
characters and I wonder if it is possible to carry out such a
transformation.

Many thanks,
Michael.
- --
__________________________________________________________
Sign-up for your own FREE Personalized E-mail at Mail.com
http://www.mail.com/?sr=signup


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


Current Thread