Bir xslt test özelliğine iki koşul koyabilir misiniz?


Yanıtlar:


211

Tam olarak değil, AND'nin küçük harf olması gerekir.

<xsl:when test="4 &lt; 5 and 1 &lt; 2">
<!-- do something -->
</xsl:when>

33

Bir zaman olduğu için bir <xsl: select> içine sarılması gerekir. Ve "ve" harfini küçük harfle yazın.

<xsl:choose>
   <xsl:when test="4 &lt; 5 and 1 &lt; 2" >
   <!-- do something -->
   </xsl:when>
   <xsl:otherwise>
   <!-- do something else -->
   </xsl:otherwise>
</xsl:choose>

6

Gönderen XML.com :

Xsl: if yönergeleri gibi, xsl: öğeleri başlangıç ​​ve bitiş etiketleri arasında daha ayrıntılı içeriğe sahip olabilir - örneğin, değişmez sonuç öğeleri, xsl: öğe öğeleri veya hatta xsl: if ve xsl: öğeleri seçin - eklemek için sonuç ağacı. Test ifadeleri, xsl: öğesinin test özniteliğinin daha karmaşık boole ifadeleri oluşturmak için ve, veya ve işlev çağrıları gibi kullanabileceği tüm hileleri ve işleçleri de kullanabilir.


5

Belki bu xslt-professional için zahmetsizdir, ancak başlangıç ​​/ orta düzeyde benim için bu beni şaşırttı. Tam olarak aynı şeyi yapmak istedim, ancak düz bir sayı yerine xml'den bir yanıt süresi değerini test etmem gerekiyordu. Bu konuyu takiben şunu denedim:

<xsl:when test="responsetime/@value &gt;= 5000 and responsetime/@value &lt;= 8999"> 

bu bir hata oluşturdu. Bu çalışıyor:

<xsl:when test="number(responsetime/@value) &gt;= 5000 and number(responsetime/@value) &lt;= 8999">

Yine de sayı () olmadan neden çalışmadığını gerçekten anlamıyorum. Sayı () olmadan değer bir dizge olarak değerlendirilebilir ve sayıları bir dizeyle karşılaştıramaz mısınız?

Her neyse, umarım bu birilerini aramadan kurtarır ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.