- Add support for automatic ChangeLog creation with svn2cl
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@171 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
parent
d41e5ff4b8
commit
9f0ed52cbf
83
ChangeLog
83
ChangeLog
|
@ -1,37 +1,50 @@
|
||||||
2006-01-13 gettextize <bug-gnu-gettext@gnu.org>
|
2006-01-13 16:00 tchernobog
|
||||||
|
|
||||||
* m4/codeset.m4: New file, from gettext-0.14.5.
|
* trunk/autogen.sh, trunk/configure.ac: - Add macro for autopoint
|
||||||
* m4/gettext.m4: New file, from gettext-0.14.5.
|
|
||||||
* m4/glibc2.m4: New file, from gettext-0.14.5.
|
2006-01-13 15:52 tchernobog
|
||||||
* m4/glibc21.m4: New file, from gettext-0.14.5.
|
|
||||||
* m4/iconv.m4: New file, from gettext-0.14.5.
|
* trunk/ChangeLog, trunk/Makefile.am, trunk/autogen.sh,
|
||||||
* m4/intdiv0.m4: New file, from gettext-0.14.5.
|
trunk/configure.ac, trunk/doc/Makefile.am, trunk/doc/sgpem2.texi,
|
||||||
* m4/intmax.m4: New file, from gettext-0.14.5.
|
trunk/doc/sgpem2dman.texi, trunk/doc/sgpem2uman.texi,
|
||||||
* m4/inttypes.m4: New file, from gettext-0.14.5.
|
trunk/gettext.h, trunk/m4/Makefile.am, trunk/m4/ac_pkg_swig.m4,
|
||||||
* m4/inttypes_h.m4: New file, from gettext-0.14.5.
|
trunk/m4/ac_python_devel.m4, trunk/m4/ac_python_module.m4,
|
||||||
* m4/inttypes-pri.m4: New file, from gettext-0.14.5.
|
trunk/po/ChangeLog, trunk/po/Makevars, trunk/po/POTFILES.in: -
|
||||||
* m4/isc-posix.m4: New file, from gettext-0.14.5.
|
Added libtool, gettext support - Added needed m4 macros - fixed
|
||||||
* m4/lcmessage.m4: New file, from gettext-0.14.5.
|
autogen.sh to be made executable - fix directory categories with
|
||||||
* m4/lib-ld.m4: New file, from gettext-0.14.5.
|
info manuals
|
||||||
* m4/lib-link.m4: New file, from gettext-0.14.5.
|
|
||||||
* m4/lib-prefix.m4: New file, from gettext-0.14.5.
|
2005-12-30 20:09 tchernobog
|
||||||
* m4/longdouble.m4: New file, from gettext-0.14.5.
|
|
||||||
* m4/longlong.m4: New file, from gettext-0.14.5.
|
* trunk/autogen.sh, trunk/configure.ac: - Fix autoreconf parameters
|
||||||
* m4/nls.m4: New file, from gettext-0.14.5.
|
in autogen.sh - Change obsolete macros in configure.ac
|
||||||
* m4/po.m4: New file, from gettext-0.14.5.
|
|
||||||
* m4/printf-posix.m4: New file, from gettext-0.14.5.
|
2005-12-30 19:40 tchernobog
|
||||||
* m4/progtest.m4: New file, from gettext-0.14.5.
|
|
||||||
* m4/signed.m4: New file, from gettext-0.14.5.
|
* trunk/AUTHORS, trunk/COPYING, trunk/ChangeLog, trunk/Makefile.am,
|
||||||
* m4/size_max.m4: New file, from gettext-0.14.5.
|
trunk/NEWS, trunk/README, trunk/autogen.sh, trunk/configure.ac,
|
||||||
* m4/stdint_h.m4: New file, from gettext-0.14.5.
|
trunk/doc/Makefile.am, trunk/doc/sgpem2.texi,
|
||||||
* m4/uintmax_t.m4: New file, from gettext-0.14.5.
|
trunk/doc/sgpem2dman.texi, trunk/doc/sgpem2uman.texi,
|
||||||
* m4/ulonglong.m4: New file, from gettext-0.14.5.
|
trunk/m4/Makefile.am, trunk/m4/compilerflags.m4: - Lay out
|
||||||
* m4/wchar_t.m4: New file, from gettext-0.14.5.
|
autotools foundations
|
||||||
* m4/wint_t.m4: New file, from gettext-0.14.5.
|
|
||||||
* m4/xsize.m4: New file, from gettext-0.14.5.
|
2005-12-26 23:21 tchernobog
|
||||||
* m4/Makefile.am (EXTRA_DIST): New variable.
|
|
||||||
* Makefile.am (EXTRA_DIST): Add config/config.rpath, config/mkinstalldirs.
|
* trunk/doc/gpl.texi, trunk/doc/sgpem2dman.texi: - Changed dir
|
||||||
* configure.ac (AC_CONFIG_FILES): Add po/Makefile.in.
|
layout to reflect current repository setup - Added how to insert
|
||||||
|
license info in the source files
|
||||||
|
|
||||||
|
2005-12-21 12:22 johnny
|
||||||
|
|
||||||
|
* trunk/data, trunk/desktop, trunk/distro, trunk/m4, trunk/po: -
|
||||||
|
Added directories as defined in developers' manual.
|
||||||
|
|
||||||
|
2005-12-21 12:09 johnny
|
||||||
|
|
||||||
|
* docs/manuals, src, trunk/doc, trunk/src: - Moved src in trunk/src
|
||||||
|
- Moved docs/manuals in trunk/doc
|
||||||
|
|
||||||
|
2005-12-21 12:06 johnny
|
||||||
|
|
||||||
|
* branches, tags, trunk: - Added directories tags, trunk, branches.
|
||||||
|
|
||||||
2005, December 30th Matteo Settenvini <matteo@member.fsf.org>
|
|
||||||
* Lay out autotools foundations
|
|
||||||
|
|
11
autogen.sh
11
autogen.sh
|
@ -1,7 +1,14 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
if [ ! -d config ]; then
|
# Changelog from SVN (svn2cl)
|
||||||
mkdir config
|
if [ -d .svn ]; then
|
||||||
|
if [ "x$no_log" != "x1" ]; then
|
||||||
|
# only recreate if we in svn repository
|
||||||
|
echo "*info* creating ChangeLog from SVN history"
|
||||||
|
sh ./config/svn2cl.sh
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
touch ChangeLog
|
||||||
|
|
||||||
|
# run autoreconf
|
||||||
autoreconf -i --warnings=all -B m4 -v
|
autoreconf -i --warnings=all -B m4 -v
|
||||||
|
|
|
@ -0,0 +1,130 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# svn2cl.sh - front end shell script for svn2cl.xsl, calls xsltproc
|
||||||
|
# with the correct parameters
|
||||||
|
#
|
||||||
|
# Copyright (C) 2005 Arthur de Jong.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in
|
||||||
|
# the documentation and/or other materials provided with the
|
||||||
|
# distribution.
|
||||||
|
# 3. The name of the author may not be used to endorse or promote
|
||||||
|
# products derived from this software without specific prior
|
||||||
|
# written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||||
|
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||||
|
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||||
|
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
||||||
|
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||||
|
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
# exit on any failures
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# svn2cl version
|
||||||
|
VERSION="0.3"
|
||||||
|
|
||||||
|
# set default parameters
|
||||||
|
STRIPPREFIX=`basename $(pwd)`
|
||||||
|
LINELEN=75
|
||||||
|
GROUPBYDAY="no"
|
||||||
|
INCLUDEREV="no"
|
||||||
|
CHANGELOG="ChangeLog"
|
||||||
|
|
||||||
|
# do command line checking
|
||||||
|
prog=`basename $0`
|
||||||
|
while [ -n "$1" ]
|
||||||
|
do
|
||||||
|
case "$1" in
|
||||||
|
--strip-prefix)
|
||||||
|
STRIPPREFIX="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
--linelen)
|
||||||
|
LINELEN="$2";
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
--group-by-day)
|
||||||
|
GROUPBYDAY="yes";
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-r|--include-rev)
|
||||||
|
INCLUDEREV="yes";
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-o|--output)
|
||||||
|
CHANGELOG="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
--stdout)
|
||||||
|
CHANGELOG="-"
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
-V|--version)
|
||||||
|
echo "$prog $VERSION";
|
||||||
|
echo "Written by Arthur de Jong."
|
||||||
|
echo ""
|
||||||
|
echo "Copyright (C) 2005 Arthur de Jong."
|
||||||
|
echo "This is free software; see the source for copying conditions. There is NO"
|
||||||
|
echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
-h|--help)
|
||||||
|
echo "Usage: $prog [OPTION]..."
|
||||||
|
echo "Generate a ChangeLog from a checked out subversion repository."
|
||||||
|
echo ""
|
||||||
|
echo " --strip-prefix NAME prefix to strip from all entries, defaults"
|
||||||
|
echo " to the name of the current directory"
|
||||||
|
echo " --linelen NUM maximum length of an output line"
|
||||||
|
echo " --group-by-day group changelog entries by day"
|
||||||
|
echo " -r, --include-rev include revision numbers"
|
||||||
|
echo " -o, --output FILE output to FILE instead of ChangeLog"
|
||||||
|
echo " -f, --file FILE alias for -o, --output"
|
||||||
|
echo " --stdout output to stdout instead of ChangeLog"
|
||||||
|
echo " -h, --help display this help and exit"
|
||||||
|
echo " -V, --version output version information and exit"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "$prog: invalid option -- $1"
|
||||||
|
echo "Try \`$prog --help' for more information."
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
# find the directory that this script resides in
|
||||||
|
prog="$0"
|
||||||
|
while [ -h "$prog" ]
|
||||||
|
do
|
||||||
|
prog=`ls -ld "$prog" | sed "s/^.*-> \(.*\)/\1/;/^[^/]/s,^,$(dirname "$prog")/,"`
|
||||||
|
done
|
||||||
|
dir=`dirname $prog`
|
||||||
|
dir=`cd $dir && pwd`
|
||||||
|
XSL="$dir/svn2cl.xsl"
|
||||||
|
|
||||||
|
# redirect stdout to the changelog file if needed
|
||||||
|
if [ "x$CHANGELOG" != "x-" ]
|
||||||
|
then
|
||||||
|
exec > "$CHANGELOG"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# actually run the command we need
|
||||||
|
svn --verbose --xml log | \
|
||||||
|
xsltproc --stringparam strip-prefix "$STRIPPREFIX" \
|
||||||
|
--stringparam linelen $LINELEN \
|
||||||
|
--stringparam groupbyday $GROUPBYDAY \
|
||||||
|
--stringparam include-rev $INCLUDEREV \
|
||||||
|
"$XSL" -
|
|
@ -0,0 +1,215 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
svn2cl.xsl - xslt stylesheet for converting svn log to a normal
|
||||||
|
changelog
|
||||||
|
|
||||||
|
This file is based on several implementations of this conversion
|
||||||
|
that I was not completely happy with and some other common
|
||||||
|
xslt constructs found on the web.
|
||||||
|
|
||||||
|
Copyright (C) 2004 Arthur de Jong.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in
|
||||||
|
the documentation and/or other materials provided with the
|
||||||
|
distribution.
|
||||||
|
3. The name of the author may not be used to endorse or promote
|
||||||
|
products derived from this software without specific prior
|
||||||
|
written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||||
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||||
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||||
|
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
||||||
|
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||||
|
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
TODO
|
||||||
|
- make external lookups of author names possible
|
||||||
|
- find a place for revision numbers
|
||||||
|
- mark deleted files as such
|
||||||
|
- combine paths
|
||||||
|
- make stripping of characters nicer
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:stylesheet
|
||||||
|
version="1.0"
|
||||||
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
|
||||||
|
<xsl:output
|
||||||
|
method="text"
|
||||||
|
encoding="iso-8859-15"
|
||||||
|
media-type="text/plain"
|
||||||
|
omit-xml-declaration="yes"
|
||||||
|
standalone="yes"
|
||||||
|
indent="no" />
|
||||||
|
|
||||||
|
<xsl:strip-space elements="*" />
|
||||||
|
|
||||||
|
<!-- the prefix of pathnames to strip -->
|
||||||
|
<xsl:param name="strip-prefix" select="'/'" />
|
||||||
|
|
||||||
|
<!-- format one entry from the log -->
|
||||||
|
<xsl:template match="logentry">
|
||||||
|
<!-- date -->
|
||||||
|
<xsl:apply-templates select="date" />
|
||||||
|
<!-- two spaces -->
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
<!-- author's name -->
|
||||||
|
<xsl:apply-templates select="author" />
|
||||||
|
<!-- two newlines -->
|
||||||
|
<xsl:text>
|
||||||
|
|
||||||
|
</xsl:text>
|
||||||
|
<!-- the log message -->
|
||||||
|
<xsl:apply-templates select="msg" />
|
||||||
|
<!-- another two newlines -->
|
||||||
|
<xsl:text>
|
||||||
|
|
||||||
|
</xsl:text>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- format date -->
|
||||||
|
<xsl:template match="date">
|
||||||
|
<xsl:variable name="date" select="normalize-space(.)" />
|
||||||
|
<xsl:value-of select="substring($date,1,10)" />
|
||||||
|
<xsl:text> </xsl:text>
|
||||||
|
<xsl:value-of select="substring($date,12,5)" />
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- format author -->
|
||||||
|
<xsl:template match="author">
|
||||||
|
<xsl:value-of select="normalize-space(.)" />
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- format log message -->
|
||||||
|
<xsl:template match="msg">
|
||||||
|
<!-- first line is indented (other indents are done in wrap template) -->
|
||||||
|
<xsl:text> * </xsl:text>
|
||||||
|
<!-- get paths string -->
|
||||||
|
<xsl:variable name="paths">
|
||||||
|
<xsl:apply-templates select="../paths" />
|
||||||
|
</xsl:variable>
|
||||||
|
<!-- print the paths and message nicely wrapped -->
|
||||||
|
<xsl:call-template name="wrap">
|
||||||
|
<xsl:with-param name="txt" select="concat($paths,': ',normalize-space(.))" />
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- present paths nice -->
|
||||||
|
<xsl:template match="paths">
|
||||||
|
<xsl:for-each select="path">
|
||||||
|
<xsl:sort select="normalize-space(.)" data-type="text" />
|
||||||
|
<xsl:if test="not(position()=1)">
|
||||||
|
<xsl:text>, </xsl:text>
|
||||||
|
</xsl:if>
|
||||||
|
<xsl:variable name="p1" select="normalize-space(.)" />
|
||||||
|
<xsl:variable name="p2">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="starts-with($p1,'/')">
|
||||||
|
<xsl:value-of select="substring($p1,2)" />
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:value-of select="$p1" />
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="p3">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="starts-with($p2,$strip-prefix)">
|
||||||
|
<xsl:value-of select="substring($p2,1+string-length($strip-prefix))" />
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:value-of select="$p2" />
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:variable name="p4">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="starts-with($p3,'/')">
|
||||||
|
<xsl:value-of select="substring($p3,2)" />
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:value-of select="$p3" />
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="$p4 = ''">
|
||||||
|
<xsl:value-of select="'.'" />
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:value-of select="$p4" />
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:for-each>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- string-wrapping template -->
|
||||||
|
<xsl:template name="wrap">
|
||||||
|
<xsl:param name="txt" />
|
||||||
|
<xsl:variable name="linelen" select="67" />
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="(string-length($txt) < $linelen) or not(contains($txt,' '))">
|
||||||
|
<!-- this is easy, nothing to do -->
|
||||||
|
<xsl:value-of select="$txt" />
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<!-- find the first line -->
|
||||||
|
<xsl:variable name="tmp" select="substring($txt,1,$linelen)" />
|
||||||
|
<xsl:variable name="line">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="contains($tmp,' ')">
|
||||||
|
<xsl:call-template name="find-line">
|
||||||
|
<xsl:with-param name="txt" select="$tmp" />
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:value-of select="substring-before($txt,' ')" />
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:variable>
|
||||||
|
<!-- print line and newline -->
|
||||||
|
<xsl:value-of select="$line" />
|
||||||
|
<xsl:text>
|
||||||
|
</xsl:text>
|
||||||
|
<!-- wrap the rest of the text -->
|
||||||
|
<xsl:call-template name="wrap">
|
||||||
|
<xsl:with-param name="txt" select="normalize-space(substring($txt,string-length($line)+1))" />
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- template to trim line to contain space as last char -->
|
||||||
|
<xsl:template name="find-line">
|
||||||
|
<xsl:param name="txt" />
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="substring($txt,string-length($txt),1) = ' '">
|
||||||
|
<xsl:value-of select="normalize-space($txt)" />
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<xsl:call-template name="find-line">
|
||||||
|
<xsl:with-param name="txt" select="substring($txt,1,string-length($txt)-1)" />
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
Loading…
Reference in New Issue