28bce0b95f
2006/12/27 14:17:28 cmc 1.4.98.2: #i30380# integrate libxslt 2006/12/24 09:35:52 cmc 1.4.98.1: #i30380 enable xslt usage by default
232 lines
6.8 KiB
XML
Executable file
232 lines
6.8 KiB
XML
Executable file
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
|
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
|
<xsl:output method="html" doctype-public="-//W3C//DTD HTML 3.2//EN" />
|
|
|
|
<!-- inputvariable declaration -->
|
|
<xsl:param name="os1"/>
|
|
<xsl:param name="gui1"/>
|
|
<xsl:param name="cp1" />
|
|
<xsl:param name="com1"/>
|
|
<xsl:param name="lang1"/>
|
|
<xsl:param name="type"/>
|
|
<xsl:param name="file"/>
|
|
<xsl:strip-space elements="*"/>
|
|
|
|
<xsl:template match="/Readme">
|
|
<!-- creates the HTML-output-->
|
|
<xsl:if test="$type='html'">
|
|
<!-- the outputname for htlm-files-->
|
|
<html>
|
|
<!-- HTML utf-8 encoding enable -->
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
</head>
|
|
<body>
|
|
<xsl:apply-templates/>
|
|
</body>
|
|
</html>
|
|
|
|
</xsl:if>
|
|
<!-- creates the Textoutput -->
|
|
<xsl:if test="$type='text'">
|
|
<!-- the outputfilename for Textfiles -->
|
|
<xsl:apply-templates/>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="Section">
|
|
<xsl:apply-templates/>
|
|
</xsl:template>
|
|
|
|
|
|
<xsl:template match="Paragraph">
|
|
<!-- match the given parameters one of the xmlattributes? -->
|
|
<xsl:if test="@os=$os1 or @os='all'">
|
|
<xsl:if test="@cpuname=$cp1 or @cpuname='all'">
|
|
<xsl:if test="@gui=$gui1 or @gui='all'">
|
|
<xsl:if test="@com=$com1 or @com='all'">
|
|
<!--html-output -->
|
|
<xsl:if test="$type='html'">
|
|
<xsl:element name="{@style}">
|
|
<xsl:apply-templates/>
|
|
</xsl:element>
|
|
</xsl:if>
|
|
<!--text-output -->
|
|
<xsl:if test="$type='text'">
|
|
<xsl:if test="@style='h1' or @style='h2' or @style='h3' or @style='H1' or @style='H2' or @style='H3'">
|
|
<xsl:choose>
|
|
<xsl:when test='$os1="WNT"'>
|
|
<xsl:text>
------------------------------------------------------------
</xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>
------------------------------------------------------------
</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
<!-- enter an carriage return line feed -->
|
|
<xsl:if test="@style='p' or @style='P'">
|
|
<xsl:choose>
|
|
<xsl:when test='$os1="WNT"'>
|
|
<xsl:text>
</xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>
</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
<xsl:apply-templates/>
|
|
<xsl:if test="@style='h1' or @style='h2' or @style='h3' or @style='hr' or @style='H1' or @style='H2' or @style='H3' or @style='HR'">
|
|
<xsl:choose>
|
|
<xsl:when test='$os1="WNT"'>
|
|
<xsl:text>------------------------------------------------------------
</xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>------------------------------------------------------------
</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="List">
|
|
<!-- creates the listoutput, the html-tags will be ignored if textoutput is choosen -->
|
|
<xsl:choose>
|
|
<xsl:when test="@Enum='false'">
|
|
<ul type="circle">
|
|
<xsl:apply-templates/>
|
|
</ul>
|
|
</xsl:when>
|
|
<xsl:when test="@Enum='true'">
|
|
<ol>
|
|
<xsl:apply-templates/>
|
|
</ol>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="List//Text">
|
|
<!-- create the list -->
|
|
<xsl:if test="$type='html'">
|
|
<xsl:if test="@xml:lang=$lang1">
|
|
<li><xsl:apply-templates/></li>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
<xsl:if test="$type='text'">
|
|
<xsl:if test="@xml:lang=$lang1">
|
|
<xsl:text>- </xsl:text>
|
|
<xsl:apply-templates/>
|
|
<xsl:choose>
|
|
<xsl:when test='$os1="WNT"'>
|
|
<xsl:text>
</xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>
</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<!-- the textoutput of normal paragraph nodes -->
|
|
<!-- these template will be used if an attribute xml:lang exists -->
|
|
<xsl:template match="Section/Paragraph/Text[@xml:lang]">
|
|
<xsl:if test="@xml:lang=$lang1">
|
|
<!-- make the output with the given template -->
|
|
<xsl:call-template name="out"/>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<!-- these template will be used if no attribute xml:lang exists -->
|
|
<xsl:template match="Section/Paragraph/Text[not (@xml:lang)]">
|
|
<xsl:call-template name="out"/>
|
|
</xsl:template>
|
|
|
|
<!-- creates the outputtemplate out -->
|
|
<xsl:template name="out">
|
|
<!-- creates output with an extra CR/LF -->
|
|
<xsl:if test="@Wrap='true'">
|
|
<xsl:if test="$type='html'">
|
|
<xsl:element name="br"/>
|
|
<xsl:call-template name="prelinked"/>
|
|
</xsl:if>
|
|
<xsl:if test="$type='text'">
|
|
<xsl:choose>
|
|
<xsl:when test='$os1="WNT"'>
|
|
<xsl:text>
</xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>
</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<xsl:call-template name="linked"/>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
|
|
<!-- here without the extra CR/LF-->
|
|
<xsl:if test="@Wrap='false'">
|
|
<xsl:if test="$type='html'">
|
|
<xsl:call-template name="prelinked"/>
|
|
</xsl:if>
|
|
<xsl:if test="$type='text'">
|
|
<xsl:call-template name="linked"/>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="prelinked">
|
|
<xsl:if test=" @style='b ' or @style='B ' or @style='i ' or @style='I ' or @style='u ' or @style='U '">
|
|
<xsl:element name="{@style}">
|
|
<xsl:call-template name="linked"/>
|
|
</xsl:element>
|
|
</xsl:if>
|
|
<xsl:if test="@style='none'">
|
|
<xsl:call-template name="linked"/>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="linked">
|
|
<xsl:if test="$type='html'">
|
|
<!--this template creates a link if the url attribute is true -->
|
|
<xsl:if test="@url='false'">
|
|
<xsl:apply-templates/>
|
|
</xsl:if>
|
|
<xsl:if test="@url='true'">
|
|
<xsl:if test="@path='none'">
|
|
<a><xsl:attribute name="href"> <xsl:apply-templates/></xsl:attribute><xsl:apply-templates/></a>
|
|
</xsl:if>
|
|
<xsl:if test="@path='file'">
|
|
<a><xsl:attribute name="href"><xsl:text>file://localhost/</xsl:text><xsl:apply-templates/></xsl:attribute><xsl:apply-templates/></a>
|
|
</xsl:if>
|
|
<xsl:if test="@path='url'">
|
|
<a><xsl:attribute name="href"><xsl:text>http://</xsl:text><xsl:apply-templates/></xsl:attribute><xsl:apply-templates/></a>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
<!-- this code is needed for the line before an link, if not an <p> will be added-->
|
|
<xsl:if test="@url='ahead'">
|
|
<xsl:apply-templates/>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
<xsl:if test="$type='text'">
|
|
<xsl:if test="@url='false'">
|
|
<xsl:apply-templates/>
|
|
<xsl:choose>
|
|
<xsl:when test='$os1="WNT"'>
|
|
<xsl:text>
</xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>
</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
<xsl:if test="@url='true' or @url='ahead'">
|
|
<xsl:apply-templates/>
|
|
</xsl:if>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
</xsl:stylesheet>
|