templates/ssm.xhtml.xsl
branchv_0
changeset 25 8da11cce2c98
parent 21 2c064ad964cd
child 29 5ed5b68408e4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/ssm.xhtml.xsl	Sat Sep 21 19:40:43 2019 +0200
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+	Sane Software Manifesto helper tools
+	Copyright © 2019 František Kučera (Frantovo.cz, GlobalCode.info)
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, version 3.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+	You should have received a copy of the GNU General Public License
+	along with this program.  If not, see <https://www.gnu.org/licenses/>.
+-->
+<xsl:stylesheet 
+	version="1.0"
+	xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:h="http://www.w3.org/1999/xhtml"
+	xmlns:m="tag:globalcode.info,2019:sane-software/manifesto"
+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+	xmlns:fn="http://www.w3.org/2005/xpath-functions"
+	xmlns:svg="http://www.w3.org/2000/svg"
+	xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="tag:globalcode.info,2019:sane-software/manifesto ssm.xsd"
+	exclude-result-prefixes="fn h m xs xsi">
+	
+	<xsl:output 
+		method="xml" 
+		indent="yes" 
+		encoding="UTF-8"		
+		doctype-public="-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" 
+		doctype-system="http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"/>
+		
+	<xsl:template match="/m:manifesto">
+		<html>
+			<head>
+				<title>
+					<xsl:value-of select="m:title"/>
+				</title>
+				<link href="style.css" 	type="text/css" rel="StyleSheet"/>
+			</head>
+			<body>
+				<h1>
+					<xsl:value-of select="m:title"/>
+				</h1>
+				
+				<!-- TODO: remove hardcoded warning, use version from mercurial -->
+				<p style="text-align: center">&lt;DRAFT&gt; Please note that this is a draft version. Stay tuned for v1.0.0! &lt;/DRAFT&gt;</p>
+				
+				<p>
+					<xsl:value-of select="m:preamble"/>
+				</p>
+				
+				<xsl:apply-templates select="m:chapter"/>
+				
+				
+				<!-- TODO: move license information to XML file -->
+				<hr/>
+				<p class="footer">
+					<a href="https://sane-software.globalcode.info/">Sane Software Manifesto</a><br/>
+					Copyright © 2019 František Kučera (Frantovo.cz, GlobalCode.info)<br/>
+					This manifesto is licensed under the <a href="https://creativecommons.org/licenses/by-nd/4.0/">Creative Commons Attribution-NoDerivatives 4.0 International License</a>.
+				</p>
+
+			</body>
+		</html>
+	</xsl:template>
+	
+	
+	<xsl:template match="m:chapter">
+		<h2>
+			<xsl:value-of select="m:name"/>
+			<xsl:text> </xsl:text>
+			<a href="#{m:id}" id="{m:id}" class="anchor">#</a>
+		</h2>
+		<ul>
+			<xsl:apply-templates select="m:item"/>
+		</ul>
+	</xsl:template>
+	
+	
+	<xsl:template match="m:item">
+		<li>
+			<xsl:apply-templates select="m:text"/>
+			<xsl:text> </xsl:text>
+			<a href="#{m:id}" id="{m:id}" class="anchor">#</a>
+			<xsl:if test="m:item">
+				<ul>
+					<xsl:apply-templates select="m:item"/>
+				</ul>
+			</xsl:if>
+		</li>
+	</xsl:template>
+	
+	<xsl:template match="m:text">
+		<xsl:apply-templates/>
+		<xsl:text>&#10;</xsl:text>
+	</xsl:template>
+
+</xsl:stylesheet>
\ No newline at end of file