Przeksztalcenie odwrotne.
[redakcja.git] / platforma / static / xsl / html2wl_client.xsl
1 <xsl:stylesheet \r
2     version="1.0"\r
3     xmlns:html="http://www.w3.org/1999/xhtml"\r
4     xmlns:xsl="http://www.w3.org/1999/XSL/Transform">\r
5 \r
6     <xsl:output method="xml" encoding="utf-8" omit-xml-declaration = "yes" />\r
7     <!--\r
8         Ten dokument definiuję przekształcenie odwrotne do wl2html\r
9     -->   \r
10 \r
11     <!-- Specjalne reguły dla przypisów -->\r
12     <xsl:template match="*[@x-annotation-box]|*[@X-ANNOTATION-BOX]">\r
13         <xsl:apply-templates select="node()" />\r
14     </xsl:template>\r
15    \r
16     <xsl:template match="*[@x-node]">\r
17         <xsl:element name="{@x-node}">            \r
18             <xsl:apply-templates select="@*|node()" />\r
19         </xsl:element>\r
20     </xsl:template>\r
21 \r
22     <xsl:template match="*[@X-NODE]">\r
23         <xsl:element name="{@X-NODE}">\r
24             <xsl:apply-templates select="@*|node()" />\r
25         </xsl:element>\r
26     </xsl:template>\r
27 \r
28     <!-- Specjalne reguły dla wersów -->\r
29     <xsl:template match="*[@x-node = 'wers' or @X-NODE = 'wers']">\r
30         <xsl:apply-templates select="node()" />\r
31         <xsl:if test="position() != last()"><xsl:text>/&#x000a;</xsl:text></xsl:if>\r
32     </xsl:template>\r
33 \r
34     <xsl:template match="*[starts-with(@x-node, 'wers_')]">\r
35         <xsl:element name="{@x-node}">            \r
36             <xsl:apply-templates select="@*|node()" />\r
37         </xsl:element>\r
38         <xsl:if test="position() != last()"><xsl:text>/&#x000a;</xsl:text></xsl:if>\r
39     </xsl:template>\r
40 \r
41     <xsl:template match="*[starts-with(@X-NODE, 'wers_')]">\r
42         <xsl:element name="{@X-NODE}">\r
43             <xsl:apply-templates select="@*|node()" />\r
44         </xsl:element>\r
45         <xsl:if test="position() != last()"><xsl:text>/&#x000a;</xsl:text></xsl:if>\r
46     </xsl:template>\r
47 \r
48     <!-- Użycie zmiennych jako argumenty dla translate, psuję Chrome/Safari :( -->\r
49     <xsl:template match="@*[starts-with(translate(name(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'x-attrib-')]">\r
50         <xsl:attribute name="{substring-after(translate(name(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'x-attrib-')}"><xsl:value-of select="." /></xsl:attribute>\r
51     </xsl:template>\r
52 \r
53     <xsl:template match="@*" /><!--[A:<xsl:value-of select="name()" />]</xsl:template> -->\r
54     \r
55     <xsl:template match="*" />\r
56 </xsl:stylesheet>