šablona/makra/tabulka.xsl
author František Kučera <franta-hg@frantovo.cz>
Sat Jan 07 17:34:57 2012 +0100 (2012-01-07)
changeset 66 a8085dedd92b
parent 51 df1f942f7b69
child 70 032c62852ef1
permissions -rw-r--r--
Odkazy #16: oprava chyby: Zachováme pouze povolené atributy.
franta-hg@51
     1
<?xml version="1.0" encoding="UTF-8"?>
franta-hg@61
     2
<!--
franta-hg@61
     3
XML Web generátor – program na generování webových stránek
franta-hg@61
     4
Copyright © 2012 František Kučera (frantovo.cz)
franta-hg@61
     5
franta-hg@61
     6
This program is free software: you can redistribute it and/or modify
franta-hg@61
     7
it under the terms of the GNU General Public License as published by
franta-hg@61
     8
the Free Software Foundation, either version 3 of the License, or
franta-hg@61
     9
(at your option) any later version.
franta-hg@61
    10
franta-hg@61
    11
This program is distributed in the hope that it will be useful,
franta-hg@61
    12
but WITHOUT ANY WARRANTY; without even the implied warranty of
franta-hg@61
    13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
franta-hg@61
    14
GNU General Public License for more details.
franta-hg@61
    15
franta-hg@61
    16
You should have received a copy of the GNU General Public License
franta-hg@61
    17
along with this program.  If not, see <http://www.gnu.org/licenses/>.
franta-hg@61
    18
-->
franta-hg@51
    19
<xsl:stylesheet version="2.0"
franta-hg@51
    20
	xmlns="http://www.w3.org/1999/xhtml"
franta-hg@51
    21
	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
franta-hg@51
    22
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
franta-hg@51
    23
	exclude-result-prefixes="m">
franta-hg@51
    24
	    
franta-hg@51
    25
	<!--
franta-hg@51
    26
		Jednoduché tabulky
franta-hg@51
    27
		******************
franta-hg@51
    28
		Data zadáváme do těla elementu.
franta-hg@51
    29
		Sloupce oddělujeme tabulátorem (může jich být víc, minimálně však jeden, mezery nestačí).
franta-hg@51
    30
		První řádek se považuje za záhlaví (nadpisy sloupců).
franta-hg@51
    31
		*
franta-hg@51
    32
	-->
franta-hg@51
    33
    <xsl:template match="m:tabulka">
franta-hg@51
    34
    	<table>
franta-hg@51
    35
    		<xsl:variable name="data" select="replace(replace(text(), '^\s+', ''),'\s+$','')"/>
franta-hg@51
    36
    		<xsl:variable name="hlavička" select="substring-before($data, '&#10;')"/>
franta-hg@51
    37
    		<xsl:variable name="tělo" select="substring-after($data, '&#10;')"/>
franta-hg@51
    38
    		<thead>
franta-hg@51
    39
    			<tr>
franta-hg@51
    40
    				<xsl:for-each select="tokenize($hlavička, '\t+')">
franta-hg@51
    41
    					<xsl:if test="normalize-space(.)">
franta-hg@51
    42
							<td><xsl:value-of select="normalize-space(.)"/></td>
franta-hg@51
    43
						</xsl:if>
franta-hg@51
    44
					</xsl:for-each>
franta-hg@51
    45
    			</tr>
franta-hg@51
    46
    		</thead>
franta-hg@51
    47
    		<tbody>
franta-hg@51
    48
				<xsl:for-each select="tokenize($tělo, '\n')">
franta-hg@51
    49
					<xsl:if test="normalize-space(.)">
franta-hg@51
    50
						<tr>
franta-hg@51
    51
							<xsl:for-each select="tokenize(., '\t+')">
franta-hg@51
    52
								<xsl:if test="normalize-space(.)">
franta-hg@51
    53
									<td><xsl:value-of select="normalize-space(.)"/></td>
franta-hg@51
    54
								</xsl:if>
franta-hg@51
    55
							</xsl:for-each>
franta-hg@51
    56
						</tr>
franta-hg@51
    57
					</xsl:if>
franta-hg@51
    58
				</xsl:for-each>
franta-hg@51
    59
    		</tbody>
franta-hg@51
    60
    	</table>    
franta-hg@51
    61
    </xsl:template>
franta-hg@51
    62
franta-hg@51
    63
</xsl:stylesheet>
franta-hg@51
    64