Currently only tabs and blanks are used for tokenizing the description,
which breaks when a term is at the end of a line or has () appended to
it.
1. Use also other white space characters such as new-lines and carriage
return for splitting.
2. Remove some common non-word characters from the token before lookup.
Signed-off-by: Philipp Hahn <hahn(a)univention.de>
---
docs/newapi.xsl | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/docs/newapi.xsl b/docs/newapi.xsl
index 445a48c..6e1c646 100644
--- a/docs/newapi.xsl
+++ b/docs/newapi.xsl
@@ -54,10 +54,13 @@
because the keys are only defined on the main document -->
<xsl:template mode="dumptoken" match='*'>
<xsl:param name="token"/>
- <xsl:variable name="ref" select="key('symbols',
$token)"/>
+ <xsl:variable name="stem" select="translate($token,
'(),.:;@', '')"/>
+ <xsl:variable name="ref" select="key('symbols',
$stem)"/>
<xsl:choose>
<xsl:when test="$ref">
- <a href="libvirt-{$ref/@file}.html#{$ref/@name}"><xsl:value-of
select="$token"/></a>
+ <xsl:value-of select="substring-before($token, $stem)"/>
+ <a href="libvirt-{$ref/@file}.html#{$ref/@name}"><xsl:value-of
select="$stem"/></a>
+ <xsl:value-of select="substring-after($token, $stem)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$token"/>
@@ -70,7 +73,7 @@
<xsl:param name="text"/>
<xsl:variable name="ctxt" select='.'/>
<!-- <xsl:value-of select="$text"/> -->
- <xsl:for-each select="str:tokenize($text, ' 	')">
+ <xsl:for-each select="str:tokenize($text, '
	 ')">
<xsl:apply-templates select="$ctxt" mode='dumptoken'>
<xsl:with-param name="token" select="string(.)"/>
</xsl:apply-templates>
--
1.7.1