アプリ版:「スタンプのみでお礼する」機能のリリースについて

かなり膨大なCSVファイル群をXML化して、XSLT等で様々な条件指定で抽出できるようにしたいのですが、その場合、ソースとなるXMLファイルは複数にちらばっていても大丈夫なのでしょうか(RDBMSのテーブル群のようなイメージです)?それとも一つのファイルになっていないとダメなのでしょうか?どなたかご教示お願いいたします。

A 回答 (3件)

xslは、xmlのデータの表示方法をいろいろ指定することはできますが、データベースの操作のように、xslの処理で、あっちのxmlからデータを取ってきたり、こっちのxmlからデータをとってきたりは出来ないでしょう。


xslとxmlだけで行うなら、条件指定で抽出したいデータは、一つのxmlにすべて持っている必要があります。

他のプログラムで、複数のxmlから抽出結果だけのxmlを作るとかすれば、なんでもアリなので、それぞれのxmlをテーブルのように扱えると思います。
    • good
    • 0

>docrootのところに複数あるxmlファイルのパスを書き込むイメージでしょうか?


はい、そのつもりです。もちろん全体としての構造はDTDに適うものでなければなりませんけど・

<!ENTITY data1 SYSTEM "data1.xml">
<!ENTITY data2 SYSTEM "data2.xml">
<!ENTITY data3 SYSTEM "data3.xml">

として
<docroot>
&data1;
&data2;
&data3;
</docroot>
の様にして合体できると思います
    • good
    • 0

意味を勘違いしてるかもしれませんが、複数のXMLファイルを1つのXMLファイルとしてXMLファイルから取り込むことができるかと言えばできます。


例えば、
<?xml version="1.0" encoding="Shift-JIS" ?>

<!-- スタイル -->
<?xml-stylesheet type="text/xsl" href="namebookHTML.xsl"?>

<!-- 文書宣言 -->
<!DOCTYPE docroot SYSTEM "namebook.dtd"
[
<!ELEMENT docroot (namebook)>
<!ENTITY data SYSTEM "namedata.xml">
]
>

<!-- 本文 -->
<docroot>
&data;
</docroot>
のようにして、まとめのXMLファイルから実際のデータファイルであるXMLファイルを読み込むことができます。
結局最終的に読み込んで1つのまとまりとしてDTDに合っていればよくて、その中の部分は、XSLTで抽出は必要なレベルで取り出せばいいと思います。
    • good
    • 0
この回答へのお礼

お礼が遅くなって大変失礼いたしました。ご回答誠にありがとうございます。
docrootのところに複数あるxmlファイルのパスを書き込むイメージでしょうか?

お礼日時:2005/08/08 17:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!