Вот мой код:XSLT | Выбрать/Когда
<xsl:choose>
<xsl:when test="$all_alerts[(g:line_abbr = 'MFL') or (g:line_abbr = 'BSL') or (g:line_abbr = 'CCT') or (g:line_abbr = 'NHSL') and (g:problem != 'normal_service')]">
<b>Subway</b><br /><br />
<xsl:for-each select="$all_alerts[g:line_abbr = 'MFL']">
<xsl:if test="g:problem != 'normal_service'"><xsl:value-of select="g:line"/> | <a href="/m/alert/mfl.html">
<xsl:if test="g:problem = 'station_advisory'">Station Advisory</xsl:if>
<xsl:if test="g:problem = 'stop_advisory'">Stop Advisory</xsl:if>
<xsl:if test="g:problem = 'customer_notice'">Customer Notice</xsl:if>
<xsl:if test="g:problem = 'service_advisory'">Service Advisory</xsl:if>
<xsl:if test="g:problem = 'shuttle_bus'">Shuttle Bus</xsl:if></a><br /><br /></xsl:if>
<xsl:if test="g:problem = 'normal_service'"></xsl:if>
</xsl:for-each>
<xsl:for-each select="$all_alerts[g:line_abbr = 'BSL']">
<xsl:if test="g:problem != 'normal_service'"><xsl:value-of select="g:line"/> | <a href="/m/alert/bsl.html">
<xsl:if test="g:problem = 'station_advisory'">Station Advisory</xsl:if>
<xsl:if test="g:problem = 'stop_advisory'">Stop Advisory</xsl:if>
<xsl:if test="g:problem = 'customer_notice'">Customer Notice</xsl:if>
<xsl:if test="g:problem = 'service_advisory'">Service Advisory</xsl:if>
<xsl:if test="g:problem = 'shuttle_bus'">Shuttle Bus</xsl:if></a><br /><br /></xsl:if>
<xsl:if test="g:problem = 'normal_service'"></xsl:if>
</xsl:for-each>
<xsl:for-each select="$all_alerts[g:line_abbr = 'CCT']">
<xsl:if test="g:problem != 'normal_service'"><xsl:value-of select="g:line"/> | <a href="/m/alert/cct.html">
<xsl:if test="g:problem = 'station_advisory'">Station Advisory</xsl:if>
<xsl:if test="g:problem = 'stop_advisory'">Stop Advisory</xsl:if>
<xsl:if test="g:problem = 'customer_notice'">Customer Notice</xsl:if>
<xsl:if test="g:problem = 'service_advisory'">Service Advisory</xsl:if>
<xsl:if test="g:problem = 'shuttle_bus'">Shuttle Bus</xsl:if></a><br /><br /></xsl:if>
<xsl:if test="g:problem = 'normal_service'"></xsl:if>
</xsl:for-each>
<xsl:for-each select="$all_alerts[g:line_abbr = 'NHSL']">
<xsl:if test="g:problem != 'normal_service'"><xsl:value-of select="g:line"/> | <a href="/m/alert/nhsl.html">
<xsl:if test="g:problem = 'station_advisory'">Station Advisory</xsl:if>
<xsl:if test="g:problem = 'stop_advisory'">Stop Advisory</xsl:if>
<xsl:if test="g:problem = 'customer_notice'">Customer Notice</xsl:if>
<xsl:if test="g:problem = 'service_advisory'">Service Advisory</xsl:if>
<xsl:if test="g:problem = 'shuttle_bus'">Shuttle Bus</xsl:if></a><br /><br /></xsl:if>
<xsl:if test="g:problem = 'normal_service'"></xsl:if>
</xsl:for-each>
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
Если есть g:line_abbr
, которые имеют g:problem != 'normal service'
, то я хочу, чтобы название метро, чтобы показать, а также следующую информацию, в противном случае я хочу ничего не показывать вообще даже заголовок метро.
Следующие объекты не скрывают заголовок «Метро», когда for-eachs
пустые.
Возможно, у меня нет времени, чтобы пройти и заменить логистику, когда у меня ее нет. Но если у меня есть время. Я попробую это. Благодаря! – balexander
@ Bry4n: Это не проблема. Я добавляю этот ответ только потому, что люди, видящие ваш код, могут подумать, что XSLT является подробным, а не инструментом для них. – 2010-08-16 20:27:20