首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果当前属性与前一个属性相同,则进行XSL测试

如果当前属性与前一个属性相同,则进行XSL测试
EN

Stack Overflow用户
提问于 2017-09-13 12:26:34
回答 2查看 471关注 0票数 0

我很难让前面的属性在我的测试用例中使用。

这就是最终的结果。

代码语言:javascript
复制
<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文件开始。我删除了许多额外的属性,因为它与这里的显示无关。

代码语言:javascript
复制
-<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文件。

代码语言:javascript
复制
    <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。

检查偶数或奇数工作的部分。问题是我不能让第一部分发挥作用。

不管怎么说,这是你阅读这篇文章的时间。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-13 12:35:29

你已经接近解决方案了。下面一行修复了LRF_DESCRIPTION的属性处理,并为第一个项添加了一个异常。

将第一个<xsl:when test="..."条件更改为

代码语言:javascript
复制
current()/@LRF_DESCRIPTION != preceding-sibling::row[1]/@LRF_DESCRIPTION or count(preceding-sibling::row) = 0
票数 0
EN

Stack Overflow用户

发布于 2017-09-13 12:34:48

尝试将<xsl:when test="current()/@LRF_DESCRIPTION != preceding-sibling::row[@LRF_DESCRIPTION]">更改为<xsl:when test="@LRF_DESCRIPTION != preceding-sibling::row[1]/@LRF_DESCRIPTION">,以便在XML结构和属性比较方面具有意义。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46197576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档