1
我需要幫助來修改我在xslt中的條件。在xslt中添加條件
我有3個PARAM在我的XSL
<xsl:param name="today" select="'19470815'" /> <!-- this is date in yyyyMMdd format -->
<xsl:param name="categoryID"/> <!-- This is CATEGORYID in xml file -->
<xsl:param name="subCategoryID"/> <!-- This is SUBCATEGORYID in xml file -->
我當前的XSL只查找subcategory
,不找category
。
我的要求是:
- 如果
categoryID
作爲價值0
傳遞然後列出所有類別導致 - 如果
categoryID
傳遞,那麼結果應該如果subcategoryID
是0
該類別的ID只顯示 - 然後顯示結果小類
categoryID
- 如果特定
subcategoryID
通過那麼結果噸應該從該特定子類別,附帶選擇子類別下顯示值 - 如果
categoryID
和subcategoryID
被0
然後顯示today
參數被傳遞,使得沒有過去的日期結果應顯示的所有結果
。
請指導我修復這個xslt。我的XML和XSLT低於
<xsl:choose>
<xsl:when test="$type = 'open' ">
<xsl:for-each select="//SUMMARYNODE[SUMMARY/SUBCATEGORYID = $subCategoryID and SUMMARY/FORMATTEDDATE >= $today] ">
<xsl:sort select="SUMMARY/FORMATTEDDATE " />
SOME STUFF
</xsl:for-each>
<xsl:if test="count(//SUMMARYNODE[SUMMARY/SUBCATEGORYID = $subCategoryID and SUMMARY/FORMATTEDDATE >= $today]) >= 1 ">
SOME MORE STUFF
</xsl:if>
<xsl:if test="not (count(//SUMMARYNODE[SUMMARY/SUBCATEGORYID = $subCategoryID and SUMMARY/FORMATTEDDATE >= $today])>=1) ">
NO RECORDS AVAILABLE
</xsl:if>
</xsl:when>
</xsl:choose>
XML輸入
<root>
<SUMMARYNODE>
<SUMMARY>
<CATEGORY CATEGORYID="2">OPERATIONS PROCUREMENT</CATEGORY>
<SUBCATEGORYID>4</SUBCATEGORYID>
</SUMMARY>
</SUMMARYNODE>
<SUMMARYNODE>
<SUMMARY>
<CATEGORY CATEGORYID="2">XYZ</CATEGORY>
<SUBCATEGORYID>6</SUBCATEGORYID>
</SUMMARY>
</SUMMARYNODE>
<SUMMARYNODE>
<SUMMARY>
<CATEGORY CATEGORYID="5">ABC</CATEGORY>
<SUBCATEGORYID>8</SUBCATEGORYID>
</SUMMARY>
</SUMMARYNODE>
</root>
問題在哪裏? –
請也顯示想要的輸出(s)使問題更清楚。 –