RE: [xsl] U+0007

Subject: RE: [xsl] U+0007
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 22 Jan 2010 00:21:31 -0000
#7 is a legal character in XML 1.1, but not in XML 1.0. You can output it in
Saxon if you enable XML 1.1 by (a) using the -xmlversion:1.1 switch on the
command line or the equivalent in the Java API.

Alternatively, you can output characters that are disallowed in XML by using
the processing instruction

<xsl:processing-instruction name="hex.ascii" select="'07'"/>

together with <xsl:output saxon:recognize-binary="yes"/>

#7 is actually the BEL character - in my youth, if you sent it to a
teletype, it rang the bell (a real bell, not just an electronic beep). Using
it to mean "indent to here" seems to be code abuse.

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay  

> -----Original Message-----
> From: Imsieke, Gerrit, le-tex [mailto:gerrit.imsieke@xxxxxxxxx] 
> Sent: 21 January 2010 23:58
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] U+0007
> 
> Dear List Members,
> 
> I need to output <xsl:text>&#7;</xsl:text> for InDesign (see
> http://www.indiscripts.com/blog/public/data/idcs4-special-char
> acters/en_InDesignCS4SpecialChars.pdf#page=2
> -- it's the 'Indent to Here' metacharacter).
> 
> Saxon or rather the parser tells me:
>    SXXP0003: Error reported by XML parser: Character 
> reference "&#7" is an invalid XML character.
> 
> But http://www.fileformat.info/info/unicode/char/7/index.htm 
> tells me that's a Unicode character, and so does 
> http://www.unicode.org/charts/PDF/U0000.pdf.
> 
> &#9; is no problem at all, for example.
> 
> Wil xsl:character-map help in some way?
> 
> Any help appreciated.
> 
> Gerrit

Current Thread