View File | Revision Log | Show Annotations | Download File | View Changeset
/hippo/hippo-cms-site-sample/trunk/transformers/library.xsl
Revision: 423
Committed: Fri Dec 9 15:45:38 2005 UTC (15 years, 1 month ago) by nvankampenhout
Content type: application/xml
File size: 6684 byte(s)
Log Message:
Removed unused stuff.

File Contents

# Content
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xsl:stylesheet version="1.0"
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4 xmlns:site="http://hippo.nl/site/1.0"
5 xmlns:str="http://exslt.org/strings"
6 exclude-result-prefixes="site"
7 extension-element-prefixes="str">
8
9
10 <xsl:template match="title">
11 <h3>
12 <xsl:value-of select="."/>
13 </h3>
14 </xsl:template>
15
16 <xsl:template match="em">
17 <xsl:if test="string-length(.) &gt; 0">
18 <em>
19 <xsl:apply-templates />
20 </em>
21 </xsl:if>
22 </xsl:template>
23
24 <xsl:template match="ul">
25 <ul>
26 <xsl:apply-templates />
27 </ul>
28 </xsl:template>
29
30
31 <xsl:template match="ol">
32 <ol type="{@type}" start="{@start}">
33 <xsl:apply-templates />
34 </ol>
35 </xsl:template>
36
37 <xsl:template match="li">
38 <li><xsl:apply-templates /></li>
39 </xsl:template>
40
41 <xsl:template match="strong[string-length(.)=0 and count(child::node())=0]"></xsl:template>
42
43 <xsl:template match="img">
44 <img>
45 <xsl:attribute name="src">
46 <xsl:text>repository</xsl:text>
47 <xsl:value-of select="@src"/>
48 </xsl:attribute>
49 <xsl:if test="@height"><xsl:attribute name="height"><xsl:value-of select="@height"/></xsl:attribute></xsl:if>
50 <xsl:if test="@width"><xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute></xsl:if>
51 <xsl:if test="@align"><xsl:attribute name="align"><xsl:value-of select="@align"/></xsl:attribute></xsl:if>
52 <xsl:attribute name="alt">
53 <xsl:choose>
54 <xsl:when test="@alt">
55 <xsl:value-of select="@alt"/>
56 </xsl:when>
57 <xsl:otherwise>
58 <xsl:value-of select="@href"/>
59 </xsl:otherwise>
60 </xsl:choose>
61 </xsl:attribute>
62 </img>
63 </xsl:template>
64
65 <xsl:template match="p">
66 <p style="padding:0px;">
67 <xsl:apply-templates select="child::node()"/>
68 </p>
69 </xsl:template>
70
71 <xsl:template match="ul">
72 <ul>
73 <xsl:apply-templates select="li|ol|ul"/>
74 </ul>
75 </xsl:template>
76
77 <xsl:template match="ol">
78 <ol type="{@type}" start="{@start}">
79 <xsl:apply-templates select="li|ol|ul"/>
80 </ol>
81 </xsl:template>
82
83 <xsl:template match="li">
84 <li><xsl:apply-templates/></li>
85 </xsl:template>
86
87 <xsl:template match="section">
88 <xsl:apply-templates/>
89 </xsl:template>
90
91 <xsl:template match="h">
92 <h3><xsl:apply-templates select="node()"/></h3>
93 </xsl:template>
94
95 <xsl:template match="a">
96 <a>
97 <xsl:choose>
98 <xsl:when test="@type= 'mailto:' ">
99 <xsl:attribute name="href">mailto:<xsl:value-of select="@href"/></xsl:attribute>
100 <xsl:if test="string-length(normalize-space(@target)) &gt; 0">
101 <xsl:attribute name="target">
102 <xsl:value-of select="@target"/>
103 </xsl:attribute>
104 </xsl:if>
105 </xsl:when>
106 <xsl:otherwise>
107 <xsl:attribute name="href">
108 <!-- [JR] AB is this Correct?? -->
109 <xsl:if test="substring-before(@href,':/') = ''">ilink:</xsl:if>
110 <xsl:value-of select="@href"/>
111 </xsl:attribute>
112 <xsl:if test="string-length(normalize-space(@target)) &gt; 0">
113 <xsl:attribute name="target">
114 <xsl:value-of select="@target"/>
115 </xsl:attribute>
116 </xsl:if>
117 </xsl:otherwise>
118 </xsl:choose>
119 <xsl:choose>
120 <xsl:when test="count(img)&gt;0">
121 <xsl:apply-templates/>
122 </xsl:when>
123 <xsl:otherwise>
124 <xsl:apply-templates/>
125 </xsl:otherwise>
126 </xsl:choose>
127 </a>
128 </xsl:template>
129 <xsl:template match="doclink">
130 <a>
131 <xsl:attribute name="href">
132 <xsl:value-of select="@href"/>
133 </xsl:attribute>
134 <xsl:attribute name="target">
135 <xsl:value-of select="@target"/>
136 </xsl:attribute>
137 <xsl:apply-templates/>
138 <!-- fix for elements that where edited incorrectly -->
139 <xsl:if test="string-length(text())=0">&#160;</xsl:if>
140 </a>
141 </xsl:template>
142
143 <xsl:template match="p/table">
144 <table>
145 <xsl:choose>
146 <xsl:when test="number(@border) &gt; 0">
147 <xsl:attribute name="class">tuitable</xsl:attribute>
148 </xsl:when>
149 <xsl:otherwise>
150 <xsl:attribute name="class">no_border</xsl:attribute>
151 </xsl:otherwise>
152 </xsl:choose>
153 <xsl:choose>
154 <xsl:when test="@width">
155 <xsl:copy-of select="@width"/>
156 </xsl:when>
157 <xsl:otherwise>
158 <xsl:attribute name="width">100%</xsl:attribute>
159 </xsl:otherwise>
160 </xsl:choose>
161 <xsl:choose>
162 <xsl:when test="@cellspacing">
163 <xsl:copy-of select="@cellspacing"/>
164 </xsl:when>
165 <xsl:otherwise>
166 <xsl:attribute name="cellspacing">0</xsl:attribute>
167 </xsl:otherwise>
168 </xsl:choose>
169 <xsl:choose>
170 <xsl:when test="@cellpadding">
171 <xsl:copy-of select="@cellpadding"/>
172 </xsl:when>
173 <xsl:otherwise>
174 <xsl:attribute name="cellpadding">0</xsl:attribute>
175 </xsl:otherwise>
176 </xsl:choose>
177 <xsl:apply-templates/>
178 </table>
179 </xsl:template>
180
181 <xsl:template match="table[@equalcolumns='true' or @equalcolumns='1']/tr/th | table[@equalcolumns='true' or @equalcolumns='1']/tr/td">
182 <xsl:copy>
183 <xsl:attribute name="width">1%</xsl:attribute>
184 <xsl:apply-templates select="@*|node()"/>
185 </xsl:copy>
186 </xsl:template>
187
188 <xsl:template match="th|td">
189 <xsl:variable name="align">
190 <xsl:choose><xsl:when test="not(@align)">left</xsl:when>
191 <xsl:otherwise><xsl:value-of select="@align"/></xsl:otherwise></xsl:choose>
192 </xsl:variable>
193 <xsl:variable name="valign">
194 <xsl:choose><xsl:when test="not(@valign)">top</xsl:when>
195 <xsl:otherwise><xsl:value-of select="@valign"/></xsl:otherwise></xsl:choose>
196 </xsl:variable>
197 <xsl:copy>
198 <xsl:attribute name="align"><xsl:value-of select="$align"/></xsl:attribute>
199 <xsl:attribute name="valign"><xsl:value-of select="$valign"/></xsl:attribute>
200 <xsl:apply-templates select="@*[not(local-name() = 'align')][not(local-name() = 'valign')]|node()"/>
201 </xsl:copy>
202 </xsl:template>
203
204 <xsl:template match="html|body|document|root">
205 <xsl:apply-templates/>
206 </xsl:template>
207
208 <xsl:template match="@*|node()"><xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy></xsl:template>
209
210 </xsl:stylesheet>