Latest web development tutorials

XSLT <XSL: اختيار> العنصر

<XSL: اختيار> يتم استخدام عنصر بالتزامن <XSL: عندما> و <XSL: خلاف> للتعبير عن عدة اختبارات شرطية.


<XSL: اختيار> العنصر

قواعد

<xsl:choose>
<xsl:when test="expression">
... some output ...
</xsl:when>
<xsl:otherwise>
... some output ....
</xsl:otherwise>
</xsl:choose>


وضع حيث معايير الاختيار

لإدراج ملف XML لظروف الاختبار متعددة، إضافة إلى ملف XSL <XSL: اختيار>، <XSL: عندما> و <XSL: خلاف> العنصر:

أمثلة

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<xsl:choose>
<xsl:when test="price &gt; 10">

<td bgcolor="#ff00ff">
<xsl:value-of select="artist"/></td>
</xsl:when>
<xsl:otherwise>

<td><xsl:value-of select="artist"/></td>
</xsl:otherwise>
</xsl:choose>

</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

محاولة »

سوف رمز أعلاه أن يكون أعلى من سعر القرص 10 الأعمدة إضافة لون الخلفية وردي ل"الفنان".


مثال آخر

هذا هو آخر يحتوي على اثنين <XSL: عندما> العنصر سبيل المثال:

أمثلة

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<xsl:choose>
<xsl:when test="price &gt; 10">

<td bgcolor="#ff00ff">
<xsl:value-of select="artist"/></td>
</xsl:when>
<xsl:when test="price &gt; 9">

<td bgcolor="#cccccc">
<xsl:value-of select="artist"/></td>
</xsl:when>
<xsl:otherwise>

<td><xsl:value-of select="artist"/></td>
</xsl:otherwise>
</xsl:choose>

</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

محاولة »

رمز أعلاه هو أعلى من 10 إلى "الفنان" عمود لإضافة لون الخلفية الوردي في سعر القرص، وأكثر من 9 وأقل من سعر القرص تساوي 10 إلى عمود "الفنان" لإضافة لون خلفية رمادية.