Można użyć „i” w for-each pętli, ale nie w sposób, w jaki zostały wymienionym (jest pewien, co dokładnie chcesz osiągnąć)
zakładam swoje wymagania coś, albo
1) chcesz pętli Trip
której oba podmioty są dziećmi (instance
i result
) NOT nULL, W tym przypadku trzeba pisać tak ..
<xsl:for-each select="trip[instance!='' and result!='']>
jeśli dowolna z instancji i wynik są zerowe, to twoja pętla nie wchodzi w element a mianowicie, trip.
2) Chcesz zasięgnąć przez każdy instance
i result
dzieci wewnątrz rodzica trip
których wartości nie są nieważne. W tym przypadku nie potrzebujesz and
..
<xsl:for-each select="trip/instance[.!=''] | trip/result[.!='']">
To zadziała.
teraz odpowiedzieć na swojej Q ..
z pętli for-each można ustawić zakres selektora ..
na-przykład: W przypadku (1), zakres selektora była „root_name//trip
”, a w przypadku (2) zakres selektora była „root_name//trip/instance
” również „root_name//trip/result
” ..
mam nadzieję, że zrozumiał swoje pytanie poprawnie i odpowiedział go jako zrozumiałe ..
+1 dla objaśnienia operatora UNION .. i dla punkt "W ZALEŻNOŚCI OD WASZEGO Z MYŚLĄ O NAMI" –
@Mads Hansen: Dziękuję – Zoheir