我在獲取以前的屬性以在測試用例中使用該屬性時遇到問題。如果當前屬性與之前的屬性相同,則進行XSL測試
這是最終的結果應該如何。
<rows>
<row id="1">
<cell>Advances RTF - Regul ILIAS</cell>
</row>
<row id="2">
<cell style="color: RED">Advances RTF - Regul ILIAS</cell>
</row>
<row id="3">
<cell style="color: GREEN">Advances RTF - Regul ILIAS</cell>
</row>
</row>
<row id="4">
<cell>Analysis of the consumption of paymaster's advances</cell>
</row>
<row id="5">
<cell style="color: GREEN">Analysis of the consumption of paymaster's advances</cell>
</row>
<row id="6">
<cell>Analytic Image</cell>
</row>
<row id="7">
<cell style="color: GREEN">Analytic Image</cell>
</row>
<row id="8">
<cell>Analytic Image - System</cell>
</row>
<row id="9">
<cell style="color: GREEN">Analytic Image - System</cell>
</row>
</rows>
我從一個看起來像這樣的XML文件開始。我刪除了很多額外的屬性,因爲它與此處顯示的內容無關。
-<dbqueries>
-<dbquery id="algemeen_overview_1_lijn">
-<rows>
<row LRF_DESCRIPTION="Advances RTF - Regul ILIAS" />
<row LRF_DESCRIPTION="Advances RTF - Regul ILIAS" />
<row LRF_DESCRIPTION="Advances RTF - Regul ILIAS" />
<row LRF_DESCRIPTION="Analysis of the consumption of paymaster's advances" />
<row LRF_DESCRIPTION="Analysis of the consumption of paymaster's advances" />
<row LRF_DESCRIPTION="Analytic Image" />
<row LRF_DESCRIPTION="Analytic Image" />
<row LRF_DESCRIPTION="Analytic Image - System" />
<row LRF_DESCRIPTION="Analytic Image - System" />
</rows>
</dbquery>
得到我想要我使用的是xls文件的結果。
<xsl:template match="/">
<rows>
<xsl:apply-templates select="//dbquery[@id='algemeen_overview_1_lijn']/rows/row"/>
</rows>
</xsl:template>
<xsl:template match="//dbquery[@id='algemeen_overview_1_lijn']/rows/row">
<xsl:element name="row">
<xsl:attribute name="id">
<xsl:value-of select="position()"/>
</xsl:attribute>
<xsl:choose>
<xsl:when test="current()/@LRF_DESCRIPTION != preceding-sibling::row[@LRF_DESCRIPTION]">
<cell>
<xsl:value-of select="@LRF_DESCRIPTION"/>
</cell>
</xsl:when>
<xsl:otherwise>
<xsl:choose>
<xsl:when test="position() mod 2 = 0">
<cell style="color: #EBF3FF;">
<xsl:value-of select="@LRF_DESCRIPTION"/>
</cell>
</xsl:when>
<xsl:otherwise>
<cell style="color: #FFFFFF;">
<xsl:value-of select="@LRF_DESCRIPTION"/>
</cell>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
</xsl:template>
所以這個選擇部分應該做的是以下幾點。 如果LRF_DESCRIPTION!=之前的lrf_description 則顯示沒有樣式顏色的LRF_description。
如果LRF_DESCRIPTION =先前lrf_description 然後檢查是否這是一個偶數或奇數位置(行號) 如果是偶數,以紅色顯示 如果它是不均勻的LRF_description,顯示綠色的LRF_description。
檢查偶數或奇數工件的部分正常。問題是我無法得到第一部分的工作。
無論如何thx你的時間閱讀此。
這看起來像一個*分組*問題。你可以使用XSLT 2.0嗎? –