xslt:尝试在其他地方使用align值

时间:2013-03-21 18:07:07

标签: xml xslt html-table

我正在尝试编写一个Ifwhen语句,用于检查表格单元格的align属性的值,并将在其他位置使用该语句。

示例代码:

现在我把它写成

<xsl:when test="../../../@align='left'"><th align="left"><xsl:apply-templates select="*|@*|text()"/> </th></xsl:when>

我为“左”,“中”和“右”这样做,但我想要有一些能够处理价值的东西并写下这个价值。

<xsl:when test="../../../@align='*'"><th align="*"><xsl:apply-templates select="*|@*|text()"/> </th></xsl:when>

任何帮助都会很棒

1 个答案:

答案 0 :(得分:0)

怎么样

<th align="{../../../@align}">
  <xsl:apply-templates select="*|@*|text()"/>
</th>

{...}表示法称为属性值模板)。如果该祖先元素没有align attribut,那么您将在输出中获得align=""。如果这是一个问题你可以做

<th>
  <xsl:copy-of select="../../../@align"/>
  <xsl:apply-templates select="*|@*|text()"/>
</th>

如果您在输入中搜索的<th align="....">属性存在,则会创建align,但如果不存在,则会<th>