複数の実体を宣言して、
その実体の宣言を変数で行うことができないでしょうか。
honbun.xmlの中で
<TEST ID="A" />
<TEST ID="B" />
<TEST ID="C" />
yomikomi.xmlの中で
<!ENTITY contents SYSTEM "A.xml">
<!--
<!ENTITY contents SYSTEM "B.xml">
<!ENTITY contents SYSTEM "C.xml">
-->
※その都度読み込むファイル名を変える。
test.xsl
宣言↓
<!ENTITY A SYSTEM "A.html">
<!ENTITY B SYSTEM "B.html">
<!ENTITY C SYSTEM "C.html">
・
(同様に100ファイルあります。)
該当箇所↓
<xsl:template match="TEST">
<xsl:choose>
<xsl:when test="@ID='A'">
&A;
</xsl:when>
<xsl:when test="@ID='B'">
&B;
</xsl:when>
<xsl:when test="@ID='C'">
&C;
</xsl:when>
</xsl:choose>
</xsl:template>
上記のような実体参照となり、
これなら普通に動作するのですが、
全部で100ファイルほどhtmlがあるので、
それをhonbun.xml中のIDから判定して宣言する方法が無いでしょうか。
イメージ的には
<xsl:template match="TEST">
&{@ID};
</xsl:template>
のような感じで、
TESTタグの持っているID属性をそのまま実体名として参照したいのです。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
文書エンティティを使うより、こういう場合には、
XSL のdocument関数でファイルの読込をするのが簡単です。
<xsl:template match="TEST">
<xsl:copy-of select="document(concat(@ID,'.xml'))" />
</xsl:template>
のように書けます。
どちらかというとこういう場合には
<TEST href="A.xml" />
とかの方が意味を表していて良いように思います。
このようにしておけば、
document(@href)
だけですみますしね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- システム ホームページの仕組みについて 3 2022/08/16 14:33
- HTML・CSS ブロックエディターで作りつつ、画像を挿入しつつ、画像にスタイルシートのコードを付ける方法はありますか 1 2022/08/23 18:46
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- Visual Basic(VBA) Selenium Basicの件 5 2023/04/10 20:55
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- Java java final 1 2022/06/10 22:49
- MySQL テーブル作成時のカラムについて 2 2022/08/27 21:48
- ドライブ・ストレージ HDDのチェック方法 6 2022/05/04 09:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XSLで、XMLの空タグを制御したい。
-
XMLをXSLを使いHTMLに変換した...
-
<xsl:key>とtopreceding-siblin...
-
XSL中の改行、タブを無効にした...
-
xmlのテキストにリンクを張りた...
-
XMLのHTMLへの変換 (初心者)
-
東芝のDynabookなのですがアン...
-
SNMP リンクダウンとノードダ...
-
XMLで特殊文字を扱うにはどうし...
-
xmlファイルが上手にHTMLに変換...
-
UTF-8でエンコーディングとはど...
-
XMLで要素が記述された順番に意...
-
XML、XSLTの適応エラー(IEから...
-
u_shortなどの省略した宣言につ...
-
コンテキストメニュークリック...
-
特殊記号が勝手にエスケープさ...
-
ルート要素ノードが2個ある場合?
-
ToolStripMenuItemの選択(VB)
-
VB.NETで最後フォのフォ...
-
Visual Basic .NET の識別子は...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
タグの有無の判定
-
XSLTで固定長データファイルを...
-
XSLTにてタグ名を取得する方法
-
XSLで、XMLの空タグを制御したい。
-
xmlの属性が重複しているのをx...
-
ノードの並び替え
-
XSL中の改行、タブを無効にした...
-
XMLのHTMLへの変換 (初心者)
-
xmlのテキストにリンクを張りた...
-
XMLをXSLを使いHTMLに変換した...
-
重複するものを消したい
-
空かスペースを認識させること...
-
スタイルシートを使用したXM...
-
XSLTがブラウザで表示されません。
-
XSL内でJavaScriptを記述し、Ja...
-
XMLとXSLTでリンクを張る方法
-
VBAからxml・スタイルシートを...
-
うまく表示されない
-
XML,XSL,JavaScriptの連携
-
XSLでの指定方法
おすすめ情報