次のようなかなり平らなテーブルがあります
<tr>
<td class="tableResultsA" nowrap>1</td>
<td class="tableResultsA" nowrap><A HREF="docs/123456" target="_blank">Title</A></td>
<td class="tableResultsA" nowrap>SNIPPET</td>
<td class="tableResultsA" nowrap>Date</td>
<td class="tableResultsA" nowrap>Category</td>
</tr>
<tr>
<td class="tableResultsB" nowrap>1</td>
<td class="tableResultsB" nowrap><A HREF="docs/678901" target="_blank">Title</A></td>
<td class="tableResultsB" nowrap>SNIPPET</td>
<td class="tableResultsB" nowrap>Date</td>
<td class="tableResultsB" nowrap>Category</td>
</tr>
このデータから、URL、タイトル、およびスニペットで構成されるドキュメントを作成する必要があります。
ルート結果ノードを次のように設定しました。
<scope>
<xsl:value-of select>"//td[@class='tableResultsA'][2] | //td[@class='tableResultsB'][2]"
</scope>
私のドキュメントには、次のものがあります。
<xsl:template match="//td">
<document url="{a/@href}">
<content name="title">
<xsl:value-of select="a" />
</content>
<content name="snippet">
<xsl:value-of select="//td[@class='tableResultsA'][3] | //td[@class='tableResultsB'][3]" />
</content>
</document>
</xsl:template>
問題はスニペットです。スニペット出力でまったく同じ結果が得られるため、データをトラバースしていません。私は XPath の専門家ではありません。次または次の兄弟が機能するかどうか疑問に思っていますが、それらの良い例をどこにも見つけることができませんでした。
どんな助けでも大歓迎です。