Odkazy #16: oprava chyby: Zachováme pouze povolené atributy.
1 <?xml version="1.0" encoding="UTF-8"?>
3 XML Web generátor – program na generování webových stránek
4 Copyright © 2012 František Kučera (frantovo.cz)
6 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
19 <xsl:stylesheet version="2.0"
20 xmlns="http://www.w3.org/1999/xhtml"
21 xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
22 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
23 exclude-result-prefixes="m">
28 Data zadáváme do těla elementu.
29 Sloupce oddělujeme tabulátorem (může jich být víc, minimálně však jeden, mezery nestačí).
30 První řádek se považuje za záhlaví (nadpisy sloupců).
33 <xsl:template match="m:tabulka">
35 <xsl:variable name="data" select="replace(replace(text(), '^\s+', ''),'\s+$','')"/>
36 <xsl:variable name="hlavička" select="substring-before($data, ' ')"/>
37 <xsl:variable name="tělo" select="substring-after($data, ' ')"/>
40 <xsl:for-each select="tokenize($hlavička, '\t+')">
41 <xsl:if test="normalize-space(.)">
42 <td><xsl:value-of select="normalize-space(.)"/></td>
48 <xsl:for-each select="tokenize($tělo, '\n')">
49 <xsl:if test="normalize-space(.)">
51 <xsl:for-each select="tokenize(., '\t+')">
52 <xsl:if test="normalize-space(.)">
53 <td><xsl:value-of select="normalize-space(.)"/></td>