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