2 * This file is part of the LibreOffice project.
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 * This file incorporates work covered by the following license notice:
10 * Licensed to the Apache Software Foundation (ASF) under one or more
11 * contributor license agreements. See the NOTICE file distributed
12 * with this work for additional information regarding copyright
13 * ownership. The ASF licenses this file to you under the Apache
14 * License, Version 2.0 (the "License"); you may not use this file
15 * except in compliance with the License. You may obtain a copy of
16 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 <xsl:stylesheet version=
"1.0" xmlns:
xsl=
"http://www.w3.org/1999/XSL/Transform" xmlns:
office=
"urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:
style=
"urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:
text=
"urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:
table=
"urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:
draw=
"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:
fo=
"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:
xlink=
"http://www.w3.org/1999/xlink" xmlns:
dc=
"http://purl.org/dc/elements/1.1/" xmlns:
meta=
"urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:
number=
"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:
svg=
"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:
chart=
"urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:
dr3d=
"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:
math=
"http://www.w3.org/1998/Math/MathML" xmlns:
form=
"urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:
script=
"urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:
config=
"urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:
ooo=
"http://openoffice.org/2004/office" xmlns:
ooow=
"http://openoffice.org/2004/writer" xmlns:
oooc=
"http://openoffice.org/2004/calc" xmlns:
dom=
"http://www.w3.org/2001/xml-events" xmlns:
xforms=
"http://www.w3.org/2002/xforms" xmlns:
xsd=
"http://www.w3.org/2001/XMLSchema" xmlns:
xsi=
"http://www.w3.org/2001/XMLSchema-instance" xmlns:
rdf=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
19 xmlns:
rdfs=
"http://www.w3.org/2000/01/rdf-schema#" xmlns:UML = 'org.omg.xmi.namespace.UML' xml:
space=
"default">
20 <xsl:output method=
"text" />
22 <!-- Key all attributes with the same name and same value -->
23 <xsl:key name=
"same-valued-tagged-data"
24 match=
"UML:TaggedValue.dataValue" use=
"." />
26 <xsl:template match=
"/">
30 * This file is part of the LibreOffice project.
32 * This Source Code Form is subject to the terms of the Mozilla Public
33 * License, v.
2.0. If a copy of the MPL was not distributed with this
34 * file, You can obtain one at http://mozilla.org/MPL/
2.0/.
36 * This file incorporates work covered by the following license notice:
38 * Licensed to the Apache Software Foundation (ASF) under one or more
39 * contributor license agreements. See the NOTICE file distributed
40 * with this work for additional information regarding copyright
41 * ownership. The ASF licenses this file to you under the Apache
42 * License, Version
2.0 (the
"License"); you may not use this file
43 * except in compliance with the License. You may obtain a copy of
44 * the License at http://www.apache.org/licenses/LICENSE-
2.0 .
47 THIS FILE IS GENERATED AUTOMATICALLY! DO NOT EDIT!
49 #ifndef INCLUDED_RESOURCESIDS
50 #define INCLUDED_RESOURCESIDS
52 #include
<sal/types.h
>
53 #include
<resourcemodel/WW8ResourceModel.hxx
>
55 namespace writerfilter {
59 /* Attributes */
</xsl:text>
60 <xsl:for-each select='.//UML:Attribute[@name!=
"reserved"][count(.//UML:Stereotype[@xmi.
idref=
"noqname"]) =
0]'
>
61 <xsl:variable name=
"pos" select=
"position()"/>
62 <xsl:for-each select='.//UML:TaggedValue[.//UML:TagDefinition/@xmi.
idref=
"attrid"]'
>
64 <xsl:when test='generate-id(UML:TaggedValue.dataValue) != generate-id(key(
"same-valued-tagged-data", UML:TaggedValue.dataValue)[
1])'
/>
65 <!-- <xsl:when test='.//UML:TaggedValue.dataValue = preceding::*//UML:TaggedValue.dataValue'/>-->
69 <xsl:call-template name='idtoqname'
>
70 <xsl:with-param name='id'
><xsl:value-of select='.//UML:TaggedValue.dataValue'
/></xsl:with-param>
72 <xsl:text> =
</xsl:text>
73 <xsl:variable name=
"id" select=
"10000 + $pos"/>
74 <xsl:value-of select='$id'
/>
75 <xsl:text>; //
0x
</xsl:text>
76 <xsl:call-template name=
"dectohex">
77 <xsl:with-param name=
"number" select=
"$id"/>
85 /* Operations */
</xsl:text>
86 <xsl:for-each select='.//UML:Operation[@name!=
"reserved"][count(.//UML:Stereotype[@xmi.
idref=
"noqname"]) =
0]'
>
87 <xsl:variable name=
"pos" select=
"position()"/>
88 <xsl:for-each select='.//UML:TaggedValue[.//UML:TagDefinition/@xmi.
idref=
"opid"]'
>
90 <xsl:when test='generate-id(UML:TaggedValue.dataValue) != generate-id(key(
"same-valued-tagged-data", UML:TaggedValue.dataValue)[
1])'
/>
94 <xsl:call-template name='idtoqname'
>
95 <xsl:with-param name='id'
><xsl:value-of select='.//UML:TaggedValue.dataValue'
/></xsl:with-param>
97 <xsl:text> =
</xsl:text>
98 <xsl:variable name=
"id" select=
"20000 + $pos"/>
99 <xsl:value-of select='$id'
/>
100 <xsl:text>; //
0x
</xsl:text>
101 <xsl:call-template name=
"dectohex">
102 <xsl:with-param name=
"number" select=
"$id"/>
110 /* Classes */
</xsl:text>
111 <xsl:for-each select='.//UML:Class[@name!=
"reserved"]'
>
112 <xsl:variable name=
"pos" select=
"position()"/>
113 <xsl:for-each select='.//UML:TaggedValue[.//UML:TagDefinition/@xmi.
idref=
"classid"]'
>
115 <xsl:when test='.//UML:Stereotype[@xmi.
idref=
"noqname"]'
/>
116 <xsl:when test='generate-id(UML:TaggedValue.dataValue) != generate-id(key(
"same-valued-tagged-data", UML:TaggedValue.dataValue)[
1])'
/>
120 <xsl:call-template name='idtoqname'
>
121 <xsl:with-param name='id'
><xsl:value-of select='.//UML:TaggedValue.dataValue'
/></xsl:with-param>
123 <xsl:text> =
</xsl:text>
124 <xsl:value-of select='
30000 + $pos'
/>
125 <xsl:text>; //
0x
</xsl:text>
126 <xsl:call-template name=
"dectohex">
127 <xsl:with-param name=
"number" select=
"30000 + position()"/>
138 <xsl:for-each select='.//UML:Class[.//UML:Stereotype/@xmi.
idref=
"dffopt"]'
>
139 <xsl:variable name =
"optname">
140 <xsl:value-of select='.//UML:TaggedValue[.//UML:TagDefinition/@xmi.
idref=
"optname"]/UML:TaggedValue.dataValue'
/>
142 <xsl:variable name=
"fopid">
143 <xsl:for-each select='.//UML:TaggedValue[.//UML:TagDefinition/@xmi.
idref=
"fopid"]'
>
144 <xsl:value-of select='UML:TaggedValue.dataValue'
/>
149 <xsl:call-template name=
"idtoqname">
150 <xsl:with-param name=
"id"><xsl:value-of select=
"$optname"/></xsl:with-param>
152 <xsl:text> =
</xsl:text>
153 <xsl:value-of select=
"$fopid"/>
154 <xsl:text>; //
0x
</xsl:text>
155 <xsl:call-template name=
"dectohex">
156 <xsl:with-param name=
"number" select=
"$fopid"/>
165 #endif // INCLUDED_RESOURCESIDS

</xsl:text></out>
168 <xsl:template name='idtoqname'
>
169 <xsl:param name='id'
/>LN_
<xsl:value-of select='substring-after($id,
":")'
/>
172 <xsl:template name='dectohex'
>
173 <xsl:param name=
"number"/>
174 <xsl:if test=
"$number > 16">
175 <xsl:call-template name=
"dectohex">
176 <xsl:with-param name=
"number" select=
"floor($number div 16)"/>
179 <xsl:value-of select=
"substring('0123456789abcdef', $number mod 16 + 1, 1)"/>