簡體   English   中英

xslt中的java函數getTime

[英]java function getTime in xslt

我有一個xslt,我想獲得“今天+ 10年的毫秒數”

    Date today = new Date();
    Date tenYears = new Date(today.getTime() + 1000*3600*24*365*10);

現在我想在xslt中使用它:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:java="java"> 
<xsl:output method="xml" indent="yes"/>
 <xsl:template match="/">

   <value><xsl:value-of select="java:util.Date.new()"/></value>

</xsl:template>

<xsl:value-of select="java:util.Date.new()"/>

可以,但是當我嘗試

<xsl:value-of select="java:util.Date.new().getTime()"/>

失敗,該怎么辦?

我認為您可以使用Xalan

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
    xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="java">

    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="/">

        <value>
            <xsl:variable name="today" select="java:java.util.Date.new()"/>
            <xsl:variable name="tenYears"
                select="java:java.util.Date.new(java:getTime($today) + 1000 * 3600 * 24 * 365 * 10)"/>
            <xsl:value-of select="$tenYears"/>

        </value>

    </xsl:template>

</xsl:stylesheet>

請參閱http://xml.apache.org/xalan-j/extensions.html#java-namespace上的文檔,並注意其他XSLT處理器實現可能具有不同的調用Java機制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM