我可以使用名称并与XSL模板匹配吗



代码段XML:

  <Time StartTime12="7:33" StartTime24="19:33" EndTime12="7:41" EndTime24="19:41">8 நிமி.</Time>

代码段XSL(一个模板):

  <xsl:template match="Time">
    <td class="cellTime">
      <xsl:value-of select="@EndTime24"/>
    </td>
  </xsl:template>

调用时使用:

<xsl:apply-templates select="Time"/>

我已经将结束时间的显示放入一个模板方法中,这样我就可以很容易地将其更改为EndTime12。然后我只需要编辑一位就可以从24小时更改为12小时。

但是,正如您所看到的,我的Time对象包含两个时间。目前这不是一个问题,因为我只想显示结束时间。但是,如果我想在另一个单元格中显示报告的开始时间。。。。问题

我尝试的是:

  <xsl:template name="EndTime" match="Time">
    <td class="cellTime">
      <xsl:value-of select="@EndTime24"/>
    </td>
  </xsl:template>

没用。有两种方法,都处理Time对象,但一种用于显示开始时间属性,另一种用于展示结束时间

谢谢。

我注意到我需要使用模式功能。

  <!--Display the end time (using 24 hour format)-->
  <xsl:template match="Time" mode="End">
    <td class="cellTime">
      <xsl:value-of select="@EndTime24"/>
    </td>
  </xsl:template>
  <!--Display the start time (using 24 hour format)-->
  <xsl:template match="Time" mode="Start">
    <td class="cellTime">
      <xsl:value-of select="@StartTime24"/>
    </td>
  </xsl:template>

然后称之为:

<xsl:apply-templates match="Time" mode="Start"/>
<xsl:apply-templates match="Time" mode="End"/>

相关内容

  • 没有找到相关文章