我正在尝试在XML中存储一个时间间隔,该时间间隔由我的XSD定义为我的XSD文件中的持续时间。我不知道如何使用它,以下是我正在尝试的内容:
<duration>PT5H30M</duration>
这相当于5小时30分钟。我在想当XSLT文件将XML转换为HTML时,它会将持续时间转换为时间格式吗?
是否应该像这样使用?:
<duration duration="PT5H30M"></duration>
这是我在XSLT文件中获取持续时间的地方:
<tr>
<td><xsl:attribute name="class">lside</xsl:attribute>Duration</td>
<td colspan="2"><xsl:attribute name="class">rside</xsl:attribute><xsl:value-of select="/flights/flight/route[routename/. = $code]/duration"/></td>
</tr>
任何建议都值得赞赏,XSD文档根本没有帮助我。
答案 0 :(得分:1)
好吧,如果您使用XSLT 2.0,您可以轻松地将持续时间转换为如下所示的时间:
<xsl:template match="duration">
<xsl:value-of select="xs:dayTimeDuration(@duration) + xs:time('00:00:00')"/>
</xsl:template>
但是XSLT处理器不会这样做,除非它是样式表请求的内容。
答案 1 :(得分:1)
如果没有看到您的架构,我不知道
是否(或两者兼而有之)<duration>PT5H30M</duration>
和
<duration duration="PT5H30M"></duration>
是有效的实例,但前者似乎更有可能。
但是,我根据第二种形式提供了答案,我认为这个问题在我回答的时候看起来很像 - 后来经过编辑。