私は約150のエントリを持つXML文書を持っています。私はいくつかの方法でエントリをソートしています。 1つはアルファベット順で、XSLTを介して表示され、完全に動作します。他はカテゴリと解決策であり、行ごとにバンディングを交互に行う問題があります。XML XSLの問題
問題は、表示されていない項目を反復処理するときに発生します。表示されていないにもかかわらずカウントに含まれているようです。私はこの質問を匿名ユーザーの前に一度尋ねましたが、今回はもっと賢明です。
ありがとうございました。
XML Doc。
<case-studies>
<!-- #### X #### -->
<case-study>
<name>Entry 1</name>
<category solution="Performance">Medical</category>
<category solution="Medical">Security</category>
<category solution="Industry">Medical</category>
<category solution="A-Z">X</category>
</case-study>
<!-- #### Y #### -->
<case-study>
<name>Entry 2</name>
<category solution="Industry">Education</category>
<category solution="Convergence">Education</category>
<category solution="A-Z">Y</category>
</case-study>
</case-studies>
XSLTコール
<%
Dim mm_xsl As MM.XSLTransform = new MM.XSLTransform()
mm_xsl.setXML(Server.MapPath("/data/xml/case-studies/case-studiesTest.xml"))
mm_xsl.setXSL(Server.MapPath("/data/xslt/case-studies/categoryLandingOther.xsl"))
mm_xsl.addParameter("solName", "Industry")
mm_xsl.addParameter("catName", "Business services")
Response.write(mm_xsl.Transform())
%>
XSLTの一部
<xsl:for-each select="case-studies/case-study/category[. = $catName]">
<!--xsl:sort select="../name" /-->
<xsl:if test="@solution[. = $solName]">
<tr>
<xsl:if test="(position() mod 2 = 1)">
<xsl:attribute name="bgcolor">#e7e7e7</xsl:attribute>
</xsl:if>
<td class="cell1">
</td>
<td class="cell2" style="padding-top:2px;">» <a href="{../url}"><xsl:value-of select="../name"/></a></td>
<td class="cell3">
<xsl:for-each select="../solutionType">
<div class="clearRight"><xsl:value-of select="."/></div>
</xsl:for-each>
</td>
</tr>
</xsl:if>
</xsl:for-each>
恐ろしく........! – Cerebrus
ありがとう、ありがとう、ありがとう! – BillZ