annotate doc/wiki2docbook/html2db/html2db-utils.xsl @ 1734:b92fc3c922ac

scripts for converting wiki documentation to docbook
author nadvornik
date Sun, 22 Nov 2009 09:12:22 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1734
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
1 <?xml version="1.0" encoding="utf-8"?>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
2 <!-- Copyright 2004 by Laszlo Systems, Inc.
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
3 Released under the Artistic License.
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
4 Written by Oliver Steele.
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
5 http://osteele.com/sources/xslt/htm2db/
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
6
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
7 Utility functions
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
8 -->
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
9 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
10 xmlns:exslt="http://exslt.org/common"
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
11 xmlns:math="http://exslt.org/math"
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
12 xmlns:xalan="http://xml.apache.org/xalan"
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
13 xmlns:html2db="urn:html2db"
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
14 xmlns:db="urn:docbook"
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
15 xmlns:h="http://www.w3.org/1999/xhtml"
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
16 exclude-result-prefixes="db exslt h html2db math xalan"
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
17 extension-element-prefixes="html2db"
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
18 version="1.0">
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
19
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
20 <!-- Wrap with ", and backslash " and \ -->
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
21 <xsl:template name="quote">
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
22 <xsl:param name="str" select="string(.)"/>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
23 <xsl:param name="lquo" select="'&quot;'"/>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
24 <xsl:param name="rquo" select="'&quot;'"/>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
25 <!-- first " -->
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
26 <xsl:variable name="qpos" select="string-length(substring-before($str, '&quot;'))"/>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
27 <!-- first \ -->
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
28 <xsl:variable name="bspos" select="string-length(substring-before($str, '\\'))"/>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
29 <!-- first " or \ -->
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
30 <xsl:variable name="pos">
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
31 <xsl:choose>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
32 <xsl:when test="$qpos=0"><xsl:value-of select="$bspos"/></xsl:when>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
33 <xsl:when test="$bspos=0"><xsl:value-of select="$qpos"/></xsl:when>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
34 <xsl:when test="$qpos&lt;$bspos">
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
35 <xsl:value-of select="$qpos"/>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
36 </xsl:when>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
37 <xsl:when test="$bspos">
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
38 <xsl:value-of select="$bspos"/>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
39 </xsl:when>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
40 </xsl:choose>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
41 </xsl:variable>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
42 <xsl:value-of select="$lquo"/>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
43 <xsl:choose>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
44 <xsl:when test="$pos!=0">
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
45 <xsl:value-of select="substring($str, 1, $pos)"/>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
46 <xsl:text>\</xsl:text>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
47 <xsl:value-of select="substring($str, $pos + 1, 1)"/>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
48 <xsl:call-template name="quote">
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
49 <xsl:with-param name="str" select="substring($str, $pos + 2)"/>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
50 <xsl:with-param name="lquo" select="''"/>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
51 <xsl:with-param name="rquo" select="''"/>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
52 </xsl:call-template>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
53 </xsl:when>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
54 <xsl:otherwise>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
55 <xsl:value-of select="$str"/>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
56 </xsl:otherwise>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
57 </xsl:choose>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
58 <xsl:value-of select="$rquo"/>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
59 </xsl:template>
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
60
b92fc3c922ac scripts for converting wiki documentation to docbook
nadvornik
parents:
diff changeset
61 </xsl:stylesheet>