<?xml version="1.0" encoding="UTF-8"?>
<!--
SQL-DK
Copyright © 2013 František Kučera (frantovo.cz)
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, either version 3 of the License, or
(at your option) any later version.
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 <http://www.gnu.org/licenses/>.
-->
<!--
This XSLT can be used for viewing config files in a web browser (Firefox, rekonq etc.)
-->
<xsl:stylesheet version="1.0"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://www.w3.org/1999/xhtml"
xmlns:c="https://sql-dk.globalcode.info/xmlns/configuration"
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"
exclude-result-prefixes="fn h p xs">
<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:param name="header" select="'SQL-DK configuration'"/>
<xsl:template match="/">
<html>
<head>
<title><xsl:value-of select="$header"/></title>
<style type="text/css">
body {
font-family: sans;
background-color: #eee;
color: black;
padding-left: 20px;
}
p {
max-width: 800px;
}
h1,h2 {
max-width: 800px;
border-radius: 8px;
border: 1px solid #ddd;
background-color: #e8e8e8;
padding: 6px;
text-shadow: 2px 2px 2px #aaa;
}
h1 {
font-size: 150%
}
h2 {
font-size: 100%;
font-weight: bold;
}
table {
border-collapse:collapse;
margin-top: 10px;
margin-bottom: 10px;
}
td, th {
border: 1px solid #ddd;
padding-top: 4px;
padding-bottom: 4px;
padding-left: 6px;
padding-right: 6px;
font-weight: normal;
vertical-align: top;
}
thead tr {
background: #e8e8e8;
color:black;
}
tbody tr:hover {
background-color: #e9e9e9;
color:black;
}
ul {
margin: 0px;
}
li {
padding: 0px;
}
</style>
</head>
<body>
<h1><xsl:value-of select="$header"/></h1>
<p>
This file defines per-user configuration of <a href="https://sql-dk.globalcode.info/">SQL-DK</a>
– an SQL batch client.
</p>
<h2>Database connections</h2>
<p>This databases are configured:</p>
<xsl:choose>
<xsl:when test="c:configuration/c:database">
<table>
<thead>
<tr>
<td>name</td>
<td>username</td>
<td>url</td>
<td>properties</td>
</tr>
</thead>
<tbody>
<xsl:for-each select="c:configuration/c:database">
<tr>
<td><xsl:value-of select="c:name"/></td>
<td><xsl:value-of select="c:userName"/></td>
<td><xsl:value-of select="c:url"/></td>
<td><ul><xsl:apply-templates select="c:property"/></ul></td>
</tr>
</xsl:for-each>
</tbody>
</table>
</xsl:when>
<xsl:otherwise><p>no databases are configured</p></xsl:otherwise>
</xsl:choose>
<p>(passwords are hidden in this output)</p>
<h2>Output formatters</h2>
<p>
Default formatter:
<xsl:choose>
<xsl:when test="c:configuration/c:defaultFormatter"><xsl:value-of select="c:configuration/c:defaultFormatter"/></xsl:when>
<xsl:otherwise>none (built-in default will be used)</xsl:otherwise>
</xsl:choose>
</p>
<xsl:choose>
<xsl:when test="c:configuration/c:formatter">
<table>
<thead>
<tr>
<td>name</td>
<td>class name</td>
<td>properties</td>
</tr>
</thead>
<tbody>
<xsl:for-each select="c:configuration/c:formatter">
<tr>
<td><xsl:value-of select="c:name"/></td>
<td><xsl:value-of select="c:class"/></td>
<td><ul><xsl:apply-templates select="c:property"/></ul></td>
</tr>
</xsl:for-each>
</tbody>
</table>
</xsl:when>
<xsl:otherwise><p>no additional formatters are defined (built-in defaults will be used)</p></xsl:otherwise>
</xsl:choose>
</body>
</html>
</xsl:template>
<xsl:template match="c:property">
<li>
<xsl:value-of select="@name"/> = <xsl:value-of select="."/>
</li>
</xsl:template>
</xsl:stylesheet>