سؤال

لدي ما يلي في 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/02/xpath-functions" xmlns:xdt="http://www.w3.org/2005/02/xpath-datatypes">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:variable name="cDate">
        <xsl:value-of select="current-dateTime()"/>
    </xsl:variable>
    <xsl:variable name="fcDate">
        <xsl:value-of select="format-dateTime($cDate,'[Y0001][M01][D01]')"/>
    </xsl:variable>
    <xsl:template match="/PublisherBooking">
        <dt>
            <xsl:attribute name="date"><xsl:value-of select="$fcDate"/></xsl:attribute>
        </dt>
    </xsl:template>
</xsl:stylesheet>

الذي يعطيني الناتج (بالنظر إلى التاريخ الحالي هو 12 يناير 2010):

<?xml version="1.0" encoding="UTF-8"?>
<dt date="2010112"/>

مشكلتي هي أنني بحاجة إلى التنسيق لقراءة كما يلي:

<?xml version="1.0" encoding="UTF-8"?>
<dt date="20100112"/>

إذن كيف يمكنني الحصول على الحشو الصفر في الشهر واليوم؟ على وجه التحديد ما هو الخطأ في صورة التنسيق [Y0001] [M01] [D01].

أنا أستخدم محرك XSLT الذي يأتي مع XMLSPY 2005.

هل كانت مفيدة؟

المحلول

حسنا، يبدو وكأنه خطأ في المحرك يشحن مع الإصدار الخاص بي من XMLSPY (2005 وطول قليلا في السن). ركض التحول ضد سكسونية 9.2 وكانت النتيجة كما هو مطلوب.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top