1

我试图在我的 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 文档根本没有帮助我。

4

2 回答 2

1

在没有看到您的架构的情况下,我不知道是否(或两者,或两者都不是)

<duration>PT5H30M</duration>

<duration duration="PT5H30M"></duration>

是有效的实例,但前者似乎更有可能。

但是,我根据第二种形式提供了我的答案,这就是我认为问题在我回答时的样子——它随后被编辑过。

于 2013-02-18T22:54:48.400 回答
1

好吧,如果您使用 XSLT 2.0,您可以像这样轻松地将持续时间转换为时间:

<xsl:template match="duration">
  <xsl:value-of select="xs:dayTimeDuration(@duration) + xs:time('00:00:00')"/>
</xsl:template>

但是 XSLT 处理器不会这样做,除非它是您的样式表要求的。

于 2013-02-17T21:48:34.043 回答