A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
同様の問題に突き当たり、解決策をひとつ見つけましたので報告いたします。
> <xsl:value-of select="リスト/$変数" />
上記のような指定をしようとするときは
<xsl:value-of select="リスト/*[local-name() = $変数" />
とします。
これは"リスト"の子要素の中で名前が"$変数"であるものを指定するということだと理解しています。
いかがでしょうか。
ずいぶん昔の質問にお答えいただきありがとうございます!
近々、また組み直さなければいけなかったので助かります。
まだ、検証できていないのですが、できましたら結果報告いたします。
取り急ぎ、御礼まで。
No.1
- 回答日時:
>まず、node-setへの変換については、 他の型からnode-setに変換することはできない と定められています。
らしいです。知らなかったけどw。
http://oshiete1.goo.ne.jp/qa2593455.html
で書いた
<xsl:variable name="c" select="document('c.xml')/d"/>
が動作したんで、動作するものだと思ってました。
この記述のケースはおそらく$cにstringではなく、node-setが入ったんでしょうね・・・
<xsl:value-of select="./$hensu" />
とかやっても刎ねられました。
ギブアップです。
☆ところで、その記述の想定する動作が必要になる状況ってどんな状況ですか?今後の参考のために是非とも聞いておきたいです。なので【補足要求】で。
この回答への補足
回答ありがとうございます。
できないとわかっただけでもすっきりしました。
さて、どのような場面で使いたいかということですが、
【category.xml】
<カテゴリ>
<項目>住所</項目>
</カテゴリ>
<カテゴリ>
<項目>電話</項目>
</カテゴリ>
<カテゴリ>
<項目>メール</項目>
</カテゴリ>
【list.xml】
<リスト>
<名前>A</名前>
<住所>東京都</住所>
<電話>03-0000-0000</電話>
<メール>mail@mail.jp</メール>
</リスト>
<リスト>
<名前>B</名前>
<住所>北海道</住所>
<電話>03-1111-1111</電話>
<メール>mail2@mail.jp</メール>
</リスト>
<リスト>
<名前>B</名前>
<住所>秋田県</住所>
<電話>03-2222-2222</電話>
<メール>mail3@mail.jp</メール>
</リスト>
このような2つのxmlファイルがあったとして(実際にはもっと複雑でファイル数も多いです)
VBScriptを使ってカテゴリごとのHTMLページを作っています。
(xsl,VBScriptどちらも素人です)
例えば、住所一覧のページを作るxslでは、
<カテゴリ>
<項目>住所</項目>
</カテゴリ>
このノードに、上記【list.xml】を読み込み、処理をしています。
この時、項目にある「住所」を変数にしてxpathに使えると、
<xsl:value-of select="リスト/$変数" />
のような形で、すべての一覧ページでひとつのxslで済んでしまうと思ったのですが
残念ながらできなかったので、力技で項目名によるif文での振り分けをしています。
他の言語などでは、文字列を変数名に使ったりできると思うのですが
xslでは、結構不便なところが多いみたいですね。
何か良いアイディアがあれば教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XSLで、XMLの空タグを制御したい。
-
ノードの並び替え
-
タグの有無の判定
-
xslでの最小値、最大値の取得
-
xmlのテキストにリンクを張りた...
-
XMLのHTMLへの変換 (初心者)
-
CPUの考え方を教えてください ...
-
XMLで要素が記述された順番に意...
-
バッチファイルでテキストファ...
-
昔Winnyってありましたけど、あ...
-
あせんうぶり言語
-
VB6でXMLを作成しているのです...
-
SNMP リンクダウンとノードダ...
-
あるノードリストに、特定の名...
-
HTTPステータス 404 - There is...
-
コンテキストメニュークリック...
-
Listからのnull要素を削除方法は?
-
ルート要素ノードが2個ある場合?
-
ノードとは
-
このエラー、何とかなりません...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
XSLで、XMLの空タグを制御したい。
-
タグの有無の判定
-
XSLでXMLデータをタブ区切りデ...
-
XSLTで固定長データファイルを...
-
XSL中の改行、タブを無効にした...
-
xmlのテキストにリンクを張りた...
-
重複するものを消したい
-
XSLTがブラウザで表示されません。
-
うまく表示されない
-
文字列の取得
-
xsl:param要素をxsl:templateの...
-
value-ofの値を属性値とするには
-
XMLをXSLを使いHTMLに変換した...
-
XMLから指定テキストのみを抜き...
-
ある文字列を含むノードが存在...
-
VBAからxml・スタイルシートを...
-
xsl、xpath式の書き方について
-
XSLで特定のタグだけを出力する...
-
XSL内でJavaScriptを記述し、Ja...
-
XSLTで直下のテキストのみ取得...
おすすめ情報