Xslt 如何设置条件奇数/偶数行的样式

2023-12-19

我有一个使用 xslt 转换编写的 html 表,如下所示

<table>
    <xsl:for-each select="someNode">
        <xsl:if test="testThis">
            <tr>
                <!-- <xsl:call-template name="conditionalRowStyle"/> -->
                <td>something</td>
            </tr>
         </xsl:if>
         <tr>
             <!-- <xsl:call-template name="conditionalRowStyle"/> -->
             <td>this is always displayed</td>
         </tr>
         <xsl:if test="testThis2">
            <tr>
                <!-- <xsl:call-template name="conditionalRowStyle"/> -->
                <td>something 2</td>
            </tr>
         </xsl:if>
         ....
    </xsl:for-each>
    <tr>
        <!-- <xsl:call-template name="conditionalRowStyle"/> -->
        <td>this is always displayed</td>
    </tr>
</table>

我需要一种方法将不同类的 dRow/evenRow 应用于 tr 元素。

<tr class="evenRow"> or <tr class="oddRow">

我尝试在每个

elem 之后使用这样的模板
<xsl:template name="conditionalRowStyle">
    <xsl:attribute name="class">
        <xsl:choose>
            <xsl:when test="(count(../preceding-sibling::tr) mod 2) = 0">oddrow</xsl:when>
            <xsl:otherwise>evenrow</xsl:otherwise>
        </xsl:choose>
    </xsl:attribute>
</xsl:template>

但这不起作用。 任何想法?


你可能可以逃脱这样做just css http://www.sftcc.com/007/evenodd.html

tr:nth-child(odd) {
    /*...*/
}
tr:nth-child(odd) {
    /*...*/
}

如果你不能,你可以做类似的事情

<xsl:attribute name="class">
    <xsl:choose>
        <xsl:when test="(position() mod 2) != 1">
            <xsl:text>evenRow</xsl:text>
        </xsl:when>
        <xsl:otherwise>
            <xsl:text>oddRow</xsl:text>
        </xsl:otherwise>
    </xsl:choose>
</xsl:attribute>

请注意,我在 SO 文本框中写了此内容,但尚未对其进行测试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Xslt 如何设置条件奇数/偶数行的样式 的相关文章

随机推荐

  • Cmake :打包后步骤

    我正在寻找一种在打包完成后执行代码的方法 我尝试添加一个取决于生成的 PACKAGE 目标的自定义目标 看起来它不起作用 这是 cmake 错误 CMake Error The inter target dependency graph c
  • Spring MVC 控制器测试 - 打印结果 JSON 字符串

    你好 我有一个 Spring mvc 控制器 RequestMapping value jobsdetails userId method RequestMethod GET ResponseBody public List
  • iOS 自动布局与 UIScrollview:为什么滚动视图的内容视图不填充滚动视图?

    以下代码 在 viewDidLoad 中调用 会导致全红屏幕 我希望它是一个完全绿屏 为什么是红色的 我怎样才能让它全部变绿呢 UIScrollView scrollView UIScrollView new scrollView tran
  • Google Drive Rest API v3 - 如何将文件移至垃圾箱?

    Google Drive Rest API v3 有一个 Drive Files Delete 方法 但会永久删除文件 如何将文件移动到垃圾箱 我查看了用于更新文件元数据的文档 并尝试执行此操作 但它似乎不起作用 File file new
  • 完整页面 DOM 的序列化。我可以获取加载的 JS 代码吗,还是必须单独 AJAX?

    我正在尝试找出一个错误 但由于网络应用程序的复杂性 很难做到这一点 有许多框架和许多以不同方式嵌入到 HTML 中的 Javascript 代码实例 需要修复的是使用以下命令创建的子页面showModalDialog 所以你已经知道这将是一
  • 带有“不存在”的 SQL 查询不起作用

    我正在尝试使用一个简单的查询 但我没有得到任何结果 目标是 学习 不存在 是如何工作的 我有一个简单的表 其中 idUsuario 作为用户的默认 ID 和名称 SELECT FROM usuario WHERE NOT EXISTS SE
  • 如何将字符串与传入消息进行比较

    我知道这听起来很简单 但我遇到了一些麻烦 我正在尝试制作一个带有 pic 微控制器 MCU 和 xamarin android 应用程序的系统 从应用程序到 pic MCU 的发送部分已解决 但当我想将数据从 MCU 发送到应用程序时 它不
  • 从经度\纬度转换为笛卡尔坐标

    我有一些以纬度和经度给出的以地心坐标点 WGS 84 http en wikipedia org wiki World Geodetic System 如何将它们转换为原点位于地球中心的笛卡尔坐标 x y z 这是我找到的答案 为了使定义完
  • 混合 Objective-C 和 C++

    我正在尝试将 Objective C 与 C 混合在一起 当我编译代码时 出现几个错误 A h import
  • React:数组状态的高效更新

    React 的基本思想之一是状态更改应该始终且仅通过以下方式发生 this setState 并且不手动操纵状态 但对于状态是深层数组 即对象文字数组 实际上是一些 JSON 数据 的情况 更新该状态变得非常昂贵 如果我只想更新这样一个数组
  • htaccess:允许来自域名而不是IP/子网

    在我的身份验证页面上 我只允许来自某些 IP 是否可以通过域名允许 我的家庭网络的 IP 是动态的 但域名 mysite com 始终指向正确的 IP 地址 我遇到这个是因为我遇到了同样的问题 以防万一其他人发现这个 我找到了完美的解决方案
  • Ionicframework中$window和window的区别

    ionic framework 中 window 和 window 之间的确切区别是什么 例如 在 learn ionicframework com formulas localstorage 的 localstorage 教程中 同时使用
  • 如何使用 ExpressPlay sdk 将 epub 文件集成到自己的电子书阅读器应用程序中?

    我必须使用 ExpressPlay Sd k 将 epub 文件集成到我们现有的电子书阅读器应用程序中 但是 我无法得到解决方案 我通过给定的链接得到了一些想法 https www expressplay com ebooks https
  • 如何使用 Typeorm 仅返回关系的某些列

    好吧 我在获取与 typeorm 的关系时遇到了麻烦 当我运行该服务时 它会返回该关系中的所有数据 而我只想要特定的字段 例如 id 和 name 这是我的代码 async findById id string Promise
  • Varnish:仅缓存特定域

    我一直在积极地谷歌搜索 但没有运气 我使用 Varnish 取得了很好的效果 但我想在单个服务器 Apache 上托管多个网站 而不用 Varnish 缓存所有网站 我可以通过 URL 指定要缓存的网站吗 Thanks 评论后编辑 它是 r
  • 处理“抛出的异常类型不可无抛出复制构造”警告

    时隔 12 年 重返 C 开发 我正在使用 JetBrains 的 CLion 软件 该软件非常棒 因为它针对我的类设计中可能出现的问题提供了大量输入 我在类的构造函数 throw 语句中收到的警告之一是 Thrown exception
  • 有没有办法自动查找项目中使用的所有第三方组件?

    是否有任何 Delphi 专家或类似专家可以让我自动查找项目中使用的所有第三方组件 我需要发送一个使用多个第三方组件的项目 为了进行编译 我还必须包含它使用的第三方组件 还有比手动查看第三方组件的所有表单更快的方法吗 清除全局和项目选项中的
  • 将列表视图限制为 25 个项目

    我使用以下代码以编程方式显示列表视图 以下是如何以编程方式显示列表视图 messagesList ListView findViewById R id listMessages messageAdapter new MessageAdapt
  • Ansible 模板在破折号后跳过字符串

    我正在 Ansible 中使用一组变量模板化一个文件 我的一些条目defaults main yaml文件是 jenkins plugins ant 1 8 antisamy markup formatter 1 5 apache http
  • Xslt 如何设置条件奇数/偶数行的样式

    我有一个使用 xslt 转换编写的 html 表 如下所示 table table