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)使问题更清楚。 –