annotate doc/wiki2docbook/html2db/html2db-utils.xsl @ 1811:f405ec9b696b default tip

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