나는 다음과 같은 마크 업, 하나 또는 두 아이 TDS에XPath 표현식은 아이에 따라 형제 이행 조건까지, 노드의 형제 자매와 일치하는
<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>
와 거래 정보 저장소의 믹스와 함께 테이블이
나는이 XSLT에서 중첩 루프, 어떤 XPath는 표현에 넣어 접근하는 가장 좋은 방법은 아마도 사실 추상하면
<AAA>
XXX
<BBB>YYYYY</BBB>
<BBB>YYYYY</BBB>
...
</AAA>
<AAA>
XXX
<BBB>YYYYY</BBB>
<BBB>YYYYY</BBB>
...
</AAA>
...
에이를 변환하는 XSLT 1.0을 사용하려고 ??? 아래에 두 개의 TD 자식이 있지만 다음 TR (XXX)까지만 현재 TR (XXX)의 모든 TR 형제를 선택합니다. 나는 얼마나 많은 TD 자녀가 있는지에 따라 XXX 및 YYYYY 포함 노드를 구별합니다. 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 : 환영합니다. –