xslt如何获得相同节点名称也是子节点的情况下的父节点位置

菲利斯

我想为替代表格行添加颜色。我想使用以下方法:

<xsl:template match="tr">
<xsl:attribute name="bg-color">
<xsl:choose>
<xsl:when test= position() mod 2 = 0><xsl:text>#CCCCCC</xsl:text></xsl:when>
<xsl:otherwise>#DDDDDD</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:template>

但是事物是节点<tr>也是tag的子节点<tr>我如何获得上级<tr>职位?

<table>
    <tr>
    <td>1</td>
    <td>2</td>
    </tr>

    <tr>
    <td>1</td>
    <td>2</td>
    <tr><td>3</td><td>4</td></tr>
    <tr><td>5</td><td>6</td></tr>
    </tr>
    ...
</table>

我如何过滤掉<tr>内部<tr>

斯科尔

您可以使用更具判别性的匹配,例如您的等级不能超过1:

<xsl:template match="table/tr/td/table/tr">

这样,将应用于第2级表中的tr的模板可以与另一个模板不同。

或者,您可以在match =“ tr”中为找到的每个表/ tr / td使用调用模板(以命名模板命名)。

或者,您可以使用xsl检查祖先是否为tr:

<xsl:if test="ancestor::tr"> 

您已经检查了模块性,如果不想添加模板,则只需添加条件,例如:

test="position() mod 2 = 0 and not ancestor::tr"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不从Firebase For iOS获取值的情况下读取父节点名称?

如何在不跳转到元素加载位置的情况下将子节点添加到父节点?

如何在 XSLT 中访问具有动态节点名称的节点的子节点

如何在不必指定节点名称的情况下遍历嵌套的YML文件?

如何在没有GPath /节点名称的情况下提取CDATA

如何在没有双打的情况下提取节点名称

XML:让子节点继承父节点名称空间?

在不知道节点名称Groovy的情况下获取第n个子节点

如何替换 XML 的子节点名称

将XSLT中每个父节点下的子节点分组

如何在不向其父/子添加逻辑的情况下获得组件中子元素的dom节点?

如何使用XSLT更改标签位置,但不提及节点名称

当变量等于节点名称时,XSLT如何获取值?

如何使用XSLT根据子节点的条件复制父节点?

父节点和子节点互换xslt

如何在不打扰其他子节点的情况下替换HTML节点中的文本?

如何在不使用子节点的情况下访问ANTLR树的节点

如何在不覆盖其他节点的情况下更新 Firebase 中的子节点

是否可以获取节点名称为文本的子节点?

Firebase:Swift-在不知道父键的情况下查询子节点中的值

如何重命名XML节点名称

如何从QTreeView返回节点名称

在 Firebase 数据库的情况下,变量名称如何转换为用于创建子节点的文本?

如何根据节点名称设置节点链接颜色?

如何从节点集中生成唯一的节点名称?

当列表节点名称和项目节点名称相同时,将XML映射到模型

如何访问父节点内的子节点

根节点斜线与根节点名称

如何在不更新父节点/实体Drupal的情况下添加/更新字段集合