- ベストアンサー
value-ofの値を属性値とするには
- XSLファイル内で、value-ofの値を属性値とする方法を教えてください。
- XSLファイル内で、value-ofの値を属性値とする方法について教えてください。
- XSLファイル内で、value-ofの値を属性値とする方法を教えてください。構文エラーが発生しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> とありますが、これはバージョンが古いから"{","}"が使えないだけかもしれませんね。 そのままのバージョンで使うなら <xsl:element name="a"> <xsl:attribute name="href"><xsl:value-of select="@href" /></xsl:attribute> こちら </xsl:element> などとするといいようです。 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 私が使っているバージョンなら"{","}"は使えていますよ。
その他の回答 (1)
- nonchi
- ベストアンサー率43% (16/37)
<input name="UserID" type="hidden" value="{@ID}"/> ではないですか?
補足
{@ID}は思いついたのですが何故か“{@ID}”とそのまま表示してしまうんです。 設定の問題なのでしょうか… ソースを丸投げします(不本意ですが…) ↓link.xsl内容 <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <html> <head> <meta content="text/html; charset=shift_jis" http-equiv="Content-Type"/> <title><xsl:value-of select="/Table/@title"/></title> </head> <body style="font-size: 10pt" topmargin="0"> <xsl:apply-templates select="Table/Data"/> </body> </html> </xsl:template> <xsl:template match="Data"> <table border="1"> <caption> <xsl:value-of select="@caption"/> </caption> <xsl:for-each select="Anchor"> <tr><td> <a href="{@href}">←★ <xsl:value-of select="@href"/>←☆ <xsl:value-of select="@name"/> </a> </td></tr> </xsl:for-each> </table> <hr/> </xsl:template> </xsl:stylesheet> ↓data.xml内容 <?xml version="1.0" encoding="Shift_JIS"?> <?xml-stylesheet type="text/xsl" href="link.xsl"?> <Table title="タイトル"> <Data caption="その1"> <Anchor href="http://www.kaa.ne.jp" name="かぁ"/> <Anchor href="http://www.kii.ne.jp" name="きぃ"/> <Anchor href="http://www.kuu.ne.jp" name="くぅ"/> <Anchor href="http://www.kee.ne.jp" name="けぇ"/> <Anchor href="http://www.koo.ne.jp" name="こぉ"/> </Data> <Data caption="その2"> <Anchor href="http://www.gaa.ne.jp" name="がぁ"/> <Anchor href="http://www.gii.ne.jp" name="ぎぃ"/> <Anchor href="http://www.guu.ne.jp" name="ぐぅ"/> <Anchor href="http://www.gee.ne.jp" name="げぇ"/> <Anchor href="http://www.goo.ne.jp" name="ごぉ"/> </Data> </Table> ★でのリンク先が{@href}になってしまう。 ’<input type="hidden">でなくとも{@**}指定は全て。 ☆ではきちんとXMLからデータを取ってきている。 です、宜しくお願いいたします。
お礼
ご指摘のとおりだと思います。 ただ、<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> を使用すると表自体が出ませんで… <xsl:element name="a"> <xsl:attribute name="href"><xsl:value-of select="@href" /></xsl:attribute> こちら </xsl:element> を使用し、いずれ{@**}を使おうと思います。 とりあえずは、http://www.w3.orgの中をさまよってみます。 回答本当にありがとうございました。