- - PR -
アンカーの href に全角文字を指定すると化ける
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2001-10-07 12:04
次のように、index.xml の href 属性が全角になっていると、(ファルト/@.xmlの部分)
XSLT変換したときにアンカーのリンク先が化けて、リンク先に飛べなくなります。 これを回避する方法を教えてください。 環境:IE6.0 Win98SE // index.xml <?xml version="1.0" encoding="UTF-16"?> <?xml-stylesheet type="text/xsl" href="index.xsl"?> <authors> <author name="Ab" href="AB/@.xml"/> <author name="ファルト" href="ファルト/@.xml"/> </authors> // index.xsl <?xml version="1.0" encoding="UTF-16"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head></head> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="authors"> <h2>小説</h2> <ul> <xsl:for-each select="author"> <li><a href="{@href}"><xsl:value-of select="@name"/></a></li> </xsl:for-each> </ul> </xsl:template> </xsl:stylesheet> |
|
投稿日時: 2001-10-23 16:36
調べたところ、URIにはUS-ASCIIのうち印刷可能な文字しか含めてはいけないらしく、
xsltが日本語を%xxの形式に変換するのは正しい振る舞いのようです。 この形式を解釈できないIEに問題があるのでしょうか? とりあえず、<xsl:output method="xml"/> をxslスタイルシートに指定すると、 URIが変換されず、そのままIEで読めました。 でも、これって正しいHTML文書じゃないんでしょうね。 参考文献 Non-ASCII characters in URI attribute values [ メッセージ編集済み 編集者: ocean 編集日時 2001-10-27 15:48 ] |
1