Tôi đang cố chuyển đổi ngày giờ thành định dạng ngày yyyy-MM-dd, bởi vì tôi đang sử dụng công cụ xsd.exe các kiểu dữ liệu ngày xs: được tự động thay đổi thành kiểu dữ liệu datetime, vì không có loại trong Khuôn khổ .NET khớp với loại xs: date hoàn toàn.Ngày giờ chuyển đổi XSLT sang định dạng ngày
Nhưng tôi không thể làm cho nó hoạt
<articles>
<article>
<articleid>48992</articleid>
<deliverydateasked>2009-01-29T00:00:00+01:00</deliverydateasked>
</article>
<article>
<articleid>48993</articleid>
<deliverydateasked>2009-01-30T00:00:00+01:00</deliverydateasked>
</article>
</articles>
cố gắng để chuyển đổi xml để
<articles>
<article>
<articleid>48992</articleid>
<deliverydateasked>2009-01-29</deliverydateasked>
</article>
<article>
<articleid>48993</articleid>
<deliverydateasked>2009-01-30</deliverydateasked>
</article>
</articles>
hiện tôi đang sử dụng XSLT này
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<articles>
<xsl:apply-templates select="article">
</xsl:apply-templates>
</articles>
</xsl:template>
<xsl:template name="FormatDate">
<xsl:param name="DateTime" />
<xsl:variable name="date">
<xsl:value-of select="substring-before($DateTime,'T')" />
</xsl:variable>
<xsl:if test="string-length($date) != 10">
<xsl:value-of select="$DateTime"/>
</xsl:if>
<xsl:if test="string-length($date) = 10">
<xsl:value-of select="$date"/>
</xsl:if>
</xsl:template>
<xsl:template match="article">
<xsl:call-template name="FormatDate">
<xsl:with-param name="DateTime" select="deliverydateasked"/>
</xsl:call-template>
</xsl:template>
Có ai biết một xsl tốt không t chuyển đổi.
Cảm ơn trước
Sản lượng kết quả của mã của tôi là
<articles />
Tại sao bạn làm công cụ "local-name()" phức tạp? – Tomalak
gì Tomalak nói - đòn bẩy xsl: sao chép – annakata
Annakata Tôi đã cố gắng đề nghị đầu tiên của bạn xsl: template> với kết quả: 2009-01 -292009-01-30 Hay tôi đã làm gì sai? nhưng là tên địa phương() hơn là một hàm để tránh? thời gian thời gian bây giờ là 15-30 ms –
freggel