У меня есть базовый XSLT-фильтр в SharePoint 2007 DataFormWebPart:
<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row[((ddwrt:FormatDateTime(string(@MyDate) ,1061 ,'MM'))=$MyParameter)]"/>
$ MyParameter происходит из элемента управления ASP.NET.Но попытка установить значение переменной любым другим способом приводит к ошибке:
<xsl:variable name="Rows">
<xsl:value-of select="/dsQueryResponse/Rows/Row[((ddwrt:FormatDateTime(string(@MyDate) ,1061 ,'MM'))=$MyParameter)]"/>
</xsl:variable>
или
<xsl:variable name="Rows">
/dsQueryResponse/Rows/Row[((ddwrt:FormatDateTime(string(@MyDate) ,1061 ,'MM'))=$MyParameter)]
</xsl:variable>
Я получаю следующую ошибку: Аргумент 1 должен вернуть узел-задавать.-> count ($ Rows) <- </strong>
В конечном итоге я пытаюсь добиться чего-то похожего:
<xsl:variable name="Rows">
<xsl:choose>
<xsl:when test="($MyParameter2 = '1')">
<xsl:value-of select="/dsQueryResponse/Rows/Row[((ddwrt:FormatDateTime(string(@MyDate) ,1061 ,'MM'))=$MyParameter)]"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="/dsQueryResponse/Rows/Row[((ddwrt:FormatDateTime(string(@MyDate) ,1061 ,'MM'))=$otherParameter)]"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
Возможно ли что-нибудь подобное с XSLT или я должен выглядетьдля других возможностей в SharePoint Designer?