2012-03-16 17 views
7

Bir metin türünü "2012-03-19" bir tarih türüne dönüştürmeniz ve ardından yıl bileşenini ayıklamanız gerekir.Metin tarihe nasıl dönüştürülür, sonra yıl değeri alınır?

<xsl:variable name="dateValue" select="2012-03-19"/> 
<xsl:variable name="year" select="year-from-date(date($dateValue))"/> 

Ben Sakson 2.0 kullanıyorum ama date fonksiyonu yok şikayetçi; Saxon'un belgelerine baktım ve işlevi bulamadım, bu yüzden sorun açıkça görünüyor, ancak uygun bir yedek bulamıyorum.

cevap

8

date()'un bir işlev olması gerektiğini düşünmüyorum, xs:date() veri türünü istiyorsunuz.

xs ad alanını ve ardından xs:date() önekini ekleyin.

aşağıdaki stil, herhangi bir iyi biçimli XML girişini kullanırken, 2012 üretecek: ayrıca "DATEVALUE" xsl:variable içinde select alıntı yapmak zorunda

<xsl:stylesheet version="2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

    <xsl:template match="/"> 
    <xsl:variable name="dateValue" select="'2012-03-19'"/> 
    <xsl:variable name="year" select="year-from-date(xs:date($dateValue))"/> 
    <xsl:value-of select="$year"/> 
    </xsl:template> 

</xsl:stylesheet> 

Not.

+0

Teşekkürler, bunu özledim ... – raffian

İlgili konular