3

我正在尝试使用以下内容进行提取

<xsl:template match="//alarms:alarmRaisedTime">
        <xsl:variable name="secondsSince1970" select="(xs:dateTime(.) - xs:dateTime('1970-01-01T00:00:00')) div xs:dayTimeDuration('PT1S')" />
        <xsl:element name="alarmRaisedTime" namespace="MY NAME SPACE">
            <xsl:value-of select="$secondsSince1970"/>
        </xsl:element>
</xsl:template>

我得到的输出是

<alarmRaisedTime>1367855105.001</alarmRaisedTime>

我想得到以下给定的输出(注意 Milli Seconds 已删除)

<alarmRaisedTime>1367855105</alarmRaisedTime>

我尝试了以下方法:

<xsl:value-of select="fn:substring-before($secondsSince1970,.)"/>

但它没有用。

4

2 回答 2

2

更简单

floor($secondsSince1970)

根据定义

floor 函数返回不大于参数且为整数的最大(最接近正无穷大)数。

于 2013-05-08T04:09:02.740 回答
1

尝试

<xsl:value-of select="fn:substring-before($secondsSince1970,'.')"/>

表达式中的.是指上下文项alarms:alarmsRaisedTime

于 2013-05-08T00:43:19.353 回答