Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 我可以使用名称并与XSL模板匹配吗?_Xml_Xslt 1.0 - Fatal编程技术网

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

Xml 我可以使用名称并与XSL模板匹配吗?,xml,xslt-1.0,Xml,Xslt 1.0,片段XML: <Time StartTime12="7:33" StartTime24="19:33" EndTime12="7:41" EndTime24="19:41">8 நிமி.</Time> 8நிமி. 代码段XSL(模板): 调用时使用: <xsl:apply-templates select="Time"/> 我已将结束时间的显示放入模板方法中,以便可以轻松地将其更改为EndTime12。然后我只需要编辑一个位就可以从24小

片段XML:

  <Time StartTime12="7:33" StartTime24="19:33" EndTime12="7:41" EndTime24="19:41">8 நிமி.</Time>
8நிமி.
代码段XSL(模板):


调用时使用:

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

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

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

我尝试的是:

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

没用。有两种方法的正确方法是什么?两种方法都处理时间对象,但一种用于显示开始时间属性,另一种用于显示结束时间属性


谢谢。

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

  <!--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"/>


您的问题不清楚,因为它缺乏上下文。通常,要使两个模板匹配同一节点(在不同的上下文中),您可以使用模式。上下文是一个计划,它将显示开始时间、结束时间、项目描述和人员姓名。什么是模式?“上下文是…”如果没有重新设置模式,请参阅:
<xsl:apply-templates match="Time" mode="Start"/>
<xsl:apply-templates match="Time" mode="End"/>