J'essaye de transformer un datetime en un format de date aaaa-MM-jj, parce que j'utilise l'outil xsd.exe les types de données xs: date sont automatiquement changés en un datatype datetime, parce qu'il n'y a aucun type dans le .NET Framework qui correspond au type xs: date complètement.XSLT transformation datetime au format date
Mais je ne peux pas le faire fonctionner
<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>
essayant de convertir le xml à
<articles>
<article>
<articleid>48992</articleid>
<deliverydateasked>2009-01-29</deliverydateasked>
</article>
<article>
<articleid>48993</articleid>
<deliverydateasked>2009-01-30</deliverydateasked>
</article>
</articles>
actuellement j'utilise ce XSLT
<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>
Est-ce que quelqu'un sait un bon xsl t transformation.
Merci à l'avance
Le résultat de sortie de mon code est
<articles />
Pourquoi faites-vous les choses compliquées "nom-local()"? – Tomalak
ce que dit tomalak - levier xsl: copie – annakata
Annakata J'ai essayé votre première suggestion xsl: template> avec le résultat: 2009-01 -292009-01-30 Ou est-ce que j'avais quelque chose de mal? mais local-name() est-il une fonction à éviter? la durée est maintenant 15-30 ms –
freggel