EDIT'e
Gönderin tekrar, cevabımın orijinal versiyonunun (aşağıda) olduğunu düşünüyorum.
Sen zaten bir listesi var - sizin değişken ifadesi seçen bir düğüm kümesi <Request>
çocukları (bir düğüm kümesi/listesidir bir dizinin XSLT eşdeğerdir) tüm <country>
düğümlerin:
<xsl:variable name="$country" select="Request/country" >
Ancak nokta, 'un ayrı bir değişken olarak listelenen'a bile gerek duymaz; tek ihtiyacınız olan: Request[country=$country]
olarak okur
<xsl:when test="Request[country=$country]"><!-- … --></xsl:when>
"Her <country>
bakmak ve onu $country
eşitse seçin <Request>
içinde." İfade boş olmayan bir düğüm kümesi döndürdüğünde, listede $country
bulunur. Aslında, Rubens Farias'ın başlangıçta ne dediği aslında budur.
Orijinal cevap, kayıt için tutuldu.
<!-- instead of a variable, this could be a param or dynamically calculated -->
<xsl:variable name="countries" select="'EG, KSA, UAE, AG'" />
<xsl:variable name="country" select="'KSA'" />
<xsl:choose>
<!-- concat the separator to start and end to ensure unambiguous matching -->
<xsl:when test="
contains(
concat(', ', normalize-space($countries), ', ')
concat(', ', $country, ', ')
)
">
<xsl:text>IN</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>OUT</xsl:text>
</xsl:otherwise>
</xsl:choose>
o liste XML girişi aittir:
"listesine" tarafından Eğer jeton virgülle ayrılmış dize demek? –
XML girişi nasıldır? Ülke, metin düğümü çocukları veya öğelerini veya ör. Öznitellikler? –
jelovirt