xsl-list
[Top] [All Lists]

RE: encoding problem

2004-04-12 14:33:00
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(_at_)daniel-purucker(_dot_)de] 
Sent: 12 April 2004 13:17
To: xsl-list mulberry
Subject: [xsl] 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

--+------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--





<Prev in Thread] Current Thread [Next in Thread>