2012-03-16 3 views
7

텍스트 값 '2012-03-19'을 날짜 유형으로 변환 한 다음 연도 구성 요소를 추출해야합니다.텍스트를 날짜로 변환 한 후 연도 값을 얻는 방법?

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

내가 색슨 2.0을 사용하고 있지만,이 date 기능이 존재하지 않는 불평; 나는 Saxon의 문서를 둘러 보았고 그 기능을 찾을 수 없었기 때문에 그것이 분명히 문제였다. 그러나 적절한 대체물을 찾을 수 없었다.

답변

8

나는 date()이 함수 여야한다고 생각하지 않는다. xs:date() 데이터 유형을 원한다.

xs 네임 스페이스를 추가 한 다음 xs:date() 접두사를 추가하십시오.

다음 스타일 시트, 어떤 잘 구성된 XML 입력을 사용하여, 2012를 생성합니다 : 당신은 또한 "DATEVALUE"xsl:variableselect을 인용해야

<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> 

참고.

+0

감사합니다. 나는 그것을 놓쳤습니다 ... – raffian