aboutsummaryrefslogtreecommitdiffstats
path: root/documentation/xsl
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/xsl')
-rw-r--r--documentation/xsl/body.xsl20
-rw-r--r--documentation/xsl/doc.xsl29
-rw-r--r--documentation/xsl/head.xsl68
-rw-r--r--documentation/xsl/helpers.xsl141
-rw-r--r--documentation/xsl/references.xsl47
-rw-r--r--documentation/xsl/xhtml.xsl16
6 files changed, 321 insertions, 0 deletions
diff --git a/documentation/xsl/body.xsl b/documentation/xsl/body.xsl
new file mode 100644
index 0000000..8b13ebd
--- /dev/null
+++ b/documentation/xsl/body.xsl
@@ -0,0 +1,20 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<!--
+ XSL stylesheet for processing documentation for the lcd4linux project
+ Copyright 2004 Xavier Vello <xavier66@free.fr>
+ Copyright 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>
+-->
+
+<!--The content of the page-->
+
+<xsl:template match="body" node="doc">
+ <xsl:element name="body">
+ <!--Here will be added html code for the layout-->
+ <xsl:apply-templates select="/doc/head/links"/>
+ <xsl:element name="h1">
+ <xsl:value-of select="/doc/head/title"/>
+ </xsl:element>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+</xsl:stylesheet>
diff --git a/documentation/xsl/doc.xsl b/documentation/xsl/doc.xsl
new file mode 100644
index 0000000..1a2045f
--- /dev/null
+++ b/documentation/xsl/doc.xsl
@@ -0,0 +1,29 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<!--
+ XSL stylesheet for processing documentation for the lcd4linux project
+ Copyright 2004 Xavier Vello <xavier66@free.fr>
+ Copyright 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>
+-->
+
+<xsl:output omit-xml-declaration="yes" method="xml" encoding="UTF-8" indent="yes" doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"/>
+
+<xsl:variable name="references" select="document('../data/references.xml')/references"/>
+<xsl:param name="class" select="''"/>
+<xsl:param name="root" select="''"/>
+
+<!--Includes-->
+<xsl:include href="head.xsl"/>
+<xsl:include href="body.xsl"/>
+<xsl:include href="helpers.xsl"/>
+<xsl:include href="xhtml.xsl"/>
+<xsl:include href="references.xsl"/>
+
+<!--The start point-->
+<xsl:template match="doc">
+ <xsl:element name="html">
+ <xsl:apply-templates select="head"/>
+ <xsl:apply-templates select="body"/>
+ </xsl:element>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/documentation/xsl/head.xsl b/documentation/xsl/head.xsl
new file mode 100644
index 0000000..7d975dd
--- /dev/null
+++ b/documentation/xsl/head.xsl
@@ -0,0 +1,68 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<!--
+ XSL stylesheet for processing documentation for the lcd4linux project
+ Copyright 2004 Xavier Vello <xavier66@free.fr>
+ Copyright 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>
+-->
+
+<!--The info node, to generate headers-->
+
+<xsl:template match="head" node="doc">
+ <xsl:element name="head">
+ <xsl:apply-templates select="title"/>
+ <xsl:apply-templates select="ref"/>
+ <xsl:element name="link">
+ <xsl:attribute name="rel">stylesheet</xsl:attribute>
+ <xsl:attribute name="href">
+ <xsl:copy-of select="$root"/>
+ <xsl:text>doc.css</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="type">text/css</xsl:attribute>
+ </xsl:element>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="title" node="head">
+ <xsl:element name="title">
+ <xsl:value-of select="."/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="ref" node="head">
+</xsl:template>
+
+<xsl:template match="history" node="head">
+ <table border="1">
+ <xsl:for-each select="revision">
+ <tr>
+ <td><xsl:value-of select="@version"/></td>
+ <td><xsl:value-of select="."/></td>
+ </tr>
+ </xsl:for-each>
+ </table>
+</xsl:template>
+
+<xsl:template match="links" node="head">
+ <xsl:element name="div">
+ <xsl:attribute name="class">links</xsl:attribute>
+ <xsl:element name="div">
+ <xsl:attribute name="class">title</xsl:attribute>
+ See Also
+ </xsl:element>
+
+ <xsl:apply-templates select="link" mode="head"/>
+
+ <xsl:element name="div">
+ <xsl:attribute name="class">index</xsl:attribute>
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:copy-of select="$root"/>
+ <xsl:text>index.html</xsl:text>
+ </xsl:attribute>
+ <xsl:text>&lt; Index</xsl:text>
+ </xsl:element>
+ </xsl:element>
+ </xsl:element>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/documentation/xsl/helpers.xsl b/documentation/xsl/helpers.xsl
new file mode 100644
index 0000000..df91a4a
--- /dev/null
+++ b/documentation/xsl/helpers.xsl
@@ -0,0 +1,141 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<!--
+ XSL stylesheet for processing documentation for the lcd4linux project
+ Copyright 2004 Xavier Vello <xavier66@free.fr>
+ Copyright 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>
+-->
+
+<!--The special helpers-->
+
+<xsl:template match="cmd">
+ <xsl:element name="div">
+ <xsl:attribute name="class">cmd</xsl:attribute>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="conf">
+ <xsl:element name="div">
+ <xsl:attribute name="class">conf</xsl:attribute>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="note">
+ <xsl:element name="div">
+ <xsl:attribute name="class">note</xsl:attribute>
+ <xsl:element name="img">
+ <xsl:attribute name="src">
+ <xsl:copy-of select="$root"/>
+ <xsl:text>images/note-icon.png</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="alt">
+ <xsl:text>Note : </xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="class">icon</xsl:attribute>
+ </xsl:element>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="warn">
+ <xsl:element name="div">
+ <xsl:attribute name="class">warn</xsl:attribute>
+ <xsl:element name="img">
+ <xsl:attribute name="src">
+ <xsl:copy-of select="$root"/>
+ <xsl:text>images/warn-icon.png</xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="alt">
+ <xsl:text>Warning : </xsl:text>
+ </xsl:attribute>
+ <xsl:attribute name="class">icon</xsl:attribute>
+ </xsl:element>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="new"> <!--This last will be more complicated-->
+ <xsl:element name="div">
+ <xsl:attribute name="class">new</xsl:attribute>
+ <xsl:apply-templates/>
+ </xsl:element>
+</xsl:template>
+
+<xsl:template match="link" mode="head">
+ <xsl:apply-templates select="."/>
+ <xsl:element name="br"/>
+</xsl:template>
+
+<xsl:template match="link">
+ <xsl:choose>
+ <xsl:when test="@ref">
+ <xsl:variable name="refid" select="@ref"/>
+ <xsl:choose>
+ <xsl:when test="$references/ref[@id=$refid]">
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:choose>
+ <xsl:when test="$references/ref[@id=$refid]/class = $class">
+ <xsl:value-of select="concat($references/ref[@id=$refid]/file, '.html', $references/ref[@id=$refid]/anchor)"/>
+ </xsl:when>
+ <xsl:when test="not(string-length($references/ref[@id=$refid]/class))">
+ <xsl:copy-of select="$root"/>
+ <xsl:value-of select="concat($references/ref[@id=$refid]/file, '.html', $references/ref[@id=$refid]/anchor)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="$root"/>
+ <xsl:value-of select="concat($references/ref[@id=$refid]/class, '/', $references/ref[@id=$refid]/file, '.html', $references/ref[@id=$refid]/anchor)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+ <xsl:choose>
+ <xsl:when test="string-length(.)">
+ <xsl:value-of select="."/>
+ </xsl:when>
+ <xsl:when test="$references/ref[@id=$refid]/label">
+ <xsl:value-of select="$references/ref[@id=$refid]/label"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:text>NO LABEL</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:element>
+ </xsl:when>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:when test="@url">
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:value-of select="@url"/>
+ </xsl:attribute>
+ <xsl:choose>
+ <xsl:when test="string-length(.)">
+ <xsl:value-of select="."/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="@url"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:element>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:message><xsl:value-of select="current()"/> : invalid link !</xsl:message>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="index">
+ <xsl:choose>
+ <xsl:when test="@class">
+ <xsl:apply-templates select="$references/ref">
+ <xsl:with-param name="class"><xsl:value-of select="@class"/></xsl:with-param>
+ </xsl:apply-templates>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:apply-templates select="$references/ref"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/documentation/xsl/references.xsl b/documentation/xsl/references.xsl
new file mode 100644
index 0000000..4dc47f6
--- /dev/null
+++ b/documentation/xsl/references.xsl
@@ -0,0 +1,47 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<!--
+ XSL stylesheet for processing documentation for the lcd4linux project
+ Copyright 2004 Xavier Vello <xavier66@free.fr>
+ Copyright 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>
+-->
+
+<xsl:template match="ref" node="references">
+ <xsl:param name="class" select="''"/>
+ <xsl:choose>
+ <xsl:when test="class=$class">
+ <xsl:apply-templates select="." mode="link"/>
+ </xsl:when>
+ </xsl:choose>
+</xsl:template>
+
+<xsl:template match="ref" node="references" mode="link">
+ <xsl:choose>
+ <xsl:when test="not(hiden)">
+ <xsl:element name="a">
+ <xsl:attribute name="href">
+ <xsl:choose>
+ <xsl:when test="not(string-length(class))">
+ <xsl:copy-of select="$root"/>
+ <xsl:value-of select="concat(file, '.html')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:copy-of select="$root"/>
+ <xsl:value-of select="concat(class, '/', file, '.html', anchor)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:attribute>
+ <xsl:choose>
+ <xsl:when test="label">
+ <xsl:value-of select="label"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="file"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:element>
+ <xsl:element name="br"/>
+ </xsl:when>
+ </xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>
diff --git a/documentation/xsl/xhtml.xsl b/documentation/xsl/xhtml.xsl
new file mode 100644
index 0000000..1f5cb98
--- /dev/null
+++ b/documentation/xsl/xhtml.xsl
@@ -0,0 +1,16 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+<!--
+ XSL stylesheet for processing documentation for the lcd4linux project
+ Copyright 2004 Xavier Vello <xavier66@free.fr>
+ Copyright 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>
+-->
+
+<!--Standard html tags, just a wraper-->
+
+<xsl:template match="@*|node()">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+</xsl:template>
+
+</xsl:stylesheet>