私の問題を説明するために、少しコンテキストを説明します。
私はこのような1つのxmlファイルと1つのxslファイルを持っています:
data.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="overview.xsl"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
</catalog>
およびoverview.xsl:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Firefoxでdata.xmlを開くと、すべてが正常で、希望どおりに機能します。ここで、CDカタログを2回表示したいと思います。1つのビューは「概要」であり、もう1つは「拡張」です。つまり、2つの異なるxslが必要です。
私はこれを試しました:
view1.xml:
<?xml-stylesheet type="text/xsl" href="overview.xsl"?>
<xml-file href="data.xml" />
view2.xml:
<?xml-stylesheet type="text/xsl" href="extended.xsl"?>
<xml-file href="data.xml" />
そして私はこの行を削除しました:
<?xml-stylesheet type="text/xsl" href="overview.xsl"?>
data.xmlから
view1.xmlを読みながらoverview.xslでCDカタログを読み、view2.xmlを読みながらextended.xslの形式で同じCDカタログを読みたいと思っていました。
しかし、それは部分的にしか機能しません。どういうわけか私のoverview.xslはもうノードを見つけることができません。タイトルがabhtmlテーブルのWebページを取得しましたが、データがありません。私は、私は変更する必要があると思います:
<xsl:for-each select="catalog/cd">
他の何かに。何か考えはありますか?
情報として、私は別のxslファイルをロードするためにjavascriptを使用せずにこれを行おうとしています。
ご協力いただきありがとうございます。ジュリー