Improve text export.

This commit is contained in:
Paulo Gustavo Veiga
2013-04-04 22:11:59 -03:00
parent 9686431874
commit 65283a0edc
21 changed files with 1312 additions and 3488 deletions

View File

@@ -15,6 +15,7 @@
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" indent="no" encoding="UTF-8"/>
<xsl:strip-space elements="*"/>
<xsl:key name="refid" match="node" use="@ID"/>
<xsl:template match="/">
@@ -22,10 +23,32 @@
</xsl:template>
<xsl:template match="node">
<xsl:variable name="thisid" select="@ID"/>
<xsl:call-template name="indent">
<xsl:with-param name="string" select="'&#009;'"/>
<xsl:with-param name="times" select="count(ancestor::node())-2"/>
</xsl:call-template>
<xsl:variable name="target" select="arrowlink/@DESTINATION"/>
<xsl:number level="multiple" count="node" format="1"/>
<xsl:text> </xsl:text><xsl:value-of select="@TEXT"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@TEXT"/>
<!-- Generate Link -->
<xsl:if test="@LINK">
<xsl:text>&#10;</xsl:text>
<xsl:call-template name="indent">
<xsl:with-param name="string" select="'&#009;'"/>
<xsl:with-param name="times" select="count(ancestor::node())-1"/>
</xsl:call-template>
<xsl:text>* Link: </xsl:text>
<xsl:value-of select="@LINK"/>
</xsl:if>
<!-- Generate Note -->
<xsl:apply-templates select="richcontent[@TYPE='NOTE']"/>
<xsl:text>&#10;</xsl:text>
<!-- Generate References -->
<xsl:if test="arrowlink/@DESTINATION != ''">
<xsl:text> (see:</xsl:text>
<xsl:for-each select="key('refid', $target)">
@@ -33,7 +56,30 @@
</xsl:for-each>
<xsl:text>)</xsl:text>
</xsl:if>
<xsl:apply-templates select="node"/>
</xsl:template>
<xsl:template match="richcontent[@TYPE='NOTE']">
<xsl:text>&#10;</xsl:text>
<xsl:call-template name="indent">
<xsl:with-param name="string" select="'&#009;'"/>
<xsl:with-param name="times" select="count(ancestor::node())-2"/>
</xsl:call-template>
<xsl:text>* Note: </xsl:text>
<xsl:apply-templates/>
</xsl:template>
<xsl:template name="indent">
<xsl:param name="string" select="''"/>
<xsl:param name="times" select="1"/>
<xsl:if test="number($times) &gt; 0">
<xsl:value-of select="$string"/>
<xsl:call-template name="indent">
<xsl:with-param name="string" select="$string"/>
<xsl:with-param name="times" select="$times - 1"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>