我已經進行了大約5個小時的測試,嘗試了Google上發現的每一個例子,發現使用「xml xslt計算日期之間的天數」可以從「date.xml」文件中找到兩個日期並計算日期之間的日期,格式爲「YYYY-MM-DD」(下面的示例沒有這種格式,但它是我需要的唯一格式)使用XSLT計算XML中兩個日期的天數
我終於找到了這個網頁:: https://forums.oracle.com/thread/2432132
哪裏該解決方案可以在驗證:http://xslttest.appspot.com/
但是,將本地主機上的「date.xml/date.xslt」保存在試圖在Internet Explorer,Google Chrome或Firefox中打開該頁面的頁面,可能會顯示錯誤或根本沒有顯示,因爲它總是顯示 - 沒有任何信息哪裏不對。當文件位於Web服務器上時也會發生同樣的情況。
那麼,爲什麼我不能嘗試一個簡單的例子,我發現每個人都說有解決方案或我做錯了什麼?從上面的例子
XML文件:從上面的例子
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="date.xslt"?>
<root>
<date1>2012-01-11T00:00:00.000-05:00</date1>
<date2>2012-01-15T00:00:00.000-05:00</date2>
</root>
XSLT文件:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:template match="/">
<xsl:variable name="date1" select="xs:dateTime(/root/date1)"/>
<xsl:variable name="date2" select="xs:dateTime(/root/date2)"/>
<xsl:value-of select="fn:days-from-duration($date2 - $date1)"/>
</xsl:template>
</xsl:stylesheet>
添加此對XSLT驗證者,它顯示合適的值 「4」 這些之間的天兩個日期。
我希望能夠創建一個實際上可以進行計算的文檔,不管它們是日期還是數字,但目前似乎不可能。獲取日期數量,然後使用該值進行一些計算。
我只使用XSLT v2.0,因爲它似乎是計算兩個日期之間天數的唯一方法,或者據我所知,似乎已經解決了很多人的問題。通過使用v1.0來獲得瀏覽器支持,是否有辦法從XML文檔中獲取2個日期並計算「天數」? – Deukalion
我認爲EXSLT有一些日期支持,但現在我建議使用Saxon CE,如果您想在瀏覽器中運行XSLT並需要XSLT 2.0的功能。 –
使用EXSLT甚至都不能工作,沒有像往常一樣發生。或。像往常一樣,一個非常「好」的記錄功能沒有例子。代碼只是在有錯誤並且沒有顯示錯誤的地方停止。如果他們是善意地說「有什麼不對勁」。 –
Deukalion