2012-09-21 43 views

回答

2

這可以通過擴展標準的XSLT身份有額外的模板變換來實現,以配合您日期個時間元素,重新格式化他們根據需要

例如,要元素匹配日期,與年,屬性,你可以這樣做。

如果你能保證所有日期元素有需要的三個屬性,你可以簡化模板匹配只是

<xsl:template match="Date"> 

你會添加一個similarl模板爲時間元素。

以下是完整的XSLT

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="xml" indent="yes"/> 
    <xsl:template match="@*|node()"> 
     <xsl:copy> 
     <xsl:apply-templates select="@*|node()"/> 
     </xsl:copy> 
    </xsl:template> 

    <xsl:template match="Date[@Year][@Month][@Day]"> 
     <Date><xsl:value-of select="concat(@Month, '/', @Day, '/', @Year)" /></Date> 
    </xsl:template> 

    <xsl:template match="Time[@Hour][@Minute][@Second]"> 
     <Time><xsl:value-of select="concat(@Hour, ':', @Minute, ':', @Second)" /></Time> 
    </xsl:template> 
</xsl:stylesheet> 

當適用於您的示例XML,下面是輸出:

<Sample> 
    <Date>9/21/2012</Date> 
    <Time>6:6:6</Time> 
</Sample> 
相關問題