--- a/xslt-examples/relpipe-out-xhtml.xsl Sat Jun 06 01:50:44 2020 +0200
+++ b/xslt-examples/relpipe-out-xhtml.xsl Fri Jul 31 00:07:04 2020 +0200
@@ -32,26 +32,23 @@
doctype-system="http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"/>
<xsl:param name="title" select="'Relational pipes XHTML output'"/>
+ <xsl:param name="description">This is output of <code>relpipe-out-xml</code> converted to XHTML web page.</xsl:param>
+ <xsl:param name="recordCountPrefix">Record count: </xsl:param>
+ <xsl:param name="recordCountSuffix"></xsl:param>
+ <xsl:param name="relationNamePrefix"></xsl:param>
+ <xsl:param name="relationNameSuffix"></xsl:param>
+ <xsl:param name="cssAppendix"></xsl:param>
<!--
TODO:
Parameters:
- title / h1
- introduction and footer for whole report
- introduction and footer for every relation
- custom CSS + optionaly remove default CSS
custom JavaScript
- whether to display or hide types in table headers
whether to insert CSS classes for data types in each <td/>
custom pre regex (see below)
metadata relation name (will be hidden and we will get texts or custom titles for particular relations)
CSS:
- clean-up, better style
- attribute name
- attribute type
- relation name
table class for each relation (if [a-zA-Z0-9]+)
-->
@@ -64,42 +61,39 @@
<meta name="generator" content="Relational pipes: https://relational-pipes.globalcode.info/"/>
<style type="text/css">
body {
- font-family: sans;
- background-color: #eee;
+ font-family: "Latin Modern Sans", sans;
+ background-color: #efefef;
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;
+ max-width: 1200px;
}
h1 {
- font-size: 150%
+ font-size: 160%;
+ font-weight: bolder;
}
+
h2 {
- font-size: 100%;
- font-weight: bold;
+ font-size: 130%;
+ font-weight: bolder;
+ }
+
+ code {
+ font-family: "Latin Modern Mono", "Dejavu Sans Mono", monospace;
}
pre,code {
- color: #a00;
+ font-family: "Latin Modern Mono", "Dejavu Sans Mono", monospace;
}
table {
border-collapse:collapse;
- box-shadow: 3px 3px 3px grey;
margin-top: 10px;
margin-bottom: 10px;
+ box-shadow: 3px 3px 2px 0px rgba(0,0,0,0.2);
}
td, th {
border: 1px solid black;
@@ -120,7 +114,7 @@
background-color: silver;
color:black;
}
-
+ <xsl:value-of select="$cssAppendix"/>
</style>
</head>
<body>
@@ -128,13 +122,15 @@
<xsl:value-of select="$title"/>
</h1>
- <p>
- This is output of <code>relpipe-out-xml</code> converted to XHTML web page.
+ <p class="description">
+ <xsl:copy-of select="$description"/>
</p>
<xsl:for-each select="/rp:relpipe/rp:relation">
<h2>
+ <xsl:copy-of select="$relationNamePrefix"/>
<xsl:value-of select="rp:name"/>
+ <xsl:copy-of select="$relationNameSuffix"/>
</h2>
<table>
@@ -142,10 +138,14 @@
<tr>
<xsl:for-each select="rp:attributes-metadata/rp:attribute-metadata">
<td>
- <xsl:value-of select="@name"/>
- <xsl:text> (</xsl:text>
- <xsl:value-of select="@type"/>
- <xsl:text>)</xsl:text>
+ <span class="attributeName">
+ <xsl:value-of select="@name"/>
+ </span>
+ <span class="attributeType">
+ <xsl:text> (</xsl:text>
+ <xsl:value-of select="@type"/>
+ <xsl:text>)</xsl:text>
+ </span>
</td>
</xsl:for-each>
</tr>
@@ -165,8 +165,12 @@
</tbody>
</table>
- <p>
- Record count: <xsl:value-of select="count(rp:record)"/>
+ <p class="recordCount">
+ <xsl:copy-of select="$recordCountPrefix"/>
+ <span class="recordCount">
+ <xsl:value-of select="count(rp:record)"/>
+ </span>
+ <xsl:copy-of select="$recordCountSuffix"/>
</p>
</xsl:for-each>