
複数の実体を宣言して、
その実体の宣言を変数で行うことができないでしょうか。
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XMLを作成してもタグしか表示さ...
-
xmlファイルが上手にHTMLに変換...
-
ChatGPT excel
-
MSFormsとは何ですか?
-
ファイル名の一部削除について
-
XMLとは何ですか?
-
公文書のxmlファイルの開き方が...
-
「マクロの記録」で作成したマ...
-
白色性正規雑音とは
-
緊急 ベーシックで国旗の作り方...
-
Excel関数で、セル内の文字列の...
-
XMLサイトマップの登録方法がわ...
-
タモリさんを信じられますか?
-
自分のHTMLサイトでRSSを読み込...
-
ゲーミングPCに入っているAlris...
-
【BAT(バッチ)ファイル】Web...
-
特殊文字の検索方法
-
フォルダー内検索
-
Webページに関するさまざまな情...
-
head要素
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
タグの有無の判定
-
ノードの並び替え
-
XSLTにてタグ名を取得する方法
-
重複するものを消したい
-
XSL内でJavaScriptを記述し、Ja...
-
空かスペースを認識させること...
-
xmlのテキストにリンクを張りた...
-
XSLT変換について
-
XMLをXSLを使いHTMLに変換した...
-
XMLのHTMLへの変換 (初心者)
-
XSLTで固定長データファイルを...
-
XSL中の改行、タブを無効にした...
-
XMLからcsvへの変換
-
XSLでXMLデータをタブ区切りデ...
-
javaのTransformerでエラー
-
XSLで、XMLの空タグを制御したい。
-
xslでの最小値、最大値の取得
-
XSLTのtemplateタグで複数の名...
-
文字列の取得
-
XSLTで直下のテキストのみ取得...
おすすめ情報