You are viewing a plain text version of this content. The canonical link for it is here.
Posted to svn@forrest.apache.org by gm...@apache.org on 2008/03/06 14:00:38 UTC
svn commit: r634254 [4/5] - in
/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle:
./ resources/ resources/stylesheets/ resources/stylesheets/exsl/
resources/stylesheets/utils/ resources/themes/ resources/themes/common/
resources/...
Added: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/stylesheets/utils/date.parse-date.template.xsl
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/stylesheets/utils/date.parse-date.template.xsl?rev=634254&view=auto
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/stylesheets/utils/date.parse-date.template.xsl (added)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/stylesheets/utils/date.parse-date.template.xsl Thu Mar 6 05:00:31 2008
@@ -0,0 +1,1036 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:date="http://exslt.org/dates-and-times"
+ extension-element-prefixes="date">
+
+<date:months>
+ <date:month length="31" abbr="Jan">January</date:month>
+ <date:month length="28" abbr="Feb">February</date:month>
+ <date:month length="31" abbr="Mar">March</date:month>
+ <date:month length="30" abbr="Apr">April</date:month>
+ <date:month length="31" abbr="May">May</date:month>
+ <date:month length="30" abbr="Jun">June</date:month>
+ <date:month length="31" abbr="Jul">July</date:month>
+ <date:month length="31" abbr="Aug">August</date:month>
+ <date:month length="30" abbr="Sep">September</date:month>
+ <date:month length="31" abbr="Oct">October</date:month>
+ <date:month length="30" abbr="Nov">November</date:month>
+ <date:month length="31" abbr="Dec">December</date:month>
+</date:months>
+
+<date:days>
+ <date:day abbr="Sun">Sunday</date:day>
+ <date:day abbr="Mon">Monday</date:day>
+ <date:day abbr="Tue">Tuesday</date:day>
+ <date:day abbr="Wed">Wednesday</date:day>
+ <date:day abbr="Thu">Thursday</date:day>
+ <date:day abbr="Fri">Friday</date:day>
+ <date:day abbr="Sat">Saturday</date:day>
+</date:days>
+
+<xsl:template name="date:parse-date">
+ <xsl:param name="date-time" />
+ <xsl:param name="format" />
+ <xsl:param name="year" select="'NaN'" />
+ <xsl:param name="month" select="'NaN'" />
+ <xsl:param name="day" select="'NaN'" />
+ <xsl:param name="hour" select="'NaN'" />
+ <xsl:param name="minute" select="'NaN'" />
+ <xsl:param name="second" select="'NaN'" />
+ <xsl:param name="ampm" select="''" />
+ <xsl:param name="days" select="'NaN'" />
+ <xsl:param name="dow" select="'NaN'" />
+ <xsl:param name="dow-in-month" select="'NaN'" />
+ <xsl:param name="week" select="'NaN'" />
+ <xsl:param name="week-in-month" select="'NaN'" />
+ <xsl:param name="epoch" select="''" />
+ <xsl:param name="timezone" select="''" />
+ <xsl:choose>
+ <xsl:when test="$format">
+ <xsl:variable name="char" select="substring($format, 1, 1)" />
+ <xsl:choose>
+ <xsl:when test='$char = "'"'>
+ <xsl:choose>
+ <xsl:when test='substring($format, 2, 1) = "'"'>
+ <xsl:if test='substring($date-time, 1, 1) = "'"'>
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="substring($date-time, 2)" />
+ <xsl:with-param name="format" select="substring($format, 2)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="literal-value" select='substring-before(substring($format, 2), "'")' />
+ <xsl:variable name="length-literal-value" select="string-length($literal-value)" />
+ <xsl:if test="substring($date-time, 1, $length-literal-value) = $literal-value">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="substring($date-time, $length-literal-value + 1)" />
+ <xsl:with-param name="format" select="substring($format, $length-literal-value + 3)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="not(contains('abcdefghjiklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', $char))">
+ <xsl:if test="substring($date-time, 1, 1) = $char">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="substring($date-time, 2)" />
+ <xsl:with-param name="format" select="substring($format, 2)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="not(contains('GyMdhHmsSEDFwWakKzZ', $char))">
+ <xsl:message>
+ Invalid token in format string: <xsl:value-of select="$char" />
+ </xsl:message>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="next-different-char" select="substring(translate($format, $char, ''), 1, 1)" />
+ <xsl:variable name="pattern-length">
+ <xsl:choose>
+ <xsl:when test="$next-different-char">
+ <xsl:value-of select="string-length(substring-before($format, $next-different-char))" />
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="string-length($format)" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:choose>
+ <xsl:when test="$char = 'G'">
+ <xsl:if test="starts-with($date-time, 'AD') or starts-with($date-time, 'BC')">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="substring($date-time, 3)" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="substring($date-time, 1, 2)" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$char = 'M'">
+ <xsl:choose>
+ <xsl:when test="$pattern-length >= 4">
+ <xsl:variable name="month-node" select="document('')/*/date:months/date:month[starts-with($date-time, .)]" />
+ <xsl:if test="$month-node">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="substring($date-time, string-length($month-node) + 1)" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="count($month-node/preceding-sibling::date:month) + 1" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$pattern-length = 3">
+ <xsl:variable name="month-node" select="document('')/*/date:months/date:month[starts-with($date-time, @abbr)]" />
+ <xsl:if test="$month-node">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="substring($date-time, string-length($month-node/@abbr) + 1)" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="count($month-node/preceding-sibling::date:month) + 1" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$pattern-length = 1 and not(substring($date-time, 1, 2) <= 12)">
+ <xsl:if test="number(substring($date-time, 1, 1))">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="substring($date-time, 2)" />
+ <xsl:with-param name="format" select="substring($format, 2)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="substring($date-time, 1, 1)" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="substring($date-time, 1, 2) <= 12">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="substring($date-time, 3)" />
+ <xsl:with-param name="format" select="substring($format, 3)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="substring($date-time, 1, 2)" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="$char = 'E'">
+ <xsl:choose>
+ <xsl:when test="$pattern-length >= 4">
+ <xsl:variable name="day-node" select="document('')/*/date:days/date:day[starts-with($date-time, .)]" />
+ <xsl:if test="$day-node">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="substring($date-time, string-length($day-node) + 1)" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="count($day-node/preceding-sibling::date:day)" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="day-node" select="document('')/*/date:days/date:day[starts-with($date-time, @abbr)]" />
+ <xsl:if test="$day-node">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="substring($date-time, string-length($day-node/@abbr) + 1)" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="count($day-node/preceding-sibling::date:day)" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="$char = 'a'">
+ <xsl:if test="starts-with($date-time, 'AM') or starts-with($date-time, 'PM')">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="substring($date-time, 3)" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour">
+ <xsl:choose>
+ <xsl:when test="$hour < 12 and starts-with($date-time, 'PM')"><xsl:value-of select="$hour + 12" /></xsl:when>
+ <xsl:otherwise><xsl:value-of select="$hour" /></xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="substring($date-time, 1, 2)" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$char = 'z'">
+ <xsl:if test="starts-with($date-time, 'UTC')">
+ <xsl:choose>
+ <xsl:when test="(substring($date-time, 4, 1) = '+' or
+ substring($date-time, 4, 1) = '-') and
+ substring($date-time, 5, 2) <= 23 and
+ substring($date-time, 7, 1) = ':' and
+ substring($date-time, 8, 2) <= 59">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="substring($date-time, 10)" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="substring($date-time, 4, 6)" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="substring($date-time, 4)" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="'Z'" />
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="number">
+ <xsl:choose>
+ <xsl:when test="substring($date-time, 1, 1) = 0">
+ <xsl:value-of select="substring($date-time, 1, $pattern-length)" />
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="next-non-numeric-character" select="substring(translate($date-time, '0123456789', ''), 1, 1)" />
+ <xsl:choose>
+ <xsl:when test="$next-non-numeric-character"><xsl:value-of select="substring-before($date-time, $next-non-numeric-character)" /></xsl:when>
+ <xsl:otherwise><xsl:value-of select="$date-time" /></xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="new-date-time" select="substring($date-time, string-length($number) + 1)" />
+ <xsl:choose>
+ <xsl:when test="$char = 'y'">
+ <xsl:choose>
+ <xsl:when test="$pattern-length >= 2">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="$new-date-time" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$number" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="$new-date-time" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year">
+ <xsl:choose>
+ <xsl:when test="string-length($number) != 2"><xsl:value-of select="$number" /></xsl:when>
+ <xsl:when test="$number > 21">19<xsl:value-of select="$number" /></xsl:when>
+ <xsl:otherwise>20<xsl:value-of select="$number" /></xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="$char = 'd'">
+ <xsl:if test="$number <= 31">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="$new-date-time" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$number" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$char = 'h'">
+ <xsl:if test="$number >= 1 and $number <= 12">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="$new-date-time" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour">
+ <xsl:choose>
+ <xsl:when test="$ampm = 'PM'">
+ <xsl:choose>
+ <xsl:when test="$number = 12">12</xsl:when>
+ <xsl:otherwise><xsl:value-of select="$number + 12" /></xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:choose>
+ <xsl:when test="$number = 12">0</xsl:when>
+ <xsl:otherwise><xsl:value-of select="$number" /></xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$char = 'H'">
+ <xsl:if test="$number <= 23">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="$new-date-time" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$number" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm">
+ <xsl:choose>
+ <xsl:when test="$number >= 12">PM</xsl:when>
+ <xsl:otherwise>AM</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$char = 'k'">
+ <xsl:if test="$number >= 1 and $number <= 24">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="$new-date-time" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour">
+ <xsl:choose>
+ <xsl:when test="$number = 24">0</xsl:when>
+ <xsl:otherwise><xsl:value-of select="$number" /></xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm">
+ <xsl:choose>
+ <xsl:when test="$number >= 12 and $number != 24">PM</xsl:when>
+ <xsl:otherwise>AM</xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$char = 'K'">
+ <xsl:if test="$number <= 11">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="$new-date-time" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour">
+ <xsl:choose>
+ <xsl:when test="$ampm = 'PM'">
+ <xsl:value-of select="$number + 12" />
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$number" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$char = 'm'">
+ <xsl:if test="$number <= 59">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="$new-date-time" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$number" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$char = 's'">
+ <xsl:if test="$number <= 60">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="$new-date-time" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$number" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$char = 'S'">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="$new-date-time" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second">
+ <xsl:choose>
+ <xsl:when test="string($second) = 'NaN'">0.<xsl:value-of select="$number" /></xsl:when>
+ <xsl:otherwise><xsl:value-of select="$second" />.<xsl:value-of select="$number" /></xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$char = 'k'">
+ <xsl:if test="$number <= 5">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="$new-date-time" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$number" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$char = 'D'">
+ <xsl:if test="$number <= 366">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="$new-date-time" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$number" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$char = 'w'">
+ <xsl:if test="$number <= 53">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="$new-date-time" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$number" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$char = 'W'">
+ <xsl:if test="$number <= 6">
+ <xsl:call-template name="date:parse-date">
+ <xsl:with-param name="date-time" select="$new-date-time" />
+ <xsl:with-param name="format" select="substring($format, $pattern-length + 1)" />
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="ampm" select="$ampm" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$number" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="formattedDate">
+ <xsl:call-template name="date:_construct-date">
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month" />
+ <xsl:with-param name="day" select="$day" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="days" select="$days" />
+ <xsl:with-param name="dow" select="$dow" />
+ <xsl:with-param name="dow-in-month" select="$dow-in-month" />
+ <xsl:with-param name="week" select="$week" />
+ <xsl:with-param name="week-in-month" select="$week-in-month" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:value-of select="string($formattedDate)" />
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template name="date:_construct-date">
+ <xsl:param name="year" select="'NaN'" />
+ <xsl:param name="month" select="'NaN'" />
+ <xsl:param name="day" select="'NaN'" />
+ <xsl:param name="hour" select="'NaN'" />
+ <xsl:param name="minute" select="'NaN'" />
+ <xsl:param name="second" select="'NaN'" />
+ <xsl:param name="days" select="'NaN'" />
+ <xsl:param name="dow" select="'NaN'" />
+ <xsl:param name="dow-in-month" select="'NaN'" />
+ <xsl:param name="week" select="'NaN'" />
+ <xsl:param name="week-in-month" select="'NaN'" />
+ <xsl:param name="epoch" select="''" />
+ <xsl:param name="timezone" select="''" />
+ <xsl:message>
+ year: <xsl:value-of select="$year" />
+ month: <xsl:value-of select="$month" />
+ day: <xsl:value-of select="$day" />
+ hour: <xsl:value-of select="$hour" />
+ minute: <xsl:value-of select="$minute" />
+ second: <xsl:value-of select="$second" />
+ </xsl:message>
+ <xsl:variable name="Y" select="number($year)" />
+ <xsl:variable name="M" select="number($month)" />
+ <xsl:variable name="D" select="number($day)" />
+ <xsl:variable name="h" select="number($hour)" />
+ <xsl:variable name="m" select="number($minute)" />
+ <xsl:variable name="s" select="number($second)" />
+ <xsl:variable name="date-time">
+ <xsl:choose>
+ <xsl:when test="($h = $h or $m = $m or $s = $s) and
+ not($h = $h and $m = $m and $s = $s)">
+ <xsl:call-template name="date:_construct-date">
+ <xsl:with-param name="year" select="$Y" />
+ <xsl:with-param name="month" select="$M" />
+ <xsl:with-param name="day" select="$D" />
+ <xsl:with-param name="hour">
+ <xsl:choose>
+ <xsl:when test="$h != $h">0</xsl:when>
+ <xsl:otherwise><xsl:value-of select="$h" /></xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="minute">
+ <xsl:choose>
+ <xsl:when test="$m != $m">0</xsl:when>
+ <xsl:otherwise><xsl:value-of select="$m" /></xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="second">
+ <xsl:choose>
+ <xsl:when test="$s != $s">0</xsl:when>
+ <xsl:otherwise><xsl:value-of select="$s" /></xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$Y and $M and $D">
+ <xsl:if test="$year > 0 and $epoch = 'BC'">-</xsl:if>
+ <xsl:value-of select="concat(format-number($Y, '0000'), '-',
+ format-number($M, '00'), '-',
+ format-number($D, '00'))" />
+ <xsl:if test="$h = $h and $m = $m and $s = $s">
+ <xsl:value-of select="concat('T', format-number($h, '00'),
+ ':', format-number($m, '00'),
+ ':', format-number($s, '00.#########'))" />
+ </xsl:if>
+ </xsl:when>
+ <xsl:when test="$Y">
+ <xsl:variable name="leap-year" select="$year mod 4 and (not($year mod 100) or $year mod 400)" />
+ <xsl:variable name="months" select="document('')/*/date:months/date:month" />
+ <xsl:choose>
+ <xsl:when test="number($days)">
+ <xsl:variable name="month-numbers">
+ <xsl:for-each select="$months">
+ <xsl:if test="(sum(preceding-sibling::date:month/@length) + ($leap-year and (position() > 2))) > $days">
+ <xsl:value-of select="position()" />:<xsl:text />
+ </xsl:if>
+ </xsl:for-each>
+ </xsl:variable>
+ <xsl:variable name="month-number" select="substring-before($month-numbers, ':') - 1" />
+ <xsl:variable name="month-node" select="$months[position() = $month-number]" />
+ <xsl:call-template name="date:_construct-date">
+ <xsl:with-param name="year" select="$year" />
+ <xsl:with-param name="month" select="$month-number" />
+ <xsl:with-param name="day" select="$days - sum($month-node/preceding-sibling::date:month/@length)" />
+ <xsl:with-param name="hour" select="$hour" />
+ <xsl:with-param name="minute" select="$minute" />
+ <xsl:with-param name="second" select="$second" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="number($dow) = number($dow) and number($week) = number($week)">
+ <xsl:variable name="y-1" select="$Y - 1" />
+ <xsl:variable name="start-day" select="($y-1 + floor($y-1 div 4) - floor($y-1 div 100) + floor($y-1 div 400)) mod 7" />
+ <xsl:variable name="day-of-week">
+ <xsl:choose>
+ <xsl:when test="$dow = 0">7</xsl:when>
+ <xsl:otherwise><xsl:value-of select="$dow" /></xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="day-in-year" select="$day-of-week - $start-day + (7 * ($week - ($start-day <= 4)))" />
+ <xsl:call-template name="date:_construct-date">
+ <xsl:with-param name="year">
+ <xsl:choose>
+ <xsl:when test="$day-in-year > (365 + $leap-year)"><xsl:value-of select="$Y + 1" /></xsl:when>
+ <xsl:otherwise><xsl:value-of select="$Y" /></xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="days">
+ <xsl:choose>
+ <xsl:when test="$day-in-year > (365 + $leap-year)"><xsl:value-of select="$day-in-year mod (365 + $leap-year)" /></xsl:when>
+ <xsl:otherwise><xsl:value-of select="$day-in-year" /></xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="hour" select="$h" />
+ <xsl:with-param name="minute" select="$m" />
+ <xsl:with-param name="second" select="$s" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$M and number($dow) = number($dow) and number($week-in-month) = number($week-in-month)">
+ <!--
+ $dow runs 0 (Sunday) -> 6 (Saturday)
+ $start-day runs 0 (Monday) -> 7 (Sunday)
+ $start-day-of-month runs 0 (Monday) -> 7 (Sunday)
+ -->
+ <xsl:variable name="y-1" select="$Y - 1" />
+ <xsl:variable name="start-day" select="($y-1 + floor($y-1 div 4) - floor($y-1 div 100) + floor($y-1 div 400)) mod 7" />
+ <xsl:variable name="start-day-of-month" select="($start-day + sum(document('')/*/date:months/date:month[$M]/preceding-sibling::date:month/@length)) mod 7" />
+ <xsl:call-template name="date:_construct-date">
+ <xsl:with-param name="year" select="$Y" />
+ <xsl:with-param name="month" select="$M" />
+ <xsl:with-param name="day">
+ <xsl:choose>
+ <xsl:when test="number($dow)"><xsl:value-of select="(7 * $week-in-month - 1) - $start-day-of-month + $dow" /></xsl:when>
+ <xsl:otherwise><xsl:value-of select="(7 * $week-in-month - 1) - $start-day-of-month + 7" /></xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="hour" select="$h" />
+ <xsl:with-param name="minute" select="$m" />
+ <xsl:with-param name="second" select="$s" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:when test="$h = $h or $m = $m or $s = $s or $D = $D">
+ <xsl:call-template name="date:_construct-date">
+ <xsl:with-param name="year" select="$Y" />
+ <xsl:with-param name="month">
+ <xsl:choose>
+ <xsl:when test="$M"><xsl:value-of select="$M" /></xsl:when>
+ <xsl:otherwise><xsl:value-of select="1" /></xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="day">
+ <xsl:choose>
+ <xsl:when test="$D"><xsl:value-of select="$D" /></xsl:when>
+ <xsl:otherwise><xsl:value-of select="1" /></xsl:otherwise>
+ </xsl:choose>
+ </xsl:with-param>
+ <xsl:with-param name="hour" select="$h" />
+ <xsl:with-param name="minute" select="$m" />
+ <xsl:with-param name="second" select="$s" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="$Y > 0 and $epoch = 'BC'">-</xsl:if>
+ <xsl:value-of select="format-number($Y, '0000')" />
+ <xsl:if test="$M">
+ <xsl:text />-<xsl:value-of select="format-number($M, '00')" />
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="$M and $D">
+ <xsl:choose>
+ <xsl:when test="$h = $h or $m = $m or $s = $s">
+ <xsl:call-template name="date:_construct-date">
+ <xsl:with-param name="year" select="1" />
+ <xsl:with-param name="month" select="$M" />
+ <xsl:with-param name="day" select="$D" />
+ <xsl:with-param name="hour" select="$h" />
+ <xsl:with-param name="minute" select="$m" />
+ <xsl:with-param name="second" select="$s" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="concat('--', format-number($M, '00'),
+ '-', format-number($D, '00'))" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="$M">
+ <xsl:choose>
+ <xsl:when test="$h = $h or $m = $m or $s = $s">
+ <xsl:call-template name="date:_construct-date">
+ <xsl:with-param name="year" select="1" />
+ <xsl:with-param name="month" select="$M" />
+ <xsl:with-param name="day" select="1" />
+ <xsl:with-param name="hour" select="$h" />
+ <xsl:with-param name="minute" select="$m" />
+ <xsl:with-param name="second" select="$s" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="concat('--', format-number($M, '00'), '--')" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="$D">
+ <xsl:choose>
+ <xsl:when test="$h = $h or $m = $m or $s = $s">
+ <xsl:call-template name="date:_construct-date">
+ <xsl:with-param name="year" select="1" />
+ <xsl:with-param name="month" select="1" />
+ <xsl:with-param name="day" select="$D" />
+ <xsl:with-param name="hour" select="$h" />
+ <xsl:with-param name="minute" select="$m" />
+ <xsl:with-param name="second" select="$s" />
+ <xsl:with-param name="epoch" select="$epoch" />
+ <xsl:with-param name="timezone" select="$timezone" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="concat('---', format-number($D, '00'))" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="$h = $h and $m = $m and $s = $s">
+ <xsl:value-of select="concat(format-number($h, '00'), ':',
+ format-number($m, '00'), ':',
+ format-number($s, '00.#########'))" />
+ </xsl:when>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:value-of select="string($date-time)" />
+</xsl:template>
+
+</xsl:stylesheet>
Propchange: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/stylesheets/utils/date.parse-date.template.xsl
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/stylesheets/utils/str.padding.template.xsl
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/stylesheets/utils/str.padding.template.xsl?rev=634254&view=auto
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/stylesheets/utils/str.padding.template.xsl (added)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/stylesheets/utils/str.padding.template.xsl Thu Mar 6 05:00:31 2008
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:str="http://exslt.org/strings"
+ extension-element-prefixes="str">
+
+<xsl:template name="str:padding">
+ <xsl:param name="length" select="0" />
+ <xsl:param name="chars" select="' '" />
+ <xsl:choose>
+ <xsl:when test="not($length) or not($chars)" />
+ <xsl:otherwise>
+ <xsl:variable name="string"
+ select="concat($chars, $chars, $chars, $chars, $chars,
+ $chars, $chars, $chars, $chars, $chars)" />
+ <xsl:choose>
+ <xsl:when test="string-length($string) >= $length">
+ <xsl:value-of select="substring($string, 1, $length)" />
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="str:padding">
+ <xsl:with-param name="length" select="$length" />
+ <xsl:with-param name="chars" select="$string" />
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file
Propchange: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/stylesheets/utils/str.padding.template.xsl
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/html/baetle-embedded.ft
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/html/baetle-embedded.ft?rev=634254&view=auto
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/html/baetle-embedded.ft (added)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/html/baetle-embedded.ft Thu Mar 6 05:00:31 2008
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<forrest:contract xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
+ xmlns:forrest="http://apache.org/forrest/templates/1.0"
+ name="baetle-embedded">
+ <description>
+ <p>
+ This template outputs html link elements for embedding Baetle files.
+ </p>
+ <p>
+ The contract requires the locations of Baetle files to be passed in as
+ parameters using the following syntax:
+ </p>
+ <source><baetle url="<em>issue.rdf</em>"></source>
+ <ul>
+ <li><strong>url</strong> attribute indicates the location of the Baetle
+ file. The <strong>url</strong> attribute is required.
+ </li>
+ <li><strong>title</strong> attribute indicates the title of the Baetle
+ file. The <strong>title</strong> attribute is optional an has a
+ default value of "Baetle".
+ </li>
+ </ul>
+ </description>
+ <usage>
+<![CDATA[<forrest:contract name="baetle-embedded">
+ <forrest:property name="baetle-embedded-links">
+ <baetle url="foo.rdf"/>
+ <baetle url="foo.bar.xml"/>
+ ...
+ </forrest:property>
+ </forrest:contract>]]>
+ </usage>
+ <forrest:template xmlns:forrest="http://apache.org/forrest/templates/1.0"
+ name="baetle-embedded" inputFormat="xsl">
+
+ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:forrest="http://apache.org/forrest/templates/1.0"
+ version="1.1">
+ <xsl:param name="baetle-embedded-links"/>
+ <xsl:template match="/">
+ <forrest:content>
+ <forrest:part xpath="/html/head">
+ <xsl:apply-templates select="$baetle-embedded-links"/>
+ </forrest:part>
+ </forrest:content>
+ </xsl:template>
+
+ <xsl:template match="baetle[@url]">
+ <link rel="meta" type="application/rdf+xml">
+ <xsl:choose>
+ <xsl:when test="@title">
+ <xsl:attribute name="title">
+ <xsl:value-of select="@title"/>
+ </xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="title">Baetle</xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:attribute name="href">
+ <xsl:value-of select="@url"/>
+ </xsl:attribute></link>
+ </xsl:template>
+ </xsl:stylesheet>
+ </forrest:template>
+</forrest:contract>
Propchange: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/html/baetle-embedded.ft
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/html/baetle-issue-summary.ft
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/html/baetle-issue-summary.ft?rev=634254&view=auto
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/html/baetle-issue-summary.ft (added)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/html/baetle-issue-summary.ft Thu Mar 6 05:00:31 2008
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<forrest:contract xmlns:forrest="http://apache.org/forrest/templates/1.0"
+ name="baetle-issue-summary">
+ <description>
+ baetle-issue-summary - Inserts an issue summary in sidebar.
+ </description>
+ <usage>
+<![CDATA[<forrest:contract name="baetle-issue-summary" dataURI="cocoon://#{$getRequest}.issueSummary.xml"/>]]>
+ </usage>
+ <forrest:template xmlns:forrest="http://apache.org/forrest/templates/1.0"
+ name="baetle-issue-summary" inputFormat="xsl" >
+ <xsl:stylesheet version="1.1"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:template match="/">
+ <forrest:content>
+ <forrest:part xpath="/html/body//div[@id='sidebar']">
+ <xsl:comment>+ |start baetle-issue-summary +</xsl:comment>
+ <xsl:variable name="node" select="section[@id='issueDetails']"/>
+ <div id="issueDetails">
+ <h3>
+ <xsl:value-of select="$node/title[1]"/>
+ </h3>
+ <xsl:copy-of select="$node/table"/>
+ </div>
+ <xsl:comment>+ |end baetle-issue-summary +</xsl:comment>
+ </forrest:part>
+ </forrest:content>
+ </xsl:template>
+ </xsl:stylesheet>
+ </forrest:template>
+</forrest:contract>
Propchange: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/html/baetle-issue-summary.ft
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/html/content-baetle-link.ft
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/html/content-baetle-link.ft?rev=634254&view=auto
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/html/content-baetle-link.ft (added)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/html/content-baetle-link.ft Thu Mar 6 05:00:31 2008
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<forrest:contract name="content-baetle-link"
+ xmlns:forrest="http://apache.org/forrest/templates/1.0">
+ <description>
+ content-baetle-link will output the baetle link with image to the content.
+ </description>
+ <usage>
+<![CDATA[<forrest:contract name="content-baetle-link"/>]]>
+ </usage>
+ <forrest:template xmlns:forrest="http://apache.org/forrest/templates/1.0"
+ name="content-baetle-link" inputFormat="xsl" >
+ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.1">
+ <xsl:param name="defaultVariables" select="'test.html'"/>
+ <xsl:variable name="skin-img-dir"
+ select="$defaultVariables/*/*[@name='skin-img-dir']/@value"/>
+ <xsl:variable name="filename-noext"
+ select="$defaultVariables/*/*[@name='filename-noext']/@value"/>
+ <xsl:template match="/">
+ <forrest:content>
+ <forrest:part><a href="{$filename-noext}.rdf" class="format">
+ <img class="skin" src="{$skin-img-dir}/baetle-rdf.png"
+ alt="Baetle RDF - Icon"/>
+ <span class="caption">baetle</span></a>
+ </forrest:part>
+ </forrest:content>
+ </xsl:template>
+ </xsl:stylesheet>
+ </forrest:template>
+</forrest:contract>
Propchange: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/html/content-baetle-link.ft
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/images/baetle-rdf.png
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/images/baetle-rdf.png?rev=634254&view=auto
==============================================================================
Binary file - no diff available.
Propchange: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/resources/themes/common/images/baetle-rdf.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/classes/CatalogManager.properties
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/classes/CatalogManager.properties?rev=634254&view=auto
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/classes/CatalogManager.properties (added)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/classes/CatalogManager.properties Thu Mar 6 05:00:31 2008
@@ -0,0 +1,20 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#=======================================================================
+# CatalogManager.properties for Catalog Entity Resolver.
+#
+# This is a minimal properties file to prevent a confusing warning.
+catalogs=
Propchange: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/classes/CatalogManager.properties
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/locationmap.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/locationmap.xml?rev=634254&view=auto
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/locationmap.xml (added)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/locationmap.xml Thu Mar 6 05:00:31 2008
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<locationmap xmlns="http://apache.org/forrest/locationmap/1.0">
+ <components>
+ <matchers default="lm">
+ <matcher name="lm"
+ src="org.apache.forrest.locationmap.WildcardLocationMapHintMatcher"/>
+ </matchers>
+ <selectors default="exists">
+ <selector name="exists" logger="sitemap.selector.exists"
+ src="org.apache.forrest.sourceexists.SourceExistsSelector"/>
+ </selectors>
+ </components>
+ <locator>
+ <match pattern="baetle.bissues.*">
+ <location src="https://issues.apache.org/jira/si/jira.issueviews:issue-xml/{1}/{1}.xml"/>
+ </match>
+ <match pattern="baetle.bissues.filter.*">
+ <location src="http://issues.apache.org/jira/sr/jira.issueviews:searchrequest-xml/12310472/SearchRequest-12310472.xml"/>
+ </match>
+ </locator>
+</locationmap>
Propchange: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/locationmap.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/Thumbs.db
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/Thumbs.db?rev=634254&view=auto
==============================================================================
Binary file - no diff available.
Propchange: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/Thumbs.db
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/favicon.ico
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/favicon.ico?rev=634254&view=auto
==============================================================================
Binary file - no diff available.
Propchange: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/favicon.ico
------------------------------------------------------------------------------
svn:mime-type = image/x-icon
Added: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/icon.png
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/icon.png?rev=634254&view=auto
==============================================================================
Binary file - no diff available.
Propchange: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/icon.png
------------------------------------------------------------------------------
svn:mime-type = image/png
Added: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/project-logo.gif
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/project-logo.gif?rev=634254&view=auto
==============================================================================
Binary file - no diff available.
Propchange: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/project-logo.gif
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/project.svg
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/project.svg?rev=634254&view=auto
==============================================================================
--- forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/project.svg (added)
+++ forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/project.svg Thu Mar 6 05:00:31 2008
@@ -0,0 +1,82 @@
+<?xml version="1.0" standalone="no"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!--
+ SVG Anteater logo
+
+To get started with SVG, I'd recommend getting the Adobe SVG plugin, and the
+xml-batik CVS module. Then have a look at the xml-batik/samples files. Use the
+SVG spec (http://www.w3.org/TR/SVG/) as a reference.
+-->
+
+<!-- See Forrest Issue: FOR-229
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"
+[
+ <!ATTLIST svg xmlns:for CDATA #FIXED "http://apache.org/forrest">
+ <!ENTITY % textExt "|for:project-name">
+ <!ELEMENT for:project-name (#PCDATA)>
+]>
+-->
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xsl:version="1.0"
+ xmlns:for="http://apache.org/forrest"
+ width="220" height="65" >
+ <title>Anteater logo</title>
+
+ <defs>
+
+ <!--
+ <radialGradient id="radialGradient">
+ <stop style="stop-color:gold" offset="0"/>
+ <stop style="stop-color:orange" offset=".5"/>
+ <stop style="stop-color:crimson" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient">
+ <stop style="stop-color:gold" offset="0"/>
+ <stop style="stop-color:orange" offset=".5"/>
+ <stop style="stop-color:crimson" offset="1"/>
+ </linearGradient>
+ -->
+
+ <linearGradient id="gradient" x1="0" y1="0" x2="0" y2="1">
+ <stop style="stop-color:white" offset="0"/>
+ <stop style="stop-color:lightgreen" offset="1"/>
+ </linearGradient>
+
+ <filter id="shadowFilter" filterUnits="objectBoundingBox">
+ <!-- Takes the alpha channel (black outline of the text), blurs it and saves as 'blur' -->
+ <feGaussianBlur in="SourceAlpha" stdDeviation="2 2" result="blur"/>
+ <!-- Takes saved 'blur' and offsets it by 4 pixels, saves as 'offsetBlur' -->
+ <feOffset in="blur" dx="4" dy="4" result="offsetBlur"/>
+ <!-- Merges SourceGraphic (original image) and 'offsetBlur', putting the
+ former 'over' the latter, and using the merged result as the finished
+ image -->
+ <feComposite in="SourceGraphic" in2="offsetBlur" operator="over"/>
+ </filter>
+
+ </defs>
+
+ <g filter="url(#shadowFilter)" fill="url(#gradient)">
+ <text x="51%" y="75%" style="font-size:32pt; font-family:Verdana ; text-anchor: middle" >
+ <for:project-name />
+ </text>
+ </g>
+</svg>
Propchange: forrest/trunk/whiteboard/plugins/org.apache.forrest.plugin.input.baetle/src/documentation/content/xdocs/images/project.svg
------------------------------------------------------------------------------
svn:eol-style = native