day name函数可以让我们指定一个日期并返回该日期的名称(比如星期一、星期二之类)。这可以使你的XML文档更加规范,便于阅读。
Listing A 是我们将要在本文中用到的XML文档例子。Listing B 说明了day name函数在XSL stylesheet中的用法。
Listing A:
mydoc.xml
<?xml version="1.0" ?>
<MyDoc>
<SomeDate>
<Year>2003</Year>
<Month>1</Month>
<Day>1</Day>
</SomeDate>
<SomeTime>
<Hour>12</Hour>
<Minute>30</Minute>
<Second>00</Second>
<TZ>-05:00</TZ>
</SomeTime>
</MyDoc>
Listing B:
getday.xsl
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl=http://www.w3.org/1999/XSL/Transform
xmlns:dt="http://XSLTsl.org/date-time">
<xsl:import href="http://XSLTsl.sourceforge.net/modules/stdlib.xsl"/>
<xsl:template match="/">
<MyDoc>
<xsl:variable name="dow">
<xsl:call-template name="dt:calculate-day-of-the-week">
<xsl:with-param name="year"
select="MyDoc/SomeDate/Year"/>
<xsl:with-param name="month"
select="MyDoc/SomeDate/Month"/>
<xsl:with-param name="day"
select="MyDoc/SomeDate/Day"/>
</xsl:call-template>
</xsl:variable>
<DayOfWeek>
<xsl:value-of select="$dow"
/>
</DayOfWeek>
<NameOfDay type="long">
<xsl:call-template name="dt:get-day-of-the-week-name">
<xsl:with-param name="day-of-the-week"
select="$dow"/>
</xsl:call-template>
</NameOfDay>
<NameOfDay type="abbreviated">
<xsl:call-template name="dt:get-day-of-the-week-abbreviation">
<xsl:with-param name="day-of-the-week"
select="$dow"/>
</xsl:call-template>
</NameOfDay>
</MyDoc>
</xsl:template>
</xsl:stylesheet>