[libvirt] [PATCH 2/3] Improve tokenizing of linkable terms

Philipp Hahn hahn at univention.de
Thu Aug 11 12:44:00 UTC 2011


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 at 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





More information about the libvir-list mailing list