私のテストケースでこれを使用するために以前の属性を取得することに問題があります。現在の属性が以前の属性と同じである場合の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を示しているが。
偶数または奇数をチェックする部分がうまく動作します。問題は、私が最初の部分を働かせることができないということです。
とにかくこれを読んでいただきありがとうございます。
にこれは*質問をグループ化*のように見えます。 XSLT 2.0を使用できますか? –