insilmaril@218
|
1 |
<?xml version="1.0" encoding="UTF-8"?>
|
insilmaril@217
|
2 |
|
insilmaril@217
|
3 |
<!--
|
insilmaril@217
|
4 |
Document : mmap2vym.xsl
|
insilmaril@217
|
5 |
Author : Clemens Kraus (http://www.clemens-kraus.de)
|
insilmaril@217
|
6 |
|
insilmaril@217
|
7 |
Description: transforms exported MindManager-files (version x5/6) into vym-format.
|
insilmaril@217
|
8 |
Bugs : First Version, work still in progress!
|
insilmaril@217
|
9 |
Todo : - xlinks still to be implemented
|
insilmaril@217
|
10 |
- codes/symbols still to be implemented
|
insilmaril@217
|
11 |
- Multimap links (.mmap) still to be implemented
|
insilmaril@217
|
12 |
-->
|
insilmaril@217
|
13 |
|
insilmaril@217
|
14 |
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
insilmaril@217
|
15 |
xmlns:xlink="http://www.w3.org/1999/xlink"
|
insilmaril@217
|
16 |
xmlns:ap="http://schemas.mindjet.com/MindManager/Application/2003"
|
insilmaril@217
|
17 |
xmlns:exsl="http://exslt.org/common" extension-element-prefixes="exsl math func"
|
insilmaril@217
|
18 |
xmlns:math="http://exslt.org/math"
|
insilmaril@217
|
19 |
xmlns:func="http://exslt.org/functions"
|
insilmaril@217
|
20 |
version="1.0">
|
insilmaril@217
|
21 |
|
insilmaril@217
|
22 |
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
|
insilmaril@217
|
23 |
<xsl:param name="filenamep" />
|
insilmaril@217
|
24 |
<xsl:variable name="filename" select="$filenamep"/>
|
insilmaril@217
|
25 |
<!--<xsl:variable name="maxxCoord"><xsl:value-of select="math:max(map//xCoord)" /></xsl:variable>-->
|
insilmaril@217
|
26 |
<xsl:variable name="maxxCoord"><xsl:value-of select="600" /></xsl:variable>
|
insilmaril@217
|
27 |
<xsl:variable name="maxyCoord"><xsl:value-of select="800" /></xsl:variable>
|
insilmaril@217
|
28 |
<xsl:variable name="minxCoord"><xsl:value-of select="0" /></xsl:variable>
|
insilmaril@217
|
29 |
<xsl:variable name="minyCoord"><xsl:value-of select="0" /></xsl:variable>
|
insilmaril@217
|
30 |
|
insilmaril@217
|
31 |
|
insilmaril@217
|
32 |
<!-- root element -->
|
insilmaril@217
|
33 |
<xsl:template match="/">
|
insilmaril@217
|
34 |
|
insilmaril@217
|
35 |
<xsl:element name="vymmap">
|
insilmaril@217
|
36 |
<!-- default settings: -->
|
insilmaril@217
|
37 |
<xsl:attribute name="comment">Generated with mmap2vym (V0.1.2) - MindManager to vym converter. More infos: www.clemens-kraus.de</xsl:attribute>
|
insilmaril@217
|
38 |
|
insilmaril@217
|
39 |
<xsl:variable name="author" select="concat(/ap:Map/ap:DocumentGroup/ap:Author/@UserName, ' ', /ap:Map/ap:DocumentGroup/ap:Author/@UserEmail)" />
|
insilmaril@217
|
40 |
<xsl:if test="$author">
|
insilmaril@217
|
41 |
<xsl:attribute name="author"><xsl:value-of select="$author"/></xsl:attribute>
|
insilmaril@217
|
42 |
</xsl:if>
|
insilmaril@217
|
43 |
|
insilmaril@217
|
44 |
<xsl:element name="mapcenter">
|
insilmaril@217
|
45 |
<!--xsl:attribute name="absPosX"><xsl:value-of select="300"/></xsl:attribute-->
|
insilmaril@217
|
46 |
<!--xsl:attribute name="absPosY"><xsl:value-of select="400"/></xsl:attribute-->
|
insilmaril@217
|
47 |
<!--xsl:attribute name="absPosX"><xsl:value-of select="- floor($minxCoord * 0.6) - 30"/></xsl:attribute-->
|
insilmaril@217
|
48 |
<!--xsl:attribute name="absPosY"><xsl:value-of select="floor($maxyCoord * 0.6)"/></xsl:attribute-->
|
insilmaril@217
|
49 |
<!-- xsl:message>absPos: <xsl:value-of select="-
|
insilmaril@217
|
50 |
floor($minxCoord * 0.6) - 30"/></xsl:message -->
|
insilmaril@217
|
51 |
|
insilmaril@217
|
52 |
<!-- recurse to map title node ... -->
|
insilmaril@217
|
53 |
<xsl:apply-templates select="ap:Map/ap:OneTopic/ap:Topic/ap:Text"/>
|
insilmaril@217
|
54 |
|
insilmaril@217
|
55 |
<xsl:apply-templates select="ap:Map/ap:OneTopic/ap:Topic/ap:SubTopics" />
|
insilmaril@217
|
56 |
|
insilmaril@217
|
57 |
</xsl:element>
|
insilmaril@217
|
58 |
|
insilmaril@217
|
59 |
</xsl:element>
|
insilmaril@217
|
60 |
</xsl:template>
|
insilmaril@217
|
61 |
|
insilmaril@217
|
62 |
<xsl:template match="ap:Topic/ap:Text">
|
insilmaril@217
|
63 |
<xsl:element name="heading">
|
insilmaril@217
|
64 |
<xsl:value-of select="@PlainText" />
|
insilmaril@217
|
65 |
</xsl:element>
|
insilmaril@217
|
66 |
</xsl:template>
|
insilmaril@217
|
67 |
|
insilmaril@217
|
68 |
|
insilmaril@217
|
69 |
<xsl:template match="ap:Topic">
|
insilmaril@217
|
70 |
|
insilmaril@217
|
71 |
<xsl:element name="branch">
|
insilmaril@217
|
72 |
<xsl:call-template name="position" />
|
insilmaril@217
|
73 |
|
insilmaril@217
|
74 |
<!-- =============================== hyperlink ================================ -->
|
insilmaril@217
|
75 |
<xsl:variable name="url" select="ap:Hyperlink" />
|
insilmaril@217
|
76 |
<xsl:if test="$url">
|
insilmaril@217
|
77 |
<xsl:attribute name="url"><xsl:value-of select="ap:Hyperlink/@Url"/></xsl:attribute>
|
insilmaril@217
|
78 |
</xsl:if>
|
insilmaril@217
|
79 |
|
insilmaril@217
|
80 |
<xsl:variable name="rect" select="ap:SubTopicShape/@SubTopicShape" />
|
insilmaril@217
|
81 |
<xsl:if test="contains($rect, 'Rectangle')">
|
insilmaril@217
|
82 |
<xsl:attribute name="frameType">Rectangle</xsl:attribute>
|
insilmaril@217
|
83 |
<!--<xsl:message><xsl:text>Rectangle</xsl:text><xsl:value-of select="$rect"/></xsl:message>-->
|
insilmaril@217
|
84 |
</xsl:if>
|
insilmaril@217
|
85 |
|
insilmaril@217
|
86 |
<!-- =============================== closed ================================ -->
|
insilmaril@217
|
87 |
<!-- is branch closed? -->
|
insilmaril@217
|
88 |
<xsl:variable name="collapsed" select="ap:TopicViewGroup/Collapsed/@Collapsed" />
|
insilmaril@217
|
89 |
<xsl:if test="$collapsed = 'true'">
|
insilmaril@217
|
90 |
<xsl:attribute name="scrolled">
|
insilmaril@217
|
91 |
<xsl:value-of select="yes"/>
|
insilmaril@217
|
92 |
</xsl:attribute>
|
insilmaril@217
|
93 |
</xsl:if>
|
insilmaril@217
|
94 |
|
insilmaril@217
|
95 |
<xsl:element name="heading">
|
insilmaril@217
|
96 |
<xsl:if test="ap:Text/ap:Font/@Color">
|
insilmaril@217
|
97 |
<xsl:attribute name="textColor">
|
insilmaril@217
|
98 |
<xsl:value-of select="concat('#', substring(ap:Text/ap:Font/@Color, 3, 6))" />
|
insilmaril@217
|
99 |
</xsl:attribute>
|
insilmaril@217
|
100 |
</xsl:if>
|
insilmaril@217
|
101 |
<xsl:value-of select="ap:Text/@PlainText" />
|
insilmaril@217
|
102 |
|
insilmaril@217
|
103 |
<!-- <xsl:variable name="OId" select="@OId" />
|
insilmaril@217
|
104 |
<xsl:variable name="relation" select="/ap:Map/ap:Relationships/ap:Relationship[ap:ConnectionGroup[@Index=0]/ap:Connection/ap:ObjectReference/@OIdRef=$OId]" />
|
insilmaril@217
|
105 |
<xsl:if test="$relation">
|
insilmaril@217
|
106 |
<xsl:variable name="toId" select="$relation/ap:ConnectionGroup[@Index=1]/ap:Connection/ap:ObjectReference/@OIdRef" />
|
insilmaril@217
|
107 |
<xsl:element name="arrowlink">
|
insilmaril@217
|
108 |
<xsl:attribute name="ENDARROW">Default</xsl:attribute>
|
insilmaril@217
|
109 |
<xsl:attribute name="DESTINATION">
|
insilmaril@217
|
110 |
<xsl:value-of select="$relation/ap:ConnectionGroup[@Index=1]/ap:Connection/ap:ObjectReference/@OIdRef" />
|
insilmaril@217
|
111 |
</xsl:attribute>
|
insilmaril@217
|
112 |
<xsl:attribute name="STARTARROW">None</xsl:attribute>
|
insilmaril@217
|
113 |
</xsl:element>
|
insilmaril@217
|
114 |
</xsl:if>
|
insilmaril@217
|
115 |
<xsl:variable name="toId" select="/ap:Map/ap:Relationships/ap:Relationship/ap:ConnectionGroup[@Index=1]/ap:Connection/ap:ObjectReference[@OIdRef=$OId]/@OIdRef" />
|
insilmaril@217
|
116 |
<xsl:if test="$toId">
|
insilmaril@217
|
117 |
<xsl:attribute name="ID">
|
insilmaril@217
|
118 |
<xsl:value-of select="$toId" />
|
insilmaril@217
|
119 |
</xsl:attribute>
|
insilmaril@217
|
120 |
</xsl:if> -->
|
insilmaril@217
|
121 |
|
insilmaril@217
|
122 |
</xsl:element>
|
insilmaril@217
|
123 |
|
insilmaril@217
|
124 |
<!-- =============================== createnote ================================ -->
|
insilmaril@217
|
125 |
<xsl:variable name="note" select="ap:NotesGroup" />
|
insilmaril@217
|
126 |
<xsl:if test="$note">
|
insilmaril@217
|
127 |
<xsl:element name="htmlnote">
|
insilmaril@217
|
128 |
<xsl:attribute name="fonthint">var</xsl:attribute>
|
insilmaril@217
|
129 |
<xsl:copy-of select="ap:NotesGroup/ap:NotesXhtmlData/*"/>
|
insilmaril@217
|
130 |
</xsl:element>
|
insilmaril@217
|
131 |
</xsl:if>
|
insilmaril@217
|
132 |
|
insilmaril@217
|
133 |
<xsl:apply-templates select="ap:SubTopics"/>
|
insilmaril@217
|
134 |
</xsl:element>
|
insilmaril@217
|
135 |
|
insilmaril@217
|
136 |
</xsl:template>
|
insilmaril@217
|
137 |
|
insilmaril@217
|
138 |
|
insilmaril@217
|
139 |
<!-- =============================== position ================================ -->
|
insilmaril@217
|
140 |
<!-- for position -->
|
insilmaril@217
|
141 |
<xsl:template name="position">
|
insilmaril@218
|
142 |
<xsl:if test="ap:Offset/@CX!=''">
|
insilmaril@218
|
143 |
<xsl:attribute name="relPosX">
|
insilmaril@218
|
144 |
<xsl:value-of select="ap:Offset/@CX *3"/>
|
insilmaril@218
|
145 |
</xsl:attribute>
|
insilmaril@218
|
146 |
</xsl:if>
|
insilmaril@218
|
147 |
<xsl:if test="ap:Offset/@CY!=''">
|
insilmaril@218
|
148 |
<xsl:attribute name="relPosY">
|
insilmaril@218
|
149 |
<xsl:value-of select="floor( ap:Offset/@CY *3 )"/>
|
insilmaril@218
|
150 |
</xsl:attribute>
|
insilmaril@218
|
151 |
</xsl:if>
|
insilmaril@217
|
152 |
|
insilmaril@217
|
153 |
</xsl:template>
|
insilmaril@217
|
154 |
|
insilmaril@217
|
155 |
|
insilmaril@217
|
156 |
<!-- ========================== symbol (floatimage) =========================== -->
|
insilmaril@217
|
157 |
<!-- any floatimage? -->
|
insilmaril@217
|
158 |
<xsl:template match="symbol">
|
insilmaril@217
|
159 |
|
insilmaril@217
|
160 |
<xsl:if test="string-length(./url) > 0">
|
insilmaril@217
|
161 |
<xsl:variable name="imagename" >
|
insilmaril@217
|
162 |
<xsl:call-template name="getfn" >
|
insilmaril@217
|
163 |
<xsl:with-param name="txt" select="substring-before( translate( normalize-space( current() ), '\', '/' ), '.' )" />
|
insilmaril@217
|
164 |
</xsl:call-template>
|
insilmaril@217
|
165 |
</xsl:variable>
|
insilmaril@217
|
166 |
|
insilmaril@217
|
167 |
<xsl:element name="floatimage">
|
insilmaril@217
|
168 |
<xsl:attribute name="relPosX">
|
insilmaril@217
|
169 |
<xsl:value-of select="'20'"/>
|
insilmaril@217
|
170 |
</xsl:attribute>
|
insilmaril@217
|
171 |
<xsl:attribute name="relPosY">
|
insilmaril@217
|
172 |
<xsl:value-of select="'-50'"/>
|
insilmaril@217
|
173 |
</xsl:attribute>
|
insilmaril@217
|
174 |
<xsl:attribute name="useOrientation">
|
insilmaril@217
|
175 |
<xsl:text>true</xsl:text>
|
insilmaril@217
|
176 |
</xsl:attribute>
|
insilmaril@217
|
177 |
<xsl:attribute name="saveInMap">
|
insilmaril@217
|
178 |
<xsl:text>true</xsl:text>
|
insilmaril@217
|
179 |
</xsl:attribute>
|
insilmaril@217
|
180 |
|
insilmaril@217
|
181 |
<xsl:attribute name="href">
|
insilmaril@217
|
182 |
<xsl:value-of select="concat('file:', $filename, '-image-', $imagename, '.png')"/>
|
insilmaril@217
|
183 |
</xsl:attribute>
|
insilmaril@217
|
184 |
</xsl:element>
|
insilmaril@217
|
185 |
</xsl:if>
|
insilmaril@217
|
186 |
|
insilmaril@217
|
187 |
</xsl:template>
|
insilmaril@217
|
188 |
|
insilmaril@217
|
189 |
|
insilmaril@217
|
190 |
<!-- =============================== hyperlink ================================ -->
|
insilmaril@217
|
191 |
<xsl:template match="xhyperLink">
|
insilmaril@217
|
192 |
|
insilmaril@217
|
193 |
<xsl:choose>
|
insilmaril@217
|
194 |
<xsl:when test="substring(., 1, 4)='http'">
|
insilmaril@217
|
195 |
<xsl:attribute name="url">
|
insilmaril@217
|
196 |
<xsl:value-of select="."/>
|
insilmaril@217
|
197 |
</xsl:attribute>
|
insilmaril@217
|
198 |
</xsl:when>
|
insilmaril@217
|
199 |
|
insilmaril@217
|
200 |
<xsl:when test="contains(., '.mmp')">
|
insilmaril@217
|
201 |
<xsl:attribute name="vymLink">
|
insilmaril@217
|
202 |
<!-- Aus .mmp .vym machen und '\' durch '/' ersetzen -->
|
insilmaril@217
|
203 |
<xsl:value-of select="translate( concat(substring-before(current(),'.mmp'), '.vym'), '\', '/')"/>
|
insilmaril@217
|
204 |
</xsl:attribute>
|
insilmaril@217
|
205 |
</xsl:when>
|
insilmaril@217
|
206 |
|
insilmaril@217
|
207 |
<xsl:otherwise>
|
insilmaril@217
|
208 |
<!-- <xsl:message terminate="yes">Test: <xsl:value-of select="."/></xsl:message> -->
|
insilmaril@217
|
209 |
<xsl:attribute name="url">
|
insilmaril@217
|
210 |
<xsl:value-of select="concat( 'file:/', translate(current(), '\', '/') )"/>
|
insilmaril@217
|
211 |
</xsl:attribute>
|
insilmaril@217
|
212 |
</xsl:otherwise>
|
insilmaril@217
|
213 |
</xsl:choose>
|
insilmaril@217
|
214 |
|
insilmaril@217
|
215 |
|
insilmaril@217
|
216 |
<!-- <xsl:if test="substring(., 1, 4)='http'">
|
insilmaril@217
|
217 |
<xsl:attribute name="url">
|
insilmaril@217
|
218 |
<xsl:value-of select="."/>
|
insilmaril@217
|
219 |
</xsl:attribute>
|
insilmaril@217
|
220 |
</xsl:if>
|
insilmaril@217
|
221 |
|
insilmaril@217
|
222 |
<xsl:if test="contains(., '.mmp')">
|
insilmaril@217
|
223 |
<xsl:attribute name="vymLink">
|
insilmaril@217
|
224 |
<xsl:value-of select="translate( concat(substring-before(current(),'.mmp'), '.vym'), '\', '/')"/>
|
insilmaril@217
|
225 |
</xsl:attribute>
|
insilmaril@217
|
226 |
</xsl:if> -->
|
insilmaril@217
|
227 |
|
insilmaril@217
|
228 |
</xsl:template>
|
insilmaril@217
|
229 |
|
insilmaril@217
|
230 |
|
insilmaril@217
|
231 |
<!-- ================================= getfn ================================== -->
|
insilmaril@217
|
232 |
<!-- get the filename (without the path) -->
|
insilmaril@217
|
233 |
|
insilmaril@217
|
234 |
<xsl:template name="getfn">
|
insilmaril@217
|
235 |
<xsl:param name="txt" select="." />
|
insilmaril@217
|
236 |
|
insilmaril@217
|
237 |
<xsl:choose>
|
insilmaril@217
|
238 |
<xsl:when test="contains($txt, '/')" >
|
insilmaril@217
|
239 |
<xsl:variable name="right" select="substring-after($txt, '/')" />
|
insilmaril@217
|
240 |
<xsl:if test="string-length($right)>1" >
|
insilmaril@217
|
241 |
<xsl:call-template name="getfn" >
|
insilmaril@217
|
242 |
<xsl:with-param name="txt" select="$right" />
|
insilmaril@217
|
243 |
</xsl:call-template>
|
insilmaril@217
|
244 |
</xsl:if>
|
insilmaril@217
|
245 |
</xsl:when>
|
insilmaril@217
|
246 |
<xsl:otherwise>
|
insilmaril@217
|
247 |
<xsl:value-of select="$txt" />
|
insilmaril@217
|
248 |
</xsl:otherwise>
|
insilmaril@217
|
249 |
</xsl:choose>
|
insilmaril@217
|
250 |
|
insilmaril@217
|
251 |
</xsl:template>
|
insilmaril@217
|
252 |
|
insilmaril@218
|
253 |
<!-- =============================== Icons ================================ -->
|
insilmaril@218
|
254 |
<xsl:template match="ap:Icon">
|
insilmaril@218
|
255 |
<xsl:message>Icon found</xsl:message>
|
insilmaril@218
|
256 |
<xsl:element name="standardFlag">
|
insilmaril@218
|
257 |
<xsl:value-of select="@IconType"/>
|
insilmaril@218
|
258 |
</xsl:element>
|
insilmaril@218
|
259 |
<xsl:message>absPos: <xsl:value-of select="@IconType"/>
|
insilmaril@218
|
260 |
</xsl:message>
|
insilmaril@218
|
261 |
</xsl:template>
|
insilmaril@218
|
262 |
|
insilmaril@217
|
263 |
|
insilmaril@217
|
264 |
<!-- =============================== codes ================================ -->
|
insilmaril@217
|
265 |
<xsl:template match="codes">
|
insilmaril@217
|
266 |
|
insilmaril@217
|
267 |
<!-- file:/home/clemens/CLEMENS/MM/Tools/Open Interface Reference Guide/doc/enum-mmcode.html -->
|
insilmaril@217
|
268 |
<xsl:element name="standardFlag">
|
insilmaril@217
|
269 |
<xsl:choose>
|
insilmaril@217
|
270 |
<xsl:when test="code = '1'">lamp</xsl:when>
|
insilmaril@217
|
271 |
<xsl:when test="code = '2'">arrow-up</xsl:when>
|
insilmaril@217
|
272 |
<xsl:when test="code = '3'">arrow-down</xsl:when>
|
insilmaril@217
|
273 |
<!-- <xsl:when test="code = ">scrolled-right</xsl:when> -->
|
insilmaril@217
|
274 |
<xsl:when test="code = '5'">hook-green</xsl:when>
|
insilmaril@217
|
275 |
<xsl:when test="code = '6'">questionmark</xsl:when>
|
insilmaril@217
|
276 |
<xsl:when test="code = '7'">smiley-good</xsl:when>
|
insilmaril@217
|
277 |
<xsl:when test="code = '8'">smiley-sad</xsl:when>
|
insilmaril@217
|
278 |
<xsl:when test="code = '11'">stopsign</xsl:when>
|
insilmaril@217
|
279 |
<xsl:when test="code = '13'">clock</xsl:when>
|
insilmaril@217
|
280 |
<xsl:when test="code = '15'">clock</xsl:when>
|
insilmaril@217
|
281 |
<xsl:when test="code = '17'">cross-red</xsl:when>
|
insilmaril@217
|
282 |
<xsl:when test="code = '41'">cross-red</xsl:when>
|
insilmaril@217
|
283 |
<xsl:when test="code = '20'">exclamationmark</xsl:when>
|
insilmaril@217
|
284 |
<xsl:when test="code = '29'">thumb-up</xsl:when>
|
insilmaril@217
|
285 |
<!-- <xsl:when test="code = '9'">note</xsl:when>
|
insilmaril@217
|
286 |
<xsl:when test="code = '32'">note</xsl:when> -->
|
insilmaril@217
|
287 |
<xsl:otherwise>heart</xsl:otherwise>
|
insilmaril@217
|
288 |
</xsl:choose>
|
insilmaril@217
|
289 |
<!-- Fuer spaetere Erweiterung um eigene Codes: z.B. MindManager-Codes "code-9.png"
|
insilmaril@217
|
290 |
<xsl:value-of select="concat( 'code-', current() )"/> -->
|
insilmaril@218
|
291 |
</xsl:element>
|
insilmaril@217
|
292 |
|
insilmaril@218
|
293 |
</xsl:template>
|
insilmaril@217
|
294 |
|
insilmaril@217
|
295 |
|
insilmaril@217
|
296 |
<!-- =============================== color ================================ -->
|
insilmaril@217
|
297 |
<xsl:template match="color">
|
insilmaril@217
|
298 |
<xsl:attribute name="textColor">
|
insilmaril@217
|
299 |
<!-- switch from BBGGRR to #RRGGBB representation -->
|
insilmaril@217
|
300 |
<xsl:text>#</xsl:text>
|
insilmaril@217
|
301 |
<xsl:value-of select="substring( ., 5, 2 )"/>
|
insilmaril@217
|
302 |
<xsl:value-of select="substring( ., 3, 2 )"/>
|
insilmaril@217
|
303 |
<xsl:value-of select="substring( ., 1, 2 )"/>
|
insilmaril@217
|
304 |
</xsl:attribute>
|
insilmaril@217
|
305 |
</xsl:template>
|
insilmaril@217
|
306 |
|
insilmaril@217
|
307 |
|
insilmaril@217
|
308 |
<!-- =============================== for future use ================================ -->
|
insilmaril@217
|
309 |
<xsl:template match="Name">
|
insilmaril@217
|
310 |
<xsl:attribute name="NAME">
|
insilmaril@217
|
311 |
<xsl:value-of select="."/>
|
insilmaril@217
|
312 |
</xsl:attribute>
|
insilmaril@217
|
313 |
</xsl:template>
|
insilmaril@217
|
314 |
|
insilmaril@217
|
315 |
<xsl:template match="Size">
|
insilmaril@217
|
316 |
<xsl:attribute name="SIZE">
|
insilmaril@217
|
317 |
<xsl:value-of select="."/>
|
insilmaril@217
|
318 |
</xsl:attribute>
|
insilmaril@217
|
319 |
</xsl:template>
|
insilmaril@217
|
320 |
|
insilmaril@217
|
321 |
<xsl:template match="Bold">
|
insilmaril@217
|
322 |
<xsl:attribute name="BOLD">
|
insilmaril@217
|
323 |
<xsl:value-of select="."/>
|
insilmaril@217
|
324 |
</xsl:attribute>
|
insilmaril@217
|
325 |
</xsl:template>
|
insilmaril@217
|
326 |
|
insilmaril@217
|
327 |
<xsl:template match="Italic">
|
insilmaril@217
|
328 |
<xsl:attribute name="ITALIC">
|
insilmaril@217
|
329 |
<xsl:value-of select="."/>
|
insilmaril@217
|
330 |
</xsl:attribute>
|
insilmaril@217
|
331 |
</xsl:template>
|
insilmaril@217
|
332 |
|
insilmaril@217
|
333 |
<xsl:template match="Underline">
|
insilmaril@217
|
334 |
<xsl:attribute name="UNDERLINE">
|
insilmaril@217
|
335 |
<xsl:value-of select="."/>
|
insilmaril@217
|
336 |
</xsl:attribute>
|
insilmaril@217
|
337 |
</xsl:template>
|
insilmaril@217
|
338 |
|
insilmaril@217
|
339 |
<xsl:template match="Strikethrough">
|
insilmaril@217
|
340 |
<xsl:attribute name="Strikethrough">
|
insilmaril@217
|
341 |
<xsl:value-of select="."/>
|
insilmaril@217
|
342 |
</xsl:attribute>
|
insilmaril@217
|
343 |
</xsl:template>
|
insilmaril@217
|
344 |
|
insilmaril@217
|
345 |
<!-- template extracting a subset of font attributes -->
|
insilmaril@217
|
346 |
<xsl:template match="ap:font">
|
insilmaril@217
|
347 |
<xsl:apply-templates select="@Name"/>
|
insilmaril@217
|
348 |
<xsl:apply-templates select="@Size"/>
|
insilmaril@217
|
349 |
<xsl:apply-templates select="@Bold"/>
|
insilmaril@217
|
350 |
<xsl:apply-templates select="@Italic"/>
|
insilmaril@217
|
351 |
<xsl:apply-templates select="@Underline"/>
|
insilmaril@217
|
352 |
<xsl:apply-templates select="@Strikethrough"/>
|
insilmaril@217
|
353 |
</xsl:template>
|
insilmaril@217
|
354 |
|
insilmaril@217
|
355 |
</xsl:stylesheet>
|
insilmaril@217
|
356 |
|
insilmaril@217
|
357 |
|