私は 2 つの XML ドキュメントを扱っており、変数が一致する場合に一方のドキュメントから他方のドキュメントに値を取得しようとしています。最初の XML ドキュメントは、次のような形式の変換されたスプレッドシートです。
<Doc1>
<row>
<cell>VA15</cell>
<cell>wr23</cell>
</row>
<row>
<cell>VA45</cell>
<cell>wr27</cell>
</row> <row>
<cell>VA78</cell>
<cell>wr24</cell>
</row>
</Doc1>
id
2 番目の XML ドキュメントは、スプレッドシートの一部と一致する要素が含まれる長いドキュメントです。
<Doc2>
<p> text text text
<id>wr23</id>
</p>
</Doc2>
xslt 変換を使用して、要素が doc1id
の a の値と一致するかどうかをテストして、前の の値を取得しようとしています。この場合、xslt 変換で「VA15」を出力したいと思います。次のコードのさまざまな順列を試してみましたが、成功しませんでした。誰かアイデアはありますか?cell
cell
<xsl:for-each select="document('Doc1.xml')//row">
<xsl:if test="/cell=//id'">
<xsl:value-of select="/preceding-sibling::cell"/>
</xsl:if>
</xsl:for-each>