重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

初歩的な質問でごめんなさい。

XSLTを使って複数のXMLを検索した結果を、表示したいのですが、結果を1つのテーブルに統合するにはどうすればいいのでしょう。

次のスクリプトを基に作りたいのですが。
function search (keyword) {
node = thexsl.XMLDocument.selectSingleNode("//xsl:for-each");
if(keyword)
node.setAttribute("select",
"//data[contains(word, '" + keyword + "')]");
else node.setAttribute("select", "//data");
str = thexml.XMLDocument.transformNode(thexsl.XMLDocument);
view1.innerHTML = str;
}

次のファイルを利用して検索したいです、
<xml id="thexml1" src="db1.xml"></xml>
<xml id="thexml2" src="db2.xml"></xml>
<xml id="thexml3" src="db3.xml"></xml>
<xml id="thexsl" src="db.xsl"></xml>

xmlファイルの内容
<?xml version="1.0" encoding="utf-8" ?>
<dataroot xml:lang="ja">
<data>・・・</data>
 ・・・
</dataroot>

xslファイルの内容
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<table>
<tr>・・・</tr>
<xsl:for-each select="//data">
<tr>・・・</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>

よろしくお願いします。

A 回答 (1件)

ちょっと状況が良く判りませんが、


1つのファイルのXSLTが
<xsl:for-each select="//data">
でできるなら
<xsl:for-each select="//data|document('db2.xml')//data">
のようにまとめて処理することが可能です。
    • good
    • 0

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