Czy można umieścić dwa warunki w atrybutie testu xslt?
Czy to jest odpowiednie dla 4
<xsl:when test="4 < 5 AND 1 < 2" >
<!-- do something -->
</xsl:when>
4 answers
Nie do końca, I musi być pisane małymi literami.
<xsl:when test="4 < 5 and 1 < 2">
<!-- do something -->
</xsl:when>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-25 21:18:41
Musi być zawinięte w , ponieważ jest to when. I małymi literami "i".
<xsl:choose>
<xsl:when test="4 < 5 and 1 < 2" >
<!-- do something -->
</xsl:when>
<xsl:otherwise>
<!-- do something else -->
</xsl:otherwise>
</xsl:choose>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-25 21:21:13
Z XML.com :
Jak instrukcje xsl:if, xsl: when elementy mogą mieć bardziej rozbudowane treści między ich rozpoczęciem - i end-tags-na przykład dosłowny wynik elements, xsl: element elements, or even xsl: if I xsl: choose elements-to Dodaj do drzewa wyników. Ich test wyrażenia mogą również używać wszystkich triki i operatory, które xsl:jeśli atrybut testowy elementu może używać, takich as and, or, and function calls, to tworzenie bardziej złożonych elementów logicznych wyrażenia.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-25 21:18:04
Może jest to nie do pomyślenia dla XSLT-professional, ale dla mnie na poziomie początkującym/średnio zaawansowanym, to mnie zastanowiło. Chciałem zrobić dokładnie to samo, ale musiałem przetestować wartość responsetime z xml zamiast zwykłego numeru. Po tym wątku próbowałem tego:
<xsl:when test="responsetime/@value >= 5000 and responsetime/@value <= 8999">
Który wygenerował błąd. To działa:
<xsl:when test="number(responsetime/@value) >= 5000 and number(responsetime/@value) <= 8999">
Naprawdę nie rozumiem, dlaczego nie działa bez numeru (). Czy to możliwe, że bez funkcji number() wartość jest traktowana jako łańcuch znaków, a Ty nie możesz porównać liczb z ciągiem znaków?
W każdym razie, mam nadzieję, że to zaoszczędzi komuś dużo poszukiwań...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-13 09:31:49