I次のマークアップ、1つのまたは2つの子のTDXPath式は、その子に基づいて、兄弟満たす状態まで、ノードの兄弟に合わせて
<table>
<tr>
<td>
<p>XXX</p>
</td>
</tr>
<tr>
<td>
<p>YYYYYY</p>
</td>
<td>
<p>YYYYYY</p>
</td>
</tr>
<tr>
<td>
<p>YYYYYY</p>
</td>
<td>
<p>YYYYYY</p>
</td>
</tr>
<tr>
<td>
<p>YYYYYY</p>
</td>
<td>
<p>YYYYYY</p>
</td>
</tr>
<tr>
<td>
<p>XXX</p>
</td>
</tr>
<tr>
<td>
<p>YYYYYY</p>
</td>
<td>
<p>YYYYYY</p>
</td>
</tr>
<tr>
<td>
<p>YYYYYY</p>
</td>
<td>
<p>YYYYYY</p>
</td>
</tr>
<tr>
<td>
<p>XXX</p>
</td>
</tr>
<tr>
<td>
<p>YYYYYY</p>
</td>
<td>
<p>YYYYYY</p>
</td>
</tr>
<tr>
<td>
<p>YYYYYY</p>
</td>
<td>
<p>YYYYYY</p>
</td>
</tr>
</table>
とのTRのミックスを持つテーブルを持っています
は、私は、これはXSLTでネストされたループ、何のXPath式に入れるにアプローチする最良の方法におそらくであるという事実から抽象化
<AAA>
XXX
<BBB>YYYYY</BBB>
<BBB>YYYYY</BBB>
...
</AAA>
<AAA>
XXX
<BBB>YYYYY</BBB>
<BBB>YYYYY</BBB>
...
</AAA>
...
にこれを変換するXSLT 1.0を使用しようとしています?次のTR(XXX)まで2つのTD子を有する現在のTR(XXX)のすべてのTR兄弟を選択する。私はXXXとYYYYYを含むノードをどれだけのTD子供がいるかに基づいて区別しています。 1 = XXX、2 = YYYYY。
<xsl:for-each select="//table/tr">
<xsl:if test="count(td) = '1'">
XXX
</xsl:if>
<xsl:for-each select="???">
all YYYYY up until the next XXX
</xsl:for-each>
</xsl:for-each>
私が持っている「次-兄弟:: TR [子を:: TD [次-兄弟:: TD】」それはすべての終わりにYYYYYと、次の一致する - どのように私はそれだけでそれらを選択しますかXXXの次のTRまでは?
ありがとうございます!
本当に徹底的な答えを、そんなにありがとう:
別のアプローチは、条件に一致する最初のノードのためのシーケンスを検索し、その位置までのノードを選択するために、サブシーケンスを()を使用することです! – WojtekD
@WojtekD:どうぞよろしくお願いいたします。 –