Subject: RE: encoding problem
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Mon, 12 Apr 2004 22:33:00 +0100
|
There's a problem in the specs here. The href attribute is required to be a
legal URI Reference, and to ensure this, the XSLT serialization spec
requires that the "_" is encoded as %C3%9F. But no similar encoding is
applied to the name or id attribute of the anchor (and it would be illegal,
at least in XHTML, because % is not allowed in an NCName); and some browsers
at least won't match a %C3%9F in the fragment identifier of the href URI to
a "_" in the name attribute.
I think what this means in practice is that it's unsafe to use non-ASCII
characters in the names of HTML anchors.
Michael Kay
> -----Original Message-----
> From: Daniel Purucker [mailto:dpu@xxxxxxxxxxxxxxxxxx]
> Sent: 12 April 2004 13:17
> To: xsl-list mulberry
> Subject: encoding problem
>
> Hi,
>
> i think i've got a kind of encoding problem. Hope somebody can help
> me...
> I'm creating an html-combobox through xslt, for navigating the output
> html-file.
> The user chooses a value, clicks the button and jumps to the anchor.
> Everything works fine, until the value includes an "_" (as seen eg in
> the german: gro_britannien)
>
> This is the code, which creates the link in the combo-box
>
> <xsl:element name="option">
> <xsl:attribute name="value">
> <xsl:text>#</xsl:text><xsl:value-of select="."/></xsl:attribute>
> <xsl:value-of select="."/>
>
> The HTML-Output is eg: #Gro_britannien
>
> And this code produces the anchor-tag. Here the HTML-Output is a
> different one. In this case it's HTML-Output is: #Gro%C3%9Fbritannien
> So it's obvious the link from above doesn't find a corresponding
> anchor...
>
> <a>
> <xsl:attribute name="name">
> <xsl:value-of select="./text()"/>
> </xsl:attribute>
> <xsl:attribute name="class">Modellstyle</xsl:attribute>
> <xsl:value-of select="./text()"/>
> </a>
>
>
>
> Any ideas? Thanx in advance, Daniel
|