Xml 我可以使用名称并与XSL模板匹配吗?
片段XML: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小
<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"/>