xref: /trunk/main/sd/xsl/effect.xsl (revision 8eb6fccd)
1<?xml version="1.0" encoding="utf-8"?>
2<!--***********************************************************
3 *
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements.  See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership.  The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License.  You may obtain a copy of the License at
11 *
12 *   http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied.  See the License for the
18 * specific language governing permissions and limitations
19 * under the License.
20 *
21 ***********************************************************-->
22<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
23				xmlns:office="urn:oasis:names:tc:openoffice:xmlns:office:1.0"
24				xmlns:style="urn:oasis:names:tc:openoffice:xmlns:style:1.0"
25				xmlns:text="urn:oasis:names:tc:openoffice:xmlns:text:1.0"
26				xmlns:table="urn:oasis:names:tc:openoffice:xmlns:table:1.0"
27				xmlns:draw="urn:oasis:names:tc:openoffice:xmlns:drawing:1.0"
28				xmlns:fo="http://www.w3.org/1999/XSL/Format"
29				xmlns:xlink="http://www.w3.org/1999/xlink"
30				xmlns:dc="http://purl.org/dc/elements/1.1/"
31				xmlns:meta="urn:oasis:names:tc:openoffice:xmlns:meta:1.0"
32				xmlns:number="urn:oasis:names:tc:openoffice:xmlns:datastyle:1.0"
33				xmlns:pres="urn:oasis:names:tc:openoffice:xmlns:presentation:1.0"
34				xmlns:svg="http://www.w3.org/2000/svg"
35				xmlns:chart="urn:oasis:names:tc:openoffice:xmlns:chart:1.0"
36				xmlns:dr3d="urn:oasis:names:tc:openoffice:xmlns:dr3d:1.0"
37				xmlns:math="http://www.w3.org/1998/Math/MathML"
38				xmlns:form="urn:oasis:names:tc:openoffice:xmlns:form:1.0"
39				xmlns:script="urn:oasis:names:tc:openoffice:xmlns:script:1.0"
40				xmlns:ooo="http://openoffice.org/2004/office"
41				xmlns:ooow="http://openoffice.org/2004/writer"
42				xmlns:oooc="http://openoffice.org/2004/calc"
43				xmlns:dom="http://www.w3.org/2001/xml-events"
44				xmlns:smil="http://www.w3.org/2001/SMIL20"
45				xmlns:anim="urn:oasis:names:tc:openoffice:xmlns:animation:1.0"
46
47                version="1.0">
48
49  <!-- fly in -->
50  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-fly-in']">
51    <anim:par pres:preset-property="Direction;Accelerate;Decelerate">
52      <xsl:apply-templates select="*|@*|text()"/>
53    </anim:par>
54  </xsl:template>
55
56  <!-- fade in an swivel -->
57  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-entrance-fade-in-and-swivel']">
58    <anim:iterate pres:text-only="true">
59      <xsl:apply-templates select="*|@*|text()"/>
60    </anim:iterate>
61  </xsl:template>
62
63  <!-- falling in -->
64  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-entrance-falling-in']">
65    <anim:iterate pres:text-only="true">
66      <xsl:apply-templates select="*|@*|text()"/>
67    </anim:iterate>
68  </xsl:template>
69
70  <!-- Unfold -->
71  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-entrance-unfold']">
72    <anim:iterate pres:text-only="true">
73      <xsl:apply-templates select="*|@*|text()"/>
74    </anim:iterate>
75  </xsl:template>
76
77  <!-- Unfold -->
78  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-exit-unfold']">
79    <anim:iterate pres:text-only="true">
80      <xsl:apply-templates select="*|@*|text()"/>
81    </anim:iterate>
82  </xsl:template>
83
84  <!-- turn and grow -->
85  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-entrance-turn-and-grow']">
86    <anim:iterate pres:text-only="true">
87      <xsl:apply-templates select="*|@*|text()"/>
88    </anim:iterate>
89  </xsl:template>
90
91  <!-- fold -->
92  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-fold']">
93    <anim:par pres:text-only="true">
94      <xsl:apply-templates select="*|@*|text()"/>
95    </anim:par>
96  </xsl:template>
97
98  <!-- whip -->
99  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-entrance-whip']">
100    <anim:iterate pres:text-only="true">
101      <xsl:apply-templates select="*|@*|text()"/>
102    </anim:iterate>
103  </xsl:template>
104
105  <!-- flip -->
106  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-entrance-flip']">
107    <anim:iterate pres:text-only="true">
108      <xsl:apply-templates select="*|@*|text()"/>
109    </anim:iterate>
110  </xsl:template>
111
112  <!-- swish -->
113  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-entrance-swish']">
114    <anim:iterate pres:text-only="true">
115      <xsl:apply-templates select="*|@*|text()"/>
116    </anim:iterate>
117  </xsl:template>
118
119  <!-- blinds -->
120  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-venetian-blinds']">
121    <anim:par pres:preset-property="Direction">
122      <xsl:apply-templates select="*|@*|text()"/>
123    </anim:par>
124  </xsl:template>
125
126  <!-- box -->
127  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-box']">
128    <anim:par pres:preset-property="Direction">
129      <xsl:apply-templates select="*|@*|text()"/>
130    </anim:par>
131  </xsl:template>
132
133  <!-- checkerboard -->
134  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-checkerboard']">
135    <anim:par pres:preset-property="Direction">
136      <xsl:apply-templates select="*|@*|text()"/>
137    </anim:par>
138  </xsl:template>
139
140  <!-- circle -->
141  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-circle']">
142    <anim:par pres:preset-property="Direction">
143      <xsl:apply-templates select="*|@*|text()"/>
144    </anim:par>
145  </xsl:template>
146
147  <!-- crawl in -->
148  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-fly-in-slow']">
149    <anim:par pres:preset-property="Direction">
150      <xsl:apply-templates select="*|@*|text()"/>
151    </anim:par>
152  </xsl:template>
153
154  <!-- diamond -->
155  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-diamond']">
156    <anim:par pres:preset-property="Direction">
157      <xsl:apply-templates select="*|@*|text()"/>
158    </anim:par>
159  </xsl:template>
160
161  <!-- peek in -->
162  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-peek-in']">
163    <anim:par pres:preset-property="Direction">
164      <xsl:apply-templates select="*|@*|text()"/>
165    </anim:par>
166  </xsl:template>
167
168  <!-- plus -->
169  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-plus']">
170    <anim:par pres:preset-property="Direction">
171      <xsl:apply-templates select="*|@*|text()"/>
172    </anim:par>
173  </xsl:template>
174
175  <!-- random bars -->
176  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-random-bars']">
177    <anim:par pres:preset-property="Direction">
178      <xsl:apply-templates select="*|@*|text()"/>
179    </anim:par>
180  </xsl:template>
181
182  <!-- split -->
183  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-split']">
184    <anim:par pres:preset-property="Direction">
185      <xsl:apply-templates select="*|@*|text()"/>
186    </anim:par>
187  </xsl:template>
188
189  <!-- strips -->
190  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-diagonal-squares']">
191    <anim:par pres:preset-property="Direction">
192      <xsl:apply-templates select="*|@*|text()"/>
193    </anim:par>
194  </xsl:template>
195
196  <!-- wheel -->
197  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-wheel']">
198    <anim:par pres:preset-property="Spokes">
199      <xsl:apply-templates select="*|@*|text()"/>
200    </anim:par>
201  </xsl:template>
202
203  <!-- whipe -->
204  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-wipe']">
205    <anim:par pres:preset-property="Direction">
206      <xsl:apply-templates select="*|@*|text()"/>
207    </anim:par>
208  </xsl:template>
209
210  <!-- color typewriter -->
211  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-entrance-colored-lettering']">
212    <anim:iterate pres:preset-property="Color1;Color2" pres:text-only="true">
213      <xsl:apply-templates select="*|@*|text()"/>
214    </anim:iterate>
215  </xsl:template>
216
217  <!-- stretch -->
218  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-stretchy']">
219    <anim:par pres:preset-property="Direction">
220      <xsl:apply-templates select="*|@*|text()"/>
221    </anim:par>
222  </xsl:template>
223
224  <!-- zoom -->
225  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-zoom']">
226    <anim:par pres:preset-property="Zoom">
227      <xsl:apply-templates select="*|@*|text()"/>
228    </anim:par>
229  </xsl:template>
230
231  <!-- swivel -->
232  <xsl:template match="anim:par[@pres:preset-id = 'ooo-entrance-swivel']">
233    <anim:par pres:preset-property="Direction">
234      <xsl:apply-templates select="*|@*|text()"/>
235    </anim:par>
236  </xsl:template>
237
238<!-- emphasis -->
239
240  <!-- change fill color -->
241  <xsl:template match="anim:par[@pres:preset-id = 'ooo-emphasis-fill-color']">
242    <anim:par pres:preset-property="FillColor;ColorStyle;Accelerate;Decelerate;AutoReverse">
243      <xsl:apply-templates select="*|@*|text()"/>
244    </anim:par>
245  </xsl:template>
246
247  <!-- change font -->
248  <xsl:template match="anim:par[@pres:preset-id = 'ooo-emphasis-font']">
249    <anim:par pres:preset-property="FontStyle" pres:text-only="true">
250      <xsl:apply-templates select="*|@*|text()"/>
251    </anim:par>
252  </xsl:template>
253
254  <!-- change font color -->
255  <xsl:template match="anim:par[@pres:preset-id = 'ooo-emphasis-font-color']">
256    <anim:par pres:preset-property="CharColor;ColorStyle;Accelerate;Decelerate;AutoReverse" pres:text-only="true">
257      <xsl:apply-templates select="*|@*|text()"/>
258    </anim:par>
259  </xsl:template>
260
261  <!-- change font size -->
262  <xsl:template match="anim:par[@pres:preset-id = 'ooo-emphasis-font-size']">
263    <anim:par pres:preset-property="CharHeight" pres:text-only="true">
264      <xsl:apply-templates select="*|@*|text()"/>
265    </anim:par>
266  </xsl:template>
267
268  <!-- change font style -->
269  <xsl:template match="anim:par[@pres:preset-id = 'ooo-emphasis-font-style']">
270    <anim:par pres:preset-property="CharDecoration" pres:text-only="true">
271      <xsl:apply-templates select="*|@*|text()"/>
272    </anim:par>
273  </xsl:template>
274
275  <!-- change line color -->
276  <xsl:template match="anim:par[@pres:preset-id = 'ooo-emphasis-line-color']">
277    <anim:par pres:preset-property="LineColor;ColorStyle;Accelerate;Decelerate;AutoReverse">
278      <xsl:apply-templates select="*|@*|text()"/>
279    </anim:par>
280  </xsl:template>
281
282  <!-- grow/shrink -->
283  <xsl:template match="anim:par[@pres:preset-id = 'ooo-emphasis-grow-and-shrink']">
284    <anim:par pres:preset-property="Scale;Accelerate;Decelerate;AutoReverse">
285      <xsl:apply-templates select="*|@*|text()"/>
286    </anim:par>
287  </xsl:template>
288
289  <!-- spin -->
290  <xsl:template match="anim:par[@pres:preset-id = 'ooo-emphasis-spin']">
291    <anim:par pres:preset-property="Rotate;Accelerate;Decelerate;AutoReverse">
292      <xsl:apply-templates select="*|@*|text()"/>
293    </anim:par>
294  </xsl:template>
295
296  <!-- Transparency -->
297  <xsl:template match="anim:par[@pres:preset-id = 'ooo-emphasis-transparency']">
298    <anim:par pres:preset-property="Transparency">
299      <xsl:apply-templates select="*|@*|text()"/>
300    </anim:par>
301  </xsl:template>
302
303  <!-- brush on color -->
304  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-emphasis-color-over-by-word']">
305    <anim:iterate pres:preset-property="Color" pres:text-only="true">
306      <xsl:apply-templates select="*|@*|text()"/>
307    </anim:iterate>
308  </xsl:template>
309
310  <!-- color blend -->
311  <xsl:template match="anim:par[@pres:preset-id = 'ooo-emphasis-color-blend']">
312    <anim:par pres:preset-property="Color">
313      <xsl:apply-templates select="*|@*|text()"/>
314    </anim:par>
315  </xsl:template>
316
317  <!-- color wave -->
318  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-emphasis-color-over-by-letter']">
319    <anim:iterate pres:preset-property="Color" pres:text-only="true">
320      <xsl:apply-templates select="*|@*|text()"/>
321    </anim:iterate>
322  </xsl:template>
323
324  <!-- bold flash -->
325  <xsl:template match="anim:par[@pres:preset-id = 'ooo-emphasis-bold-flash']">
326    <anim:par pres:text-only="true">
327      <xsl:apply-templates select="*|@*|text()"/>
328    </anim:par>
329  </xsl:template>
330
331  <!-- reveal underline -->
332  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-emphasis-reveal-underline']">
333    <anim:iterate pres:text-only="true">
334      <xsl:apply-templates select="*|@*|text()"/>
335    </anim:iterate>
336  </xsl:template>
337
338  <!-- shimmer -->
339  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-emphasis-shimmer']">
340    <anim:iterate pres:text-only="true">
341      <xsl:apply-templates select="*|@*|text()"/>
342    </anim:iterate>
343  </xsl:template>
344
345  <!-- verticales highlight -->
346  <xsl:template match="anim:par[@pres:preset-id = 'ooo-emphasis-vertical-highlight']">
347    <anim:par pres:preset-property="Color">
348      <xsl:apply-templates select="*|@*|text()"/>
349    </anim:par>
350  </xsl:template>
351
352  <!-- flicker -->
353  <xsl:template match="anim:par[@pres:preset-id = 'ooo-emphasis-flicker']">
354    <anim:par pres:preset-property="Color">
355      <xsl:apply-templates select="*|@*|text()"/>
356    </anim:par>
357  </xsl:template>
358
359  <!-- grow with color -->
360  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-emphasis-grow-with-color']">
361    <anim:iterate pres:preset-property="Color" pres:text-only="true">
362      <xsl:apply-templates select="*|@*|text()"/>
363    </anim:iterate>
364  </xsl:template>
365
366  <!-- teeter -->
367  <xsl:template match="anim:par[@pres:preset-id = 'ooo-emphasis-teeter']">
368    <anim:par pres:preset-property="Color">
369      <xsl:apply-templates select="*|@*|text()"/>
370    </anim:par>
371  </xsl:template>
372
373  <!-- blast -->
374  <xsl:template match="anim:par[@pres:preset-id = 'ooo-emphasis-blast']">
375    <anim:par pres:preset-property="Color">
376      <xsl:apply-templates select="*|@*|text()"/>
377    </anim:par>
378  </xsl:template>
379
380  <!-- style emphasis -->
381  <xsl:template match="anim:par[@pres:preset-id = 'ooo-emphasis-style-emphasis']">
382    <anim:par pres:preset-property="Color" pres:text-only="true">
383      <xsl:apply-templates select="*|@*|text()"/>
384    </anim:par>
385  </xsl:template>
386
387  <!-- bold reveal -->
388  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-emphasis-bold-reveal']">
389    <anim:iterate pres:text-only="true">
390      <xsl:apply-templates select="*|@*|text()"/>
391    </anim:iterate>
392  </xsl:template>
393
394    <!-- wave -->
395  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-emphasis-wave']">
396    <anim:iterate pres:text-only="true">
397      <xsl:apply-templates select="*|@*|text()"/>
398    </anim:iterate>
399  </xsl:template>
400
401<!-- exit -->
402
403  <!-- blinds -->
404  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-venetian-blinds']">
405    <anim:par pres:preset-property="Direction">
406      <xsl:apply-templates select="*|@*|text()"/>
407    </anim:par>
408  </xsl:template>
409
410  <!-- box -->
411  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-box']">
412    <anim:par pres:preset-property="Direction">
413      <xsl:apply-templates select="*|@*|text()"/>
414    </anim:par>
415  </xsl:template>
416
417  <!-- checkerboard -->
418  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-checkerboard']">
419    <anim:par pres:preset-property="Direction">
420      <xsl:apply-templates select="*|@*|text()"/>
421    </anim:par>
422  </xsl:template>
423
424  <!-- circle -->
425  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-circle']">
426    <anim:par pres:preset-property="Direction">
427      <xsl:apply-templates select="*|@*|text()"/>
428    </anim:par>
429  </xsl:template>
430
431  <!-- crawl out -->
432  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-crawl-out']">
433    <anim:par pres:preset-property="Direction">
434      <xsl:apply-templates select="*|@*|text()"/>
435    </anim:par>
436  </xsl:template>
437
438  <!-- diamond -->
439  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-diamond']">
440    <anim:par pres:preset-property="Direction">
441      <xsl:apply-templates select="*|@*|text()"/>
442    </anim:par>
443  </xsl:template>
444
445  <!-- fly out -->
446  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-fly-out']">
447    <anim:par pres:preset-property="Direction;Accelerate;Decelerate">
448      <xsl:apply-templates select="*|@*|text()"/>
449    </anim:par>
450  </xsl:template>
451
452  <!-- peek out -->
453  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-peek-out']">
454    <anim:par pres:preset-property="Direction">
455      <xsl:apply-templates select="*|@*|text()"/>
456    </anim:par>
457  </xsl:template>
458
459  <!-- plus -->
460  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-plus']">
461    <anim:par pres:preset-property="Direction">
462      <xsl:apply-templates select="*|@*|text()"/>
463    </anim:par>
464  </xsl:template>
465
466  <!-- random bars -->
467  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-random-bars']">
468    <anim:par pres:preset-property="Direction">
469      <xsl:apply-templates select="*|@*|text()"/>
470    </anim:par>
471  </xsl:template>
472
473  <!-- split -->
474  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-split']">
475    <anim:par pres:preset-property="Direction">
476      <xsl:apply-templates select="*|@*|text()"/>
477    </anim:par>
478  </xsl:template>
479
480  <!-- strips -->
481  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-diagonal-squares']">
482    <anim:par pres:preset-property="Direction">
483      <xsl:apply-templates select="*|@*|text()"/>
484    </anim:par>
485  </xsl:template>
486
487  <!-- wheel -->
488  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-wheel']">
489    <anim:par pres:preset-property="Spokes">
490      <xsl:apply-templates select="*|@*|text()"/>
491    </anim:par>
492  </xsl:template>
493
494  <!-- wipe -->
495  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-wipe']">
496    <anim:par pres:preset-property="Direction">
497      <xsl:apply-templates select="*|@*|text()"/>
498    </anim:par>
499  </xsl:template>
500
501  <!-- collapse -->
502  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-collapse']">
503    <anim:par pres:preset-property="Direction">
504      <xsl:apply-templates select="*|@*|text()"/>
505    </anim:par>
506  </xsl:template>
507
508  <!-- color typewriter -->
509  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-exit-colored-lettering']">
510    <anim:iterate pres:preset-property="Color1;Color2" pres:text-only="true">
511      <xsl:apply-templates select="*|@*|text()"/>
512    </anim:iterate>
513  </xsl:template>
514
515  <!-- zoom -->
516  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-zoom']">
517    <anim:par pres:preset-property="Zoom">
518      <xsl:apply-templates select="*|@*|text()"/>
519    </anim:par>
520  </xsl:template>
521
522  <!-- swivel -->
523  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-swivel']">
524    <anim:par pres:preset-property="Direction">
525      <xsl:apply-templates select="*|@*|text()"/>
526    </anim:par>
527  </xsl:template>
528
529  <!-- fade in an swivel -->
530  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-exit-fade-out-and-swivel']">
531    <anim:iterate pres:text-only="true">
532      <xsl:apply-templates select="*|@*|text()"/>
533    </anim:iterate>
534  </xsl:template>
535
536  <!-- fade in an swivel -->
537  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-exit-turn-and-grow']">
538    <anim:iterate pres:text-only="true">
539      <xsl:apply-templates select="*|@*|text()"/>
540    </anim:iterate>
541  </xsl:template>
542
543  <!-- fold -->
544  <xsl:template match="anim:par[@pres:preset-id = 'ooo-exit-fold']">
545    <anim:par pres:text-only="true">
546      <xsl:apply-templates select="*|@*|text()"/>
547    </anim:par>
548  </xsl:template>
549
550  <!-- whip -->
551  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-exit-whip']">
552    <anim:iterate pres:text-only="true">
553      <xsl:apply-templates select="*|@*|text()"/>
554    </anim:iterate>
555  </xsl:template>
556
557  <!-- flip -->
558  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-exit-flip']">
559    <anim:iterate pres:text-only="true">
560      <xsl:apply-templates select="*|@*|text()"/>
561    </anim:iterate>
562  </xsl:template>
563
564  <!-- swish -->
565  <xsl:template match="anim:iterate[@pres:preset-id = 'ooo-exit-swish']">
566    <anim:iterate pres:text-only="true">
567      <xsl:apply-templates select="*|@*|text()"/>
568    </anim:iterate>
569  </xsl:template>
570
571  <!-- remove pres:group-id -->
572  <xsl:template match="@xlink:href" />
573  <xsl:template match="@smil:targetElement" />
574  <xsl:template match="@pres:group-id" />
575
576  <!-- copy   -->
577  <xsl:template match="*|@*|text()">
578    <xsl:copy>
579      <xsl:apply-templates select="*|@*|text()"/>
580    </xsl:copy>
581  </xsl:template>
582
583</xsl:stylesheet>
584