Branch data Line data Source code
1 : : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : : /*************************************************************************
3 : : *
4 : : * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 : : *
6 : : * Copyright 2000, 2010 Oracle and/or its affiliates.
7 : : *
8 : : * OpenOffice.org - a multi-platform office productivity suite
9 : : *
10 : : * This file is part of OpenOffice.org.
11 : : *
12 : : * OpenOffice.org is free software: you can redistribute it and/or modify
13 : : * it under the terms of the GNU Lesser General Public License version 3
14 : : * only, as published by the Free Software Foundation.
15 : : *
16 : : * OpenOffice.org is distributed in the hope that it will be useful,
17 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 : : * GNU Lesser General Public License version 3 for more details
20 : : * (a copy is included in the LICENSE file that accompanied this code).
21 : : *
22 : : * You should have received a copy of the GNU Lesser General Public License
23 : : * version 3 along with OpenOffice.org. If not, see
24 : : * <http://www.openoffice.org/license.html>
25 : : * for a copy of the LGPLv3 License.
26 : : *
27 : : ************************************************************************/
28 : :
29 : : #include <rtl/ustrbuf.hxx>
30 : : #include <comphelper/processfactory.hxx>
31 : : #include <comphelper/servicehelper.hxx>
32 : : #include <sax/tools/converter.hxx>
33 : : #include <xmloff/nmspmap.hxx>
34 : : #include "xmloff/xmlnmspe.hxx"
35 : : #include <xmloff/xmltoken.hxx>
36 : : #include "MutableAttrList.hxx"
37 : : #include "DeepTContext.hxx"
38 : : #include "StyleOOoTContext.hxx"
39 : : #include "FrameOOoTContext.hxx"
40 : : #include "EventOOoTContext.hxx"
41 : : #include "ControlOOoTContext.hxx"
42 : : #include "FormPropOOoTContext.hxx"
43 : : #include "ChartOOoTContext.hxx"
44 : : #include "ChartPlotAreaOOoTContext.hxx"
45 : : #include "ElemTransformerAction.hxx"
46 : : #include "AttrTransformerAction.hxx"
47 : : #include "PropertyActionsOOo.hxx"
48 : : #include "TransformerActions.hxx"
49 : : #include "OOo2Oasis.hxx"
50 : :
51 : : using ::rtl::OUString;
52 : : using namespace ::xmloff::token;
53 : : using namespace ::com::sun::star::uno;
54 : : using namespace ::com::sun::star::lang;
55 : : using namespace ::com::sun::star::xml::sax;
56 : : using namespace ::com::sun::star::beans;
57 : :
58 : : OUString SAL_CALL OOo2OasisTransformer_getImplementationName() throw();
59 : :
60 : : enum XMLUserDefinedTransformerAction
61 : : {
62 : : XML_ETACTION_DOCUMENT=XML_ETACTION_USER_DEFINED,
63 : : XML_ETACTION_BODY,
64 : : XML_ETACTION_STYLE,
65 : : XML_ETACTION_STYLE_RENAME,
66 : : XML_ETACTION_FRAME,
67 : : XML_ETACTION_EVENT,
68 : : XML_ETACTION_TAB_STOP,
69 : : XML_ETACTION_FORM_CONTROL,
70 : : XML_ETACTION_FORM_PROPERTY,
71 : : XML_ETACTION_CHART,
72 : : XML_ETACTION_TRACKED_CHANGES,
73 : : XML_ETACTION_CHART_PLOT_AREA,
74 : : XML_ETACTION_DOCUMENT_RENAME,
75 : : XML_ETACTION_TABLE
76 : : };
77 : :
78 : : #define ENTRY3( n, l, a, p1, p2, p3 ) \
79 : : { XML_NAMESPACE_##n, XML_##l, a, p1, p2, p3 }
80 : : #define ENTRY3QQN( n, l, a, n1, l1, n2, l2, p3 ) \
81 : : ENTRY3( n, l, a, XMLTransformerActionInit::QNameParam( n1, l1 ), \
82 : : XMLTransformerActionInit::QNameParam( n2, l2 ), p3 )
83 : :
84 : : #define ENTRY2( n, l, a, p1, p2 ) \
85 : : ENTRY3( n, l, a, p1, p2, 0 )
86 : : #define ENTRY2QQ( n, l, a, n1, l1, n2, l2 ) \
87 : : ENTRY2( n, l, a, XMLTransformerActionInit::QNameParam( n1, l1 ), \
88 : : XMLTransformerActionInit::QNameParam( n2, l2 ) )
89 : : #define ENTRY2QN( n, l, a, n1, l1, p2 ) \
90 : : ENTRY2( n, l, a, XMLTransformerActionInit::QNameParam( n1, l1 ), p2 )
91 : :
92 : : #define ENTRY1( n, l, a, p1 ) \
93 : : ENTRY3( n, l, a, p1, 0, 0 )
94 : : #define ENTRY1Q( n, l, a, n1, l1 ) \
95 : : ENTRY1( n, l, a, XMLTransformerActionInit::QNameParam( n1, l1 ) )
96 : :
97 : : #define ENTRY0( n, l, a ) \
98 : : ENTRY3( n, l, a, 0, 0, 0 )
99 : :
100 : : // BM: a macro to put two tokens into one sal_Int32 for the action
101 : : // XML_ATACTION_RENAME_ATTRIBUTE
102 : : #define RENAME_ENTRY( f, s ) \
103 : : (static_cast< sal_Int32 >(f) | (static_cast< sal_Int32 >(s) << 16))
104 : :
105 : : static XMLTransformerActionInit aActionTable[] =
106 : : {
107 : : // remove office:class from <office:document> and <office:document-content>
108 : : ENTRY0( OFFICE, DOCUMENT, XML_ETACTION_DOCUMENT ),
109 : : ENTRY0( OFFICE, DOCUMENT_CONTENT, XML_ETACTION_DOCUMENT ),
110 : : ENTRY0( OFFICE, DOCUMENT_STYLES, XML_ETACTION_DOCUMENT ),
111 : : ENTRY0( OFFICE, DOCUMENT_SETTINGS, XML_ETACTION_DOCUMENT ),
112 : 15 : ENTRY1Q( OFFICE, AUTO_TEXT_EVENTS, XML_ETACTION_DOCUMENT_RENAME,
113 : : XML_NAMESPACE_OOO, XML_AUTO_TEXT_EVENTS),
114 : :
115 : : // remove <meta:keywords>
116 : : ENTRY0( META, KEYWORDS, XML_ETACTION_COPY_CONTENT ),
117 : :
118 : : // rename <office:script> to <office:scripts>
119 : 15 : ENTRY1Q( OFFICE, SCRIPT, XML_ETACTION_RENAME_ELEM,
120 : : XML_NAMESPACE_OFFICE, XML_SCRIPTS ),
121 : :
122 : : // rename <office:script-data> to <office:script> and process attributes
123 : 15 : ENTRY2QN( OFFICE, SCRIPT_DATA, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
124 : : XML_NAMESPACE_OFFICE, XML_SCRIPT,
125 : : OOO_SCRIPT_ACTIONS ),
126 : :
127 : : // rename <script:libraries> to <ooo:libraries>
128 : 15 : ENTRY1Q( SCRIPT, LIBRARIES, XML_ETACTION_RENAME_ELEM,
129 : : XML_NAMESPACE_OOO, XML_LIBRARIES ),
130 : :
131 : : // rename <script:library-linked> to <ooo:library-linked> and process attributes
132 : 15 : ENTRY2QN( SCRIPT, LIBRARY_LINKED, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
133 : : XML_NAMESPACE_OOO, XML_LIBRARY_LINKED,
134 : : OOO_SCRIPT_ACTIONS ),
135 : :
136 : : // rename <script:library-embedded> to <ooo:library-embedded> and process attributes
137 : 15 : ENTRY2QN( SCRIPT, LIBRARY_EMBEDDED, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
138 : : XML_NAMESPACE_OOO, XML_LIBRARY_EMBEDDED,
139 : : OOO_SCRIPT_ACTIONS ),
140 : :
141 : : // rename <script:module> to <ooo:module> and process attributes
142 : 15 : ENTRY2QN( SCRIPT, MODULE, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
143 : : XML_NAMESPACE_OOO, XML_MODULE,
144 : : OOO_SCRIPT_ACTIONS ),
145 : :
146 : : // rename <script:source-code> to <ooo:source-code>
147 : 15 : ENTRY1Q( SCRIPT, SOURCE_CODE, XML_ETACTION_RENAME_ELEM,
148 : : XML_NAMESPACE_OOO, XML_SOURCE_CODE ),
149 : :
150 : : // rename <office:font-decls> to <office:font-face-decl>,
151 : : // rename <style:font-decl> to <style:font-face>, process attrs
152 : 15 : ENTRY1Q( OFFICE, FONT_DECLS, XML_ETACTION_RENAME_ELEM,
153 : : XML_NAMESPACE_OFFICE, XML_FONT_FACE_DECLS ),
154 : 15 : ENTRY2QN( STYLE, FONT_DECL, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
155 : : XML_NAMESPACE_STYLE, XML_FONT_FACE,
156 : : OOO_FONT_DECL_ACTIONS ),
157 : :
158 : : // add genre element
159 : : ENTRY0( OFFICE, BODY, XML_ETACTION_BODY ),
160 : :
161 : : // rename <style:page-master> to <style:page-layout>
162 : 15 : ENTRY2QN( STYLE, PAGE_MASTER, XML_ETACTION_STYLE_RENAME,
163 : : XML_NAMESPACE_STYLE, XML_PAGE_LAYOUT,
164 : : XML_FAMILY_TYPE_PAGE_LAYOUT ),
165 : : ENTRY1( STYLE, MASTER_PAGE, XML_ETACTION_PROC_ATTRS,
166 : : OOO_MASTER_PAGE_ACTIONS ),
167 : :
168 : : // split <style:properties> into <style:*-properties> and do other
169 : : // styles processing
170 : : ENTRY1( STYLE, STYLE, XML_ETACTION_STYLE, XML_FAMILY_TYPE_END ),
171 : : ENTRY1( STYLE, DEFAULT_STYLE, XML_ETACTION_STYLE, XML_FAMILY_TYPE_END ),
172 : : ENTRY1( NUMBER, NUMBER_STYLE, XML_ETACTION_STYLE, XML_FAMILY_TYPE_DATA ),
173 : : ENTRY1( NUMBER, CURRENCY_STYLE, XML_ETACTION_STYLE, XML_FAMILY_TYPE_DATA ),
174 : : ENTRY1( NUMBER, PERCENTAGE_STYLE, XML_ETACTION_STYLE, XML_FAMILY_TYPE_DATA ),
175 : : ENTRY1( NUMBER, DATE_STYLE, XML_ETACTION_STYLE, XML_FAMILY_TYPE_DATA ),
176 : : ENTRY1( NUMBER, TIME_STYLE, XML_ETACTION_STYLE, XML_FAMILY_TYPE_DATA ),
177 : : ENTRY1( NUMBER, BOOLEAN_STYLE, XML_ETACTION_STYLE, XML_FAMILY_TYPE_DATA ),
178 : : ENTRY1( NUMBER, TEXT_STYLE, XML_ETACTION_STYLE, XML_FAMILY_TYPE_DATA ),
179 : : ENTRY1( TEXT, LIST_STYLE, XML_ETACTION_STYLE, XML_FAMILY_TYPE_LIST ),
180 : : // ENTRY0( TEXT, OUTLINE_STYLE, STYLE ),
181 : : ENTRY1( STYLE, HEADER_STYLE, XML_ETACTION_STYLE, XML_FAMILY_TYPE_HEADER_FOOTER ),
182 : : ENTRY1( STYLE, FOOTER_STYLE, XML_ETACTION_STYLE, XML_FAMILY_TYPE_HEADER_FOOTER ),
183 : : ENTRY1( TEXT, LIST_LEVEL_STYLE_NUMBER, XML_ETACTION_STYLE, XML_FAMILY_TYPE_LIST ),
184 : : ENTRY1( TEXT, LIST_LEVEL_STYLE_BULLET, XML_ETACTION_STYLE, XML_FAMILY_TYPE_LIST ),
185 : : ENTRY1( TEXT, LIST_LEVEL_STYLE_IMAGE, XML_ETACTION_STYLE, XML_FAMILY_TYPE_LIST ),
186 : : ENTRY1( TEXT, OUTLINE_LEVEL_STYLE, XML_ETACTION_STYLE, XML_FAMILY_TYPE_LIST ),
187 : : ENTRY1( DRAW, GRADIENT, XML_ETACTION_STYLE,
188 : : XML_FAMILY_TYPE_GRADIENT ),
189 : : ENTRY1( DRAW, FILL_IMAGE, XML_ETACTION_STYLE,
190 : : XML_FAMILY_TYPE_FILL_IMAGE ),
191 : 15 : ENTRY2QN( DRAW, TRANSPARENCY, XML_ETACTION_STYLE_RENAME,
192 : : XML_NAMESPACE_DRAW, XML_OPACITY,
193 : : XML_FAMILY_TYPE_GRADIENT ),
194 : : ENTRY1( DRAW, MARKER, XML_ETACTION_STYLE,
195 : : XML_FAMILY_TYPE_MARKER ),
196 : : ENTRY1( DRAW, HATCH, XML_ETACTION_STYLE,
197 : : XML_FAMILY_TYPE_HATCH ),
198 : : ENTRY1( DRAW, STROKE_DASH, XML_ETACTION_STYLE,
199 : : XML_FAMILY_TYPE_STROKE_DASH ),
200 : :
201 : : // rename <text:h>'s text:level to text:outline-level
202 : : // process <text:h/p>: process style-name attributes,
203 : : ENTRY1( TEXT, H, XML_ETACTION_PROC_ATTRS, OOO_PARA_ACTIONS ),
204 : : ENTRY1( TEXT, P, XML_ETACTION_PROC_ATTRS, OOO_PARA_ACTIONS ),
205 : :
206 : : // rename <text:ordered-list> and <text:unordered-list> to <text:list>
207 : 15 : ENTRY2QN( TEXT, UNORDERED_LIST, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
208 : : XML_NAMESPACE_TEXT, XML_LIST,
209 : : OOO_STYLE_REF_ACTIONS ),
210 : 15 : ENTRY2QN( TEXT, ORDERED_LIST, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
211 : : XML_NAMESPACE_TEXT, XML_LIST,
212 : : OOO_STYLE_REF_ACTIONS ),
213 : :
214 : : // rename <text:footnote*> to <text:note*>
215 : 15 : ENTRY3QQN( TEXT, FOOTNOTE, XML_ETACTION_RENAME_ELEM_ADD_ATTR,
216 : : XML_NAMESPACE_TEXT, XML_NOTE,
217 : : XML_NAMESPACE_TEXT, XML_NOTE_CLASS, XML_FOOTNOTE ),
218 : 15 : ENTRY1Q( TEXT, FOOTNOTE_BODY, XML_ETACTION_RENAME_ELEM,
219 : : XML_NAMESPACE_TEXT, XML_NOTE_BODY ),
220 : 15 : ENTRY1Q( TEXT, FOOTNOTE_CITATION, XML_ETACTION_RENAME_ELEM,
221 : : XML_NAMESPACE_TEXT, XML_NOTE_CITATION ),
222 : 15 : ENTRY3QQN( TEXT, FOOTNOTES_CONFIGURATION,
223 : : XML_ETACTION_RENAME_ELEM_ADD_PROC_ATTR,
224 : : XML_NAMESPACE_TEXT, XML_NOTES_CONFIGURATION,
225 : : XML_NAMESPACE_TEXT, XML_NOTE_CLASS,
226 : : XML_FOOTNOTE | (OOO_STYLE_REF_ACTIONS << 16) ),
227 : :
228 : : // rename <text:endnote*> to <text:endnote*>
229 : 15 : ENTRY3QQN( TEXT, ENDNOTE, XML_ETACTION_RENAME_ELEM_ADD_ATTR,
230 : : XML_NAMESPACE_TEXT, XML_NOTE,
231 : : XML_NAMESPACE_TEXT, XML_NOTE_CLASS, XML_ENDNOTE ),
232 : 15 : ENTRY1Q( TEXT, ENDNOTE_BODY, XML_ETACTION_RENAME_ELEM,
233 : : XML_NAMESPACE_TEXT, XML_NOTE_BODY ),
234 : 15 : ENTRY1Q( TEXT, ENDNOTE_CITATION, XML_ETACTION_RENAME_ELEM,
235 : : XML_NAMESPACE_TEXT, XML_NOTE_CITATION ),
236 : 15 : ENTRY3QQN( TEXT, ENDNOTES_CONFIGURATION,
237 : : XML_ETACTION_RENAME_ELEM_ADD_PROC_ATTR,
238 : : XML_NAMESPACE_TEXT, XML_NOTES_CONFIGURATION,
239 : : XML_NAMESPACE_TEXT, XML_NOTE_CLASS,
240 : : XML_ENDNOTE | (OOO_STYLE_REF_ACTIONS << 16) ),
241 : :
242 : : // rename <text:footnote> and <text:endnote> to <text:note>
243 : 15 : ENTRY3QQN( TEXT, ENDNOTE_REF, XML_ETACTION_RENAME_ELEM_ADD_ATTR,
244 : : XML_NAMESPACE_TEXT, XML_NOTE_REF,
245 : : XML_NAMESPACE_TEXT, XML_NOTE_CLASS, XML_ENDNOTE ),
246 : 15 : ENTRY3QQN( TEXT, FOOTNOTE_REF, XML_ETACTION_RENAME_ELEM_ADD_ATTR,
247 : : XML_NAMESPACE_TEXT, XML_NOTE_REF,
248 : : XML_NAMESPACE_TEXT, XML_NOTE_CLASS, XML_FOOTNOTE ),
249 : :
250 : : // rename <text:tab-stop> to <text:tab>
251 : 15 : ENTRY1Q( TEXT, TAB_STOP, XML_ETACTION_RENAME_ELEM,
252 : : XML_NAMESPACE_TEXT, XML_TAB ),
253 : :
254 : : // replace <table:sub-table> with <table:table table:is-sub-table>
255 : 15 : ENTRY3QQN( TABLE, SUB_TABLE, XML_ETACTION_RENAME_ELEM_ADD_ATTR,
256 : : XML_NAMESPACE_TABLE, XML_TABLE,
257 : : XML_NAMESPACE_TABLE, XML_IS_SUB_TABLE, XML_TRUE ),
258 : :
259 : : // process *:style-name attributes
260 : : ENTRY1( TEXT, SECTION, XML_ETACTION_PROC_ATTRS,
261 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
262 : : ENTRY1( TEXT, SPAN, XML_ETACTION_PROC_ATTRS,
263 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
264 : : ENTRY1( TEXT, A, XML_ETACTION_PROC_ATTRS,
265 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
266 : : ENTRY1( TEXT, RUBY, XML_ETACTION_PROC_ATTRS,
267 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
268 : : ENTRY1( TEXT, RUBY_TEXT, XML_ETACTION_PROC_ATTRS,
269 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
270 : : ENTRY1( TEXT, DATE, XML_ETACTION_PROC_ATTRS,
271 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
272 : : ENTRY1( TEXT, TIME, XML_ETACTION_PROC_ATTRS,
273 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
274 : : ENTRY1( TEXT, VARIABLE_GET, XML_ETACTION_PROC_ATTRS,
275 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
276 : : ENTRY1( TEXT, USER_FIELD_GET, XML_ETACTION_PROC_ATTRS,
277 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
278 : : ENTRY1( TEXT, USER_FIELD_INPUT, XML_ETACTION_PROC_ATTRS,
279 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
280 : : ENTRY1( TEXT, CREATION_DATE, XML_ETACTION_PROC_ATTRS,
281 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
282 : : ENTRY1( TEXT, CREATION_TIME, XML_ETACTION_PROC_ATTRS,
283 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
284 : : ENTRY1( TEXT, PRINT_TIME, XML_ETACTION_PROC_ATTRS,
285 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
286 : : ENTRY1( TEXT, PRINT_DATE, XML_ETACTION_PROC_ATTRS,
287 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
288 : : ENTRY1( TEXT, EDITING_DURATION, XML_ETACTION_PROC_ATTRS,
289 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
290 : : ENTRY1( TEXT, MODIFICATION_TIME, XML_ETACTION_PROC_ATTRS,
291 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
292 : : ENTRY1( TEXT, MODIFICATION_DATE, XML_ETACTION_PROC_ATTRS,
293 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
294 : : ENTRY1( TEXT, DATABASE_DISPLAY, XML_ETACTION_PROC_ATTRS,
295 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
296 : : ENTRY1( TEXT, TABLE_FORMULA, XML_ETACTION_PROC_ATTRS,
297 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
298 : : ENTRY1( TEXT, INDEX_TITLE, XML_ETACTION_PROC_ATTRS,
299 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
300 : : ENTRY1( TEXT, TABLE_OF_CONTENT, XML_ETACTION_PROC_ATTRS,
301 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
302 : : ENTRY1( TEXT, TABLE_OF_CONTENT_ENTRY_TEMPLATE, XML_ETACTION_PROC_ATTRS,
303 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
304 : : ENTRY1( TEXT, ILLUSTRATION_INDEX, XML_ETACTION_PROC_ATTRS,
305 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
306 : : ENTRY1( TEXT, ILLUSTRATION_INDEX_ENTRY_TEMPLATE, XML_ETACTION_PROC_ATTRS,
307 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
308 : : ENTRY1( TEXT, TABLE_INDEX, XML_ETACTION_PROC_ATTRS,
309 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
310 : : ENTRY1( TEXT, TABLE_INDEX_ENTRY_TEMPLATE, XML_ETACTION_PROC_ATTRS,
311 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
312 : : ENTRY1( TEXT, OBJECT_INDEX, XML_ETACTION_PROC_ATTRS,
313 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
314 : : ENTRY1( TEXT, OBJECT_INDEX_ENTRY_TEMPLATE, XML_ETACTION_PROC_ATTRS,
315 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
316 : : ENTRY1( TEXT, USER_INDEX, XML_ETACTION_PROC_ATTRS,
317 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
318 : : ENTRY1( TEXT, USER_INDEX_ENTRY_TEMPLATE, XML_ETACTION_PROC_ATTRS,
319 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
320 : : ENTRY1( TEXT, ALPHABETICAL_INDEX, XML_ETACTION_PROC_ATTRS,
321 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
322 : : ENTRY1( TEXT, ALPHABETICAL_INDEX_ENTRY_TEMPLATE, XML_ETACTION_PROC_ATTRS,
323 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
324 : : ENTRY1( TEXT, BIBLIOGRAPHY, XML_ETACTION_PROC_ATTRS,
325 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
326 : : ENTRY1( TEXT, BIBLIOGRAPHY_ENTRY_TEMPLATE, XML_ETACTION_PROC_ATTRS,
327 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
328 : : ENTRY1( TEXT, INDEX_SOURCE_STYLE, XML_ETACTION_PROC_ATTRS,
329 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
330 : : ENTRY1( TEXT, INDEX_TITLE_TEMPLATE, XML_ETACTION_PROC_ATTRS,
331 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
332 : : ENTRY1( TEXT, INDEX_ENTRY_CHAPTER, XML_ETACTION_PROC_ATTRS,
333 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
334 : 15 : ENTRY2QN( TEXT, INDEX_ENTRY_CHAPTER_NUMBER,
335 : : XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
336 : : XML_NAMESPACE_TEXT, XML_INDEX_ENTRY_CHAPTER,
337 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
338 : : ENTRY1( TEXT, INDEX_ENTRY_TEXT, XML_ETACTION_PROC_ATTRS,
339 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
340 : : ENTRY1( TEXT, INDEX_ENTRY_PAGE_NUMBER, XML_ETACTION_PROC_ATTRS,
341 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
342 : : ENTRY1( TEXT, INDEX_ENTRY_SPAN, XML_ETACTION_PROC_ATTRS,
343 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
344 : : ENTRY1( TEXT, INDEX_ENTRY_BIBLIOGRAPHY, XML_ETACTION_PROC_ATTRS,
345 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
346 : : ENTRY1( TEXT, INDEX_ENTRY_LINK_START, XML_ETACTION_PROC_ATTRS,
347 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
348 : : ENTRY1( TEXT, INDEX_ENTRY_LINK_END, XML_ETACTION_PROC_ATTRS,
349 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
350 : : ENTRY1( STYLE, HANDOUT_MASTER, XML_ETACTION_PROC_ATTRS,
351 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
352 : : ENTRY1( DRAW, PAGE, XML_ETACTION_PROC_ATTRS,
353 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
354 : : ENTRY1( STYLE, MAP, XML_ETACTION_PROC_ATTRS,
355 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
356 : : ENTRY1( PRESENTATION, NOTES, XML_ETACTION_PROC_ATTRS,
357 : : OOO_STYLE_REF_ACTIONS ), /* generated entry */
358 : : ENTRY1( STYLE, PRESENTATION_PAGE_LAYOUT, XML_ETACTION_PROC_ATTRS,
359 : : OOO_MASTER_PAGE_ACTIONS ),
360 : : /* Consider also attribute table:style-name for <table:table>,
361 : : <table:table-row> and <table:table-column>. (#i40011#, #i40015#)
362 : : */
363 : : ENTRY0( TABLE, TABLE, XML_ETACTION_TABLE ),
364 : : ENTRY1( TABLE, TABLE_ROW, XML_ETACTION_PROC_ATTRS, OOO_STYLE_REF_ACTIONS ),
365 : : ENTRY1( TABLE, TABLE_COLUMN, XML_ETACTION_PROC_ATTRS, OOO_STYLE_REF_ACTIONS ),
366 : :
367 : : // split frame elements
368 : : ENTRY0( DRAW, TEXT_BOX, XML_ETACTION_FRAME ),
369 : : ENTRY0( DRAW, IMAGE, XML_ETACTION_FRAME ),
370 : : ENTRY0( DRAW, OBJECT, XML_ETACTION_FRAME ),
371 : : ENTRY0( DRAW, OBJECT_OLE, XML_ETACTION_FRAME ),
372 : : ENTRY0( DRAW, APPLET, XML_ETACTION_FRAME ),
373 : : ENTRY0( DRAW, PLUGIN, XML_ETACTION_FRAME ),
374 : : ENTRY0( DRAW, FLOATING_FRAME, XML_ETACTION_FRAME ),
375 : : ENTRY0( SVG, DESC, XML_ETACTION_COPY_TEXT ),
376 : :
377 : : // process events
378 : 15 : ENTRY1Q( OFFICE, EVENTS, XML_ETACTION_RENAME_ELEM,
379 : : XML_NAMESPACE_OFFICE, XML_EVENT_LISTENERS ),
380 : : ENTRY0( SCRIPT, EVENT, XML_ETACTION_EVENT ),
381 : : ENTRY0( PRESENTATION, EVENT, XML_ETACTION_EVENT ),
382 : :
383 : : // process length attributes
384 : : ENTRY1( DRAW, RECT, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
385 : : ENTRY1( DRAW, LINE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
386 : : ENTRY1( DRAW, POLYLINE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
387 : : ENTRY1( DRAW, POLYGON, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
388 : : ENTRY1( DRAW, PATH, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
389 : : ENTRY1( DRAW, CIRCLE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
390 : : ENTRY1( DRAW, ELLIPSE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
391 : : ENTRY1( DRAW, CONNECTOR, XML_ETACTION_PROC_ATTRS, OOO_CONNECTOR_ACTIONS ),
392 : : ENTRY1( DRAW, CAPTION, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
393 : : ENTRY1( DRAW, CONTROL, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
394 : : ENTRY1( DRAW, PAGE_THUMBNAIL, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
395 : : ENTRY1( DRAW, MEASURE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
396 : : ENTRY1( DRAW, G, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
397 : : // ENTRY1( DRAW, TEXT_BOX, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
398 : : ENTRY1( PRESENTATION, PLACEHOLDER, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
399 : : ENTRY1( DRAW, CONTOUR_POLYGON, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
400 : : ENTRY1( DRAW, CONTOUR_PATH, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
401 : : ENTRY1( DRAW, AREA_RECTANGLE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
402 : : ENTRY1( DRAW, AREA_CIRCLE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
403 : : ENTRY1( DRAW, AREA_POLYGON, XML_ETACTION_PROC_ATTRS, OOO_DRAW_AREA_POLYGON_ACTIONS ),
404 : : ENTRY1( DRAW, GLUE_POINT, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
405 : : ENTRY1( DR3D, SCENE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
406 : : ENTRY1( DR3D, CUBE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
407 : : ENTRY1( DR3D, SPHERE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
408 : : ENTRY1( DR3D, EXTRUDE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
409 : : ENTRY1( DR3D, ROTATE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
410 : : ENTRY1( CHART, TITLE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
411 : : ENTRY1( CHART, SUBTITLE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
412 : : ENTRY1( CHART, FOOTER, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
413 : : ENTRY1( CHART, LEGEND, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
414 : : ENTRY1( CHART, WALL, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
415 : : ENTRY1( CHART, FLOOR, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
416 : : ENTRY1( CHART, AXIS, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
417 : : ENTRY1( CHART, GRID, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
418 : : ENTRY1( CHART, SERIES, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
419 : : ENTRY1( CHART, DATA_POINT, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
420 : : ENTRY1( CHART, MEAN_VALUE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
421 : : ENTRY1( CHART, ERROR_INDICATOR, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
422 : : ENTRY1( CHART, REGRESSION_CURVE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
423 : : ENTRY1( CHART, STOCK_GAIN_MARKER, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
424 : : ENTRY1( CHART, STOCK_LOSS_MARKER, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
425 : : ENTRY1( CHART, STOCK_RANGE_LINE, XML_ETACTION_PROC_ATTRS, OOO_SHAPE_ACTIONS ),
426 : :
427 : : ENTRY0( CHART, CHART, XML_ETACTION_CHART ),
428 : : ENTRY0( CHART, PLOT_AREA, XML_ETACTION_CHART_PLOT_AREA ),
429 : :
430 : 15 : ENTRY1Q( TEXT, TRACKED_CHANGES, XML_ETACTION_TRACKED_CHANGES,
431 : : XML_NAMESPACE_TEXT, XML_PROTECTION_KEY ),
432 : 15 : ENTRY1Q( TABLE, TRACKED_CHANGES, XML_ETACTION_TRACKED_CHANGES,
433 : : XML_NAMESPACE_TABLE, XML_PROTECTION_KEY ),
434 : :
435 : : ENTRY1( TEXT, INDEX_ENTRY_TAB_STOP, XML_ETACTION_PROC_ATTRS,
436 : : OOO_INDEX_ENTRY_TAB_STOP_ACTIONS ),
437 : : ENTRY0( STYLE, TAB_STOP, XML_ETACTION_TAB_STOP ),
438 : : ENTRY1( STYLE, BACKGROUND_IMAGE, XML_ETACTION_PROC_ATTRS,
439 : : OOO_BACKGROUND_IMAGE_ACTIONS ),
440 : : ENTRY1( TEXT, LINENUMBERING_CONFIGURATION, XML_ETACTION_PROC_ATTRS,
441 : : OOO_LINENUMBERING_ACTIONS ),
442 : : ENTRY1( STYLE, FOOTNOTE_SEP, XML_ETACTION_PROC_ATTRS,
443 : : OOO_FOOTNOTE_SEP_ACTIONS ),
444 : : ENTRY1( STYLE, DROP_CAP, XML_ETACTION_PROC_ATTRS, OOO_DROP_CAP_ACTIONS ),
445 : : ENTRY1( STYLE, COLUMNS, XML_ETACTION_PROC_ATTRS, OOO_COLUMNS_ACTIONS ),
446 : : ENTRY1( STYLE, COLUMN, XML_ETACTION_PROC_ATTRS, OOO_COLUMNS_ACTIONS ),
447 : :
448 : : // rename office:value-* to *:value-*
449 : : ENTRY1( TEXT, VARIABLE_DECL, XML_ETACTION_PROC_ATTRS,
450 : : OOO_TEXT_VALUE_TYPE_ACTIONS ), /* generated entry */
451 : : ENTRY1( TEXT, VARIABLE_SET, XML_ETACTION_PROC_ATTRS,
452 : : OOO_TEXT_VALUE_TYPE_ACTIONS), /* generated entry */
453 : : ENTRY1( TEXT, VARIABLE_INPUT, XML_ETACTION_PROC_ATTRS,
454 : : OOO_TEXT_VALUE_TYPE_ACTIONS), /* generated entry */
455 : : ENTRY1( TEXT, USER_FIELD_DECL, XML_ETACTION_PROC_ATTRS,
456 : : OOO_TEXT_VALUE_TYPE_ACTIONS), /* generated entry */
457 : : ENTRY1( TEXT, EXPRESSION, XML_ETACTION_PROC_ATTRS,
458 : : OOO_TEXT_VALUE_TYPE_ACTIONS), /* generated entry */
459 : : // ENTRY1( TEXT, USER_DEFINED, XML_ETACTION_PROC_ATTRS,
460 : : // OOO_TEXT_VALUE_TYPE_ACTIONS), /* text:user-defined has no attrs so far */
461 : : ENTRY1( TABLE, TABLE_CELL, XML_ETACTION_PROC_ATTRS,
462 : : OOO_TABLE_VALUE_TYPE_ACTIONS), /* generated entry */
463 : : ENTRY1( TABLE, COVERED_TABLE_CELL, XML_ETACTION_PROC_ATTRS,
464 : : OOO_TABLE_VALUE_TYPE_ACTIONS), /* generated entry */
465 : : ENTRY1( TABLE, CHANGE_TRACK_TABLE_CELL, XML_ETACTION_PROC_ATTRS,
466 : : OOO_TABLE_VALUE_TYPE_ACTIONS), /* generated entry */
467 : : // ENTRY1( FORM, PROPERTY, XML_ETACTION_PROC_ATTRS,
468 : : // OOO_VALUE_TYPE_ACTIONS), /* TODO: generated entry */
469 : : // ENTRY1( FORM, LIST_PROPERTY, XML_ETACTION_PROC_ATTRS,
470 : : // OOO_VALUE_TYPE_ACTIONS), /* generated entry */
471 : :
472 : : ENTRY1( OFFICE, ANNOTATION, XML_ETACTION_MOVE_ATTRS_TO_ELEMS,
473 : : OOO_ANNOTATION_ACTIONS ), /* generated entry */
474 : : ENTRY1( OFFICE, CHANGE_INFO, XML_ETACTION_MOVE_ATTRS_TO_ELEMS,
475 : : OOO_CHANGE_INFO_ACTIONS ), /* generated entry */
476 : :
477 : : ENTRY1( TEXT, DDE_CONNECTION_DECL, XML_ETACTION_PROC_ATTRS,
478 : : OOO_DDE_CONNECTION_DECL_ACTIONS ),
479 : :
480 : : ENTRY0( FORM, CONTROL, XML_ETACTION_FORM_CONTROL ),
481 : : ENTRY1( FORM, COLUMN, XML_ETACTION_PROC_ATTRS,
482 : : OOO_FORM_COLUMN_ACTIONS ),
483 : : ENTRY0( FORM, PROPERTY, XML_ETACTION_FORM_PROPERTY ),
484 : :
485 : : // process xlink:href
486 : : ENTRY1( META, TEMPLATE, XML_ETACTION_PROC_ATTRS,
487 : : OOO_XLINK_ACTIONS ), /* generated entry */
488 : : ENTRY1( META, AUTO_RELOAD, XML_ETACTION_PROC_ATTRS,
489 : : OOO_XLINK_ACTIONS ), /* generated entry */
490 : : ENTRY1( TEXT, SECTION_SOURCE, XML_ETACTION_PROC_ATTRS,
491 : : OOO_XLINK_ACTIONS ), /* generated entry */
492 : : ENTRY1( TEXT, SCRIPT, XML_ETACTION_PROC_ATTRS,
493 : : OOO_XLINK_ACTIONS ), /* generated entry */
494 : : ENTRY1( TEXT, ALPHABETICAL_INDEX_AUTO_MARK_FILE, XML_ETACTION_PROC_ATTRS,
495 : : OOO_XLINK_ACTIONS ), /* generated entry */
496 : : ENTRY1( TABLE, TABLE_SOURCE, XML_ETACTION_PROC_ATTRS,
497 : : OOO_XLINK_ACTIONS ), /* generated entry */
498 : : ENTRY1( TABLE, CELL_RANGE_SOURCE, XML_ETACTION_PROC_ATTRS,
499 : : OOO_XLINK_ACTIONS ), /* generated entry */
500 : : ENTRY1( DRAW, A, XML_ETACTION_PROC_ATTRS,
501 : : OOO_XLINK_ACTIONS ), /* generated entry */
502 : : ENTRY1( PRESENTATION, SOUND, XML_ETACTION_PROC_ATTRS,
503 : : OOO_XLINK_ACTIONS ), /* generated entry */
504 : : ENTRY1( FORM, FORM, XML_ETACTION_PROC_ATTRS,
505 : : OOO_FORM_CONTROL_ACTIONS ),
506 : 15 : ENTRY2QN( STYLE, SYMBOL_IMAGE, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
507 : : XML_NAMESPACE_CHART, XML_SYMBOL_IMAGE,
508 : : OOO_BACKGROUND_IMAGE_ACTIONS ),
509 : :
510 : 15 : ENTRY2QN( CONFIG, CONFIG_ITEM_SET, XML_ETACTION_PROC_ATTRS_COND,
511 : : XML_NAMESPACE_OFFICE, XML_SETTINGS,
512 : : OOO_CONFIG_ITEM_SET_ACTIONS ),
513 : :
514 : : // add namespace prefix
515 : : // text:formula
516 : : ENTRY1( TEXT, SEQUENCE, XML_ETACTION_PROC_ATTRS,
517 : : OOO_FORMULA_ACTIONS ), /* generated entry */
518 : : // text:condition
519 : : ENTRY1( TEXT, DATABASE_NEXT, XML_ETACTION_PROC_ATTRS,
520 : : OOO_FORMULA_ACTIONS ), /* generated entry */
521 : : // text:condition
522 : 15 : ENTRY2QN( TEXT, DATABASE_SELECT, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
523 : : XML_NAMESPACE_TEXT, XML_DATABASE_ROW_SELECT,
524 : : OOO_FORMULA_ACTIONS ),
525 : : // text:condition
526 : : ENTRY1( TEXT, CONDITIONAL_TEXT, XML_ETACTION_PROC_ATTRS,
527 : : OOO_FORMULA_ACTIONS ), /* generated entry */
528 : : // text:condition
529 : : ENTRY1( TEXT, HIDDEN_TEXT, XML_ETACTION_PROC_ATTRS,
530 : : OOO_FORMULA_ACTIONS ), /* generated entry */
531 : : // text:condition
532 : : ENTRY1( TEXT, HIDDEN_PARAGRAPH, XML_ETACTION_PROC_ATTRS,
533 : : OOO_FORMULA_ACTIONS ), /* generated entry */
534 : : // table:condition
535 : : ENTRY1( TABLE, CONTENT_VALIDATION, XML_ETACTION_PROC_ATTRS,
536 : : OOO_FORMULA_ACTIONS ), /* generated entry */
537 : :
538 : : // rename <table:dependences> to <table:dependencies>
539 : 15 : ENTRY1Q( TABLE, DEPENDENCES, XML_ETACTION_RENAME_ELEM,
540 : : XML_NAMESPACE_TABLE, XML_DEPENDENCIES ),
541 : 15 : ENTRY1Q( TABLE, DEPENDENCE, XML_ETACTION_RENAME_ELEM,
542 : : XML_NAMESPACE_TABLE, XML_DEPENDENCY ),
543 : :
544 : : // process table::error-macro
545 : : ENTRY1( TABLE, ERROR_MACRO, XML_ETACTION_PROC_ATTRS,
546 : : OOO_ERROR_MACRO_ACTIONS ),
547 : :
548 : : // process table::conversion-mode
549 : : ENTRY1( TABLE, CONVERSION_MODE, XML_ETACTION_PROC_ATTRS,
550 : : OOO_DDE_CONV_MODE_ACTIONS ),
551 : :
552 : : // fix <text:alphabatical-index-mark text:main-etry>
553 : : ENTRY1( TEXT, ALPHABETICAL_INDEX_MARK, XML_ETACTION_PROC_ATTRS,
554 : : OOO_ALPHABETICAL_INDEX_MARK_ACTIONS ),
555 : : ENTRY1( TEXT, ALPHABETICAL_INDEX_MARK_START, XML_ETACTION_PROC_ATTRS,
556 : : OOO_ALPHABETICAL_INDEX_MARK_ACTIONS ),
557 : :
558 : : // process table::data-pilot-member
559 : : ENTRY1( TABLE, DATA_PILOT_MEMBER, XML_ETACTION_PROC_ATTRS,
560 : : OOO_DATAPILOT_MEMBER_ACTIONS ),
561 : :
562 : : // process table::data-pilot-level
563 : : ENTRY1( TABLE, DATA_PILOT_LEVEL, XML_ETACTION_PROC_ATTRS,
564 : : OOO_DATAPILOT_LEVEL_ACTIONS ),
565 : :
566 : : // process table::source-service
567 : : ENTRY1( TABLE, SOURCE_SERVICE, XML_ETACTION_PROC_ATTRS,
568 : : OOO_SOURCE_SERVICE_ACTIONS ),
569 : :
570 : : // fix id strings in old animation elements
571 : : ENTRY1( PRESENTATION, DIM, XML_ETACTION_PROC_ATTRS, OOO_ANIMATION_ACTIONS ),
572 : : ENTRY1( PRESENTATION, PLAY, XML_ETACTION_PROC_ATTRS, OOO_ANIMATION_ACTIONS ),
573 : : ENTRY1( PRESENTATION, SHOW_TEXT, XML_ETACTION_PROC_ATTRS, OOO_ANIMATION_ACTIONS ),
574 : : ENTRY1( PRESENTATION, SHOW_SHAPE, XML_ETACTION_PROC_ATTRS, OOO_ANIMATION_ACTIONS ),
575 : : ENTRY1( PRESENTATION, HIDE_TEXT, XML_ETACTION_PROC_ATTRS, OOO_ANIMATION_ACTIONS ),
576 : : ENTRY1( PRESENTATION, HIDE_SHAPE, XML_ETACTION_PROC_ATTRS, OOO_ANIMATION_ACTIONS ),
577 : :
578 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ETACTION_EOT )
579 : 630 : };
580 : :
581 : : // XML_ETACTION_STYLE
582 : : static XMLTransformerActionInit aStyleActionTable[] =
583 : : {
584 : : ENTRY0( STYLE, FAMILY, XML_ATACTION_STYLE_FAMILY ),
585 : : ENTRY0( STYLE, NAME, XML_ATACTION_ENCODE_STYLE_NAME ),
586 : : ENTRY0( STYLE, PARENT_STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
587 : : ENTRY0( STYLE, NEXT_STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
588 : : ENTRY0( STYLE, LIST_STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
589 : : ENTRY0( STYLE, MASTER_PAGE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
590 : : ENTRY0( STYLE, DATA_STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
591 : : ENTRY0( DRAW, NAME, XML_ATACTION_ENCODE_STYLE_NAME ),
592 : : ENTRY0( DRAW, DISTANCE, XML_ATACTION_INCH2IN ),
593 : : ENTRY0( DRAW, DOTS1_LENGTH, XML_ATACTION_INCH2IN ),
594 : : ENTRY0( DRAW, DOTS2_LENGTH, XML_ATACTION_INCH2IN ),
595 : : ENTRY0( SVG, WIDTH, XML_ATACTION_SVG_WIDTH_HEIGHT_OOO ),
596 : : ENTRY0( SVG, HEIGHT, XML_ATACTION_SVG_WIDTH_HEIGHT_OOO ),
597 : : ENTRY0( DRAW, START, XML_ATACTION_NEG_PERCENT ),
598 : : ENTRY0( DRAW, END, XML_ATACTION_NEG_PERCENT ),
599 : : ENTRY1( XLINK, HREF, XML_ATACTION_URI_OOO, sal_True ),
600 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
601 : : };
602 : :
603 : : // OOO_FRAME_ELEM_ACTIONS
604 : : static XMLTransformerActionInit aFrameElemActionTable[] =
605 : : {
606 : 15 : ENTRY1Q( OFFICE, EVENTS, XML_ETACTION_RENAME_ELEM,
607 : : XML_NAMESPACE_OFFICE, XML_EVENT_LISTENERS ),
608 : : ENTRY0( DRAW, GLUE_POINT, XML_ETACTION_COPY ),
609 : : ENTRY0( DRAW, IMAGE_MAP, XML_ETACTION_COPY ),
610 : : ENTRY0( SVG, DESC, XML_ETACTION_COPY_TEXT ),
611 : : ENTRY0( DRAW, CONTOUR_POLYGON, XML_ETACTION_COPY ),
612 : : ENTRY0( DRAW, CONTOUR_PATH, XML_ETACTION_COPY ),
613 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ETACTION_EOT )
614 : 15 : };
615 : :
616 : : // OOO_FRAME_ATTR_ACTIONS
617 : : static XMLTransformerActionInit aFrameAttrActionTable[] =
618 : : {
619 : : ENTRY0( DRAW, ZINDEX, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
620 : : ENTRY0( DRAW, ID, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
621 : : ENTRY0( DRAW, LAYER, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
622 : : ENTRY0( DRAW, STYLE_NAME, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
623 : : ENTRY0( PRESENTATION, STYLE_NAME, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
624 : : ENTRY0( DRAW, TRANSFORM, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
625 : : ENTRY0( DRAW, NAME, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
626 : : ENTRY0( TABLE, END_CELL_ADDRESS, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
627 : : ENTRY0( TABLE, END_X, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
628 : : ENTRY0( TABLE, END_Y, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
629 : : ENTRY0( TABLE, TABLE_BACKGROUND, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
630 : : ENTRY0( TEXT, ANCHOR_TYPE, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
631 : : ENTRY0( TEXT, ANCHOR_PAGE_NUMBER, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
632 : : ENTRY0( DRAW, TEXT_STYLE_NAME, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
633 : : ENTRY0( SVG, X, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
634 : : ENTRY0( SVG, Y, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
635 : : ENTRY0( SVG, WIDTH, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
636 : : ENTRY0( SVG, HEIGHT, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
637 : : ENTRY0( STYLE, REL_WIDTH, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
638 : : ENTRY0( STYLE, REL_HEIGHT, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
639 : : ENTRY0( PRESENTATION, CLASS, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
640 : : ENTRY0( PRESENTATION, PLACEHOLDER, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
641 : : ENTRY0( PRESENTATION, USER_TRANSFORMED, XML_ATACTION_MOVE_TO_ELEM ), /* generated entry */
642 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
643 : : };
644 : :
645 : : // OOO_EVENT_ELEM_ACTIONS
646 : : static XMLTransformerActionInit aEventActionTable[] =
647 : : {
648 : : ENTRY0( XLINK, HREF, XML_ATACTION_HREF ),
649 : : ENTRY1( SCRIPT, LANGUAGE, XML_ATACTION_ADD_NAMESPACE_PREFIX,
650 : : XML_NAMESPACE_OOO ),
651 : : ENTRY0( SCRIPT, EVENT_NAME, XML_ATACTION_EVENT_NAME ),
652 : : ENTRY0( SCRIPT, MACRO_NAME, XML_ATACTION_MACRO_NAME ),
653 : : ENTRY0( SCRIPT, LOCATION, XML_ATACTION_MACRO_LOCATION ),
654 : : ENTRY0( SCRIPT, LIBRARY, XML_ATACTION_MACRO_LOCATION ), // bug in draw
655 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
656 : : };
657 : :
658 : :
659 : : // action table for OOO_MASTER_PAGE_ACTIONS
660 : : static XMLTransformerActionInit aMasterPageActionTable[] =
661 : : {
662 : : ENTRY0( STYLE, NAME, XML_ATACTION_ENCODE_STYLE_NAME ),
663 : : ENTRY0( STYLE, NEXT_STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
664 : 15 : ENTRY1Q( STYLE, PAGE_MASTER_NAME, XML_ATACTION_RENAME_ENCODE_STYLE_NAME_REF,
665 : : XML_NAMESPACE_STYLE, XML_PAGE_LAYOUT_NAME ),
666 : : ENTRY0( DRAW, STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
667 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
668 : 15 : };
669 : :
670 : : static XMLTransformerActionInit aFontDeclActionTable[] =
671 : : {
672 : 15 : ENTRY1Q( FO, FONT_FAMILY, XML_ATACTION_RENAME,
673 : : XML_NAMESPACE_SVG, XML_FONT_FAMILY ),
674 : 15 : ENTRY1Q( STYLE, FONT_STYLE_NAME, XML_ATACTION_RENAME,
675 : : XML_NAMESPACE_STYLE, XML_FONT_ADORNMENTS ),
676 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
677 : 30 : };
678 : :
679 : : // action table for OOO_PARA_ACTIONS
680 : : static XMLTransformerActionInit aParaActionTable[] =
681 : : {
682 : : ENTRY0( TEXT, STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
683 : : ENTRY0( TEXT, COND_STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
684 : : // ENTRY0( TEXT, CLASS_NAMES, XML_ATACTION_REMOVE ),
685 : 15 : ENTRY1Q( TEXT, LEVEL, XML_ATACTION_RENAME,
686 : : XML_NAMESPACE_TEXT, XML_OUTLINE_LEVEL ),
687 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
688 : 15 : };
689 : :
690 : : // action table for OOO_STYLE_REF_ACTIONS
691 : : static XMLTransformerActionInit aStyleRefActionTable[] =
692 : : {
693 : : ENTRY0( TEXT, STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
694 : : ENTRY0( TEXT, VISITED_STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
695 : : ENTRY0( TEXT, MAIN_ENTRY_STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
696 : : ENTRY0( TEXT, CITATION_STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
697 : : ENTRY0( TEXT, CITATION_BODY_STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
698 : : ENTRY0( TEXT, DEFAULT_STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
699 : : ENTRY0( TEXT, MASTER_PAGE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
700 : : ENTRY0( STYLE, DATA_STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
701 : : ENTRY0( STYLE, APPLY_STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
702 : : ENTRY0( STYLE, PAGE_LAYOUT_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
703 : : ENTRY0( TABLE, STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
704 : : ENTRY0( TABLE, DEFAULT_CELL_STYLE_NAME,
705 : : XML_ATACTION_ENCODE_STYLE_NAME_REF ),
706 : : ENTRY0( DRAW, STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
707 : : ENTRY0( DRAW, MASTER_PAGE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
708 : : ENTRY0( PRESENTATION, PRESENTATION_PAGE_LAYOUT_NAME,
709 : : XML_ATACTION_ENCODE_STYLE_NAME_REF ),
710 : : ENTRY1( XLINK, HREF, XML_ATACTION_URI_OOO, sal_False ),
711 : : ENTRY1( TEXT, CONDITION, XML_ATACTION_ADD_NAMESPACE_PREFIX,
712 : : XML_NAMESPACE_OOOW ),
713 : : ENTRY1( TEXT, FORMULA, XML_ATACTION_ADD_NAMESPACE_PREFIX,
714 : : XML_NAMESPACE_OOOW ),
715 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
716 : : };
717 : :
718 : : // OOO_SHAPE_ACTIONS
719 : : // !!ATTENTION!! If you change something here, please also change
720 : : // aConnectorActionTable if apropriate
721 : : static XMLTransformerActionInit aShapeActionTable[] =
722 : : {
723 : : ENTRY0( SVG, X, XML_ATACTION_INCH2IN ),
724 : : ENTRY0( SVG, Y, XML_ATACTION_INCH2IN ),
725 : : ENTRY0( SVG, X1, XML_ATACTION_INCH2IN ),
726 : : ENTRY0( SVG, Y1, XML_ATACTION_INCH2IN ),
727 : : ENTRY0( SVG, X2, XML_ATACTION_INCH2IN ),
728 : : ENTRY0( SVG, Y2, XML_ATACTION_INCH2IN ),
729 : : ENTRY0( SVG, CX, XML_ATACTION_INCH2IN ),
730 : : ENTRY0( SVG, CY, XML_ATACTION_INCH2IN ),
731 : : ENTRY0( SVG, R, XML_ATACTION_INCH2IN ),
732 : : ENTRY0( SVG, RX, XML_ATACTION_INCH2IN ),
733 : : ENTRY0( SVG, RY, XML_ATACTION_INCH2IN ),
734 : : ENTRY0( SVG, WIDTH, XML_ATACTION_SVG_WIDTH_HEIGHT_OOO ),
735 : : ENTRY0( SVG, HEIGHT, XML_ATACTION_SVG_WIDTH_HEIGHT_OOO ),
736 : : ENTRY0( FO, MIN_WIDTH, XML_ATACTION_INCH2IN ),
737 : : ENTRY0( FO, MIN_HEIGHT, XML_ATACTION_INCH2IN ),
738 : : ENTRY0( FO, MAX_WIDTH, XML_ATACTION_INCH2IN ),
739 : : ENTRY0( FO, MAX_HEIGHT, XML_ATACTION_INCH2IN ),
740 : : ENTRY0( DRAW, CORNER_RADIUS, XML_ATACTION_INCH2IN ),
741 : : ENTRY0( DRAW, LINE_SKEW, XML_ATACTION_INCHS2INS ),
742 : : ENTRY0( DRAW, CAPTION_POINT_X, XML_ATACTION_INCH2IN ),
743 : : ENTRY0( DRAW, CAPTION_POINT_Y, XML_ATACTION_INCH2IN ),
744 : : ENTRY0( DRAW, STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
745 : : ENTRY0( DRAW, TEXT_STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
746 : : ENTRY0( DRAW, END_X, XML_ATACTION_INCH2IN ),
747 : : ENTRY0( DRAW, END_Y, XML_ATACTION_INCH2IN ),
748 : : ENTRY0( PRESENTATION, STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
749 : : ENTRY0( DR3D, DISTANCE, XML_ATACTION_INCH2IN ),
750 : : ENTRY0( DR3D, FOCAL_LENGTH, XML_ATACTION_INCH2IN ),
751 : 15 : ENTRY1Q( FORM, ID, XML_ATACTION_RENAME,
752 : : XML_NAMESPACE_DRAW, XML_CONTROL ),
753 : : ENTRY1( XLINK, HREF, XML_ATACTION_URI_OOO, sal_True ),
754 : :
755 : : // BM: needed by chart:legend. The legend needs also the draw actions. As
756 : : // there is no merge mechanism, all actions have to be in the same table
757 : : ENTRY2( CHART, LEGEND_POSITION, XML_ATACTION_RENAME_ATTRIBUTE,
758 : : RENAME_ENTRY( XML_LEFT, XML_START ),
759 : : RENAME_ENTRY( XML_RIGHT, XML_END )),
760 : : ENTRY0( DRAW, ID, XML_ATACTION_SHAPEID ),
761 : : ENTRY0( DRAW, START_SHAPE, XML_ATACTION_SHAPEID ),
762 : : ENTRY0( DRAW, END_SHAPE, XML_ATACTION_SHAPEID ),
763 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
764 : 15 : };
765 : :
766 : : static XMLTransformerActionInit aConnectorActionTable[] =
767 : : {
768 : : ENTRY0( SVG, X1, XML_ATACTION_TWIPS2IN ),
769 : : ENTRY0( SVG, Y1, XML_ATACTION_TWIPS2IN ),
770 : : ENTRY0( SVG, X2, XML_ATACTION_TWIPS2IN ),
771 : : ENTRY0( SVG, Y2, XML_ATACTION_TWIPS2IN ),
772 : : ENTRY0( SVG, WIDTH, XML_ATACTION_SVG_WIDTH_HEIGHT_OOO ),
773 : : ENTRY0( SVG, HEIGHT, XML_ATACTION_SVG_WIDTH_HEIGHT_OOO ),
774 : : ENTRY0( FO, MIN_WIDTH, XML_ATACTION_INCH2IN ),
775 : : ENTRY0( FO, MIN_HEIGHT, XML_ATACTION_INCH2IN ),
776 : : ENTRY0( FO, MAX_WIDTH, XML_ATACTION_INCH2IN ),
777 : : ENTRY0( FO, MAX_HEIGHT, XML_ATACTION_INCH2IN ),
778 : : ENTRY0( DRAW, STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
779 : : ENTRY0( DRAW, TEXT_STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
780 : : ENTRY0( DRAW, END_X, XML_ATACTION_INCH2IN ),
781 : : ENTRY0( DRAW, END_Y, XML_ATACTION_INCH2IN ),
782 : : ENTRY0( PRESENTATION, STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
783 : 15 : ENTRY1Q( FORM, ID, XML_ATACTION_RENAME,
784 : : XML_NAMESPACE_DRAW, XML_CONTROL ),
785 : : ENTRY1( XLINK, HREF, XML_ATACTION_URI_OOO, sal_True ),
786 : : ENTRY0( DRAW, ID, XML_ATACTION_SHAPEID ),
787 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
788 : 15 : };
789 : :
790 : : // OOO_INDEX_ENTRY_TAB_STOP_ACTIONS
791 : : static XMLTransformerActionInit aIndexEntryTabStopActionTable[] =
792 : : {
793 : : ENTRY0( STYLE, POSITION, XML_ATACTION_INCH2IN ),
794 : : ENTRY0( TEXT, STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
795 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
796 : : };
797 : :
798 : : // OOO_TAB_STOP_ACTIONS
799 : : static XMLTransformerActionInit aTabStopActionTable[] =
800 : : {
801 : : ENTRY0( STYLE, POSITION, XML_ATACTION_INCH2IN ),
802 : 15 : ENTRY1Q( STYLE, LEADER_CHAR, XML_ATACTION_RENAME,
803 : : XML_NAMESPACE_STYLE, XML_LEADER_TEXT ),
804 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
805 : 15 : };
806 : :
807 : : // OOO_LINENUMBERING_ACTIONS
808 : : static XMLTransformerActionInit aLineNumberingActionTable[] =
809 : : {
810 : : ENTRY0( TEXT, OFFSET, XML_ATACTION_INCH2IN ),
811 : : ENTRY0( TEXT, STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
812 : 15 : ENTRY1Q( TEXT, COUNT_IN_FLOATING_FRAMES, XML_ATACTION_RENAME,
813 : : XML_NAMESPACE_TEXT, XML_COUNT_IN_TEXT_BOXES ),
814 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
815 : 15 : };
816 : :
817 : : static XMLTransformerActionInit aFootnoteSepActionTable[] =
818 : : {
819 : : ENTRY0( STYLE, WIDTH, XML_ATACTION_INCH2IN ),
820 : : ENTRY0( STYLE, DISTANCE_BEFORE_SEP, XML_ATACTION_INCH2IN ),
821 : : ENTRY0( STYLE, DISTANCE_AFTER_SEP, XML_ATACTION_INCH2IN ),
822 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
823 : : };
824 : :
825 : : // OOO_DROP_CAP_ACTIONS
826 : : static XMLTransformerActionInit aDropCapActionTable[] =
827 : : {
828 : : ENTRY0( STYLE, DISTANCE, XML_ATACTION_INCH2IN ),
829 : : ENTRY0( STYLE, STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
830 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
831 : : };
832 : :
833 : : static XMLTransformerActionInit aColumnsActionTable[] =
834 : : {
835 : : ENTRY0( STYLE, COLUMN_GAP, XML_ATACTION_INCH2IN ),
836 : : // ENTRY0( STYLE, SPACE_BEFORE, XML_ATACTION_INCH2IN ),
837 : : // ENTRY0( STYLE, SPACE_AFTER, XML_ATACTION_INCH2IN ),
838 : 15 : ENTRY1Q( FO, MARGIN_LEFT, XML_ATACTION_RENAME_INCH2IN,
839 : : XML_NAMESPACE_FO, XML_START_INDENT ),
840 : 15 : ENTRY1Q( FO, MARGIN_RIGHT, XML_ATACTION_RENAME_INCH2IN,
841 : : XML_NAMESPACE_FO, XML_END_INDENT ),
842 : : ENTRY0( STYLE, WIDTH, XML_ATACTION_INCH2IN ),
843 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
844 : 30 : };
845 : :
846 : : // OOO_TEXT_VALUE_TYPE_ACTIONS
847 : : static XMLTransformerActionInit aTextValueTypeActionTable[] =
848 : : {
849 : 15 : ENTRY1Q( TEXT, VALUE_TYPE, XML_ATACTION_RENAME,
850 : : XML_NAMESPACE_OFFICE, XML_VALUE_TYPE ),
851 : 15 : ENTRY1Q( TEXT, VALUE, XML_ATACTION_RENAME,
852 : : XML_NAMESPACE_OFFICE, XML_VALUE ),
853 : 15 : ENTRY1Q( TEXT, CURRENCY, XML_ATACTION_RENAME,
854 : : XML_NAMESPACE_OFFICE, XML_CURRENCY ),
855 : 15 : ENTRY1Q( TEXT, DATE_VALUE, XML_ATACTION_RENAME,
856 : : XML_NAMESPACE_OFFICE, XML_DATE_VALUE ),
857 : 15 : ENTRY1Q( TEXT, TIME_VALUE, XML_ATACTION_RENAME,
858 : : XML_NAMESPACE_OFFICE, XML_TIME_VALUE ),
859 : 15 : ENTRY1Q( TEXT, BOOLEAN_VALUE, XML_ATACTION_RENAME,
860 : : XML_NAMESPACE_OFFICE, XML_BOOLEAN_VALUE ),
861 : 15 : ENTRY1Q( TEXT, STRING_VALUE, XML_ATACTION_RENAME,
862 : : XML_NAMESPACE_OFFICE, XML_STRING_VALUE ),
863 : : ENTRY0( STYLE, DATA_STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
864 : : ENTRY1( TEXT, FORMULA, XML_ATACTION_ADD_NAMESPACE_PREFIX,
865 : : XML_NAMESPACE_OOOW ),
866 : : ENTRY0( TEXT, TOKEN_INVALID, XML_ATACTION_EOT )
867 : 105 : };
868 : :
869 : : // OOO_TABLE_VALUE_TYPE_ACTIONS
870 : : static XMLTransformerActionInit aTableValueTypeActionTable[] =
871 : : {
872 : 15 : ENTRY1Q( TABLE, VALUE_TYPE, XML_ATACTION_RENAME,
873 : : XML_NAMESPACE_OFFICE, XML_VALUE_TYPE ),
874 : 15 : ENTRY1Q( TABLE, VALUE, XML_ATACTION_RENAME,
875 : : XML_NAMESPACE_OFFICE, XML_VALUE ),
876 : 15 : ENTRY1Q( TABLE, CURRENCY, XML_ATACTION_RENAME,
877 : : XML_NAMESPACE_OFFICE, XML_CURRENCY ),
878 : 15 : ENTRY1Q( TABLE, DATE_VALUE, XML_ATACTION_RENAME,
879 : : XML_NAMESPACE_OFFICE, XML_DATE_VALUE ),
880 : 15 : ENTRY1Q( TABLE, TIME_VALUE, XML_ATACTION_RENAME,
881 : : XML_NAMESPACE_OFFICE, XML_TIME_VALUE ),
882 : 15 : ENTRY1Q( TABLE, BOOLEAN_VALUE, XML_ATACTION_RENAME,
883 : : XML_NAMESPACE_OFFICE, XML_BOOLEAN_VALUE ),
884 : 15 : ENTRY1Q( TABLE, STRING_VALUE, XML_ATACTION_RENAME,
885 : : XML_NAMESPACE_OFFICE, XML_STRING_VALUE ),
886 : : ENTRY0( TABLE, STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
887 : : ENTRY1( TABLE, FORMULA, XML_ATACTION_ADD_APP_NAMESPACE_PREFIX,
888 : : XML_NAMESPACE_OOOW ),
889 : 15 : ENTRY1Q( TABLE, VALIDATION_NAME, XML_ATACTION_RENAME,
890 : : XML_NAMESPACE_TABLE, XML_CONTENT_VALIDATION_NAME ),
891 : : ENTRY0( TABLE, TOKEN_INVALID, XML_ATACTION_EOT )
892 : 120 : };
893 : :
894 : : // action table for OOO_ANNOTATION_ACTIONS
895 : : static XMLTransformerActionInit aAnnotationActionTable[] =
896 : : {
897 : 15 : ENTRY1Q( OFFICE, AUTHOR, XML_ATACTION_MOVE_TO_ELEM,
898 : : XML_NAMESPACE_DC, XML_CREATOR ),
899 : 15 : ENTRY1Q( OFFICE, CREATE_DATE, XML_ATACTION_MOVE_TO_ELEM,
900 : : XML_NAMESPACE_DC, XML_DATE ),
901 : 15 : ENTRY1Q( OFFICE, CREATE_DATE_STRING, XML_ATACTION_MOVE_TO_ELEM,
902 : : XML_NAMESPACE_META, XML_DATE_STRING ),
903 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
904 : 45 : };
905 : :
906 : : // action table for OOO_CHANGE_INFO_ACTIONS
907 : : static XMLTransformerActionInit aChangeInfoActionTable[] =
908 : : {
909 : 15 : ENTRY1Q( OFFICE, CHG_AUTHOR, XML_ATACTION_MOVE_TO_ELEM,
910 : : XML_NAMESPACE_DC, XML_CREATOR ),
911 : 15 : ENTRY1Q( OFFICE, CHG_DATE_TIME, XML_ATACTION_MOVE_TO_ELEM,
912 : : XML_NAMESPACE_DC, XML_DATE ),
913 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
914 : 30 : };
915 : :
916 : : // OOO_BACKGROUND_IMAGE_ACTIONS
917 : : static XMLTransformerActionInit aBackgroundImageActionTable[] =
918 : : {
919 : 15 : ENTRY1Q( DRAW, TRANSPARENCY, XML_ATACTION_RENAME_NEG_PERCENT,
920 : : XML_NAMESPACE_DRAW, XML_OPACITY ),
921 : : ENTRY1( XLINK, HREF, XML_ATACTION_URI_OOO, sal_True ),
922 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
923 : 15 : };
924 : :
925 : : /* OOO_BACKGROUND_IMAGE_ACTIONS for OpenOffice.org text documents
926 : : OpenOffice.org text documents, written by OpenOffice.org, contain
927 : : wrong value for the transparency of the background graphic (#i50322#)
928 : : */
929 : : static XMLTransformerActionInit aWriterBackgroundImageActionTable[] =
930 : : {
931 : 15 : ENTRY1Q( DRAW, TRANSPARENCY, XML_ATACTION_WRITER_BACK_GRAPHIC_TRANSPARENCY, XML_NAMESPACE_DRAW, XML_OPACITY ),
932 : : ENTRY1( XLINK, HREF, XML_ATACTION_URI_OOO, sal_True ),
933 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
934 : 15 : };
935 : :
936 : : // OOO_DDE_CONNECTION_DECL
937 : : static XMLTransformerActionInit aDDEConnectionDeclActionTable[] =
938 : : {
939 : 15 : ENTRY1Q( TEXT, NAME, XML_ATACTION_RENAME,
940 : : XML_NAMESPACE_OFFICE, XML_NAME ),
941 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
942 : 15 : };
943 : :
944 : : // OOO_FORM_CONTROL_ACTIONS
945 : : static XMLTransformerActionInit aFormControlActionTable[] =
946 : : {
947 : 15 : ENTRY2QN( FORM, SERVICE_NAME,
948 : : XML_ATACTION_RENAME_ADD_NAMESPACE_PREFIX,
949 : : XML_NAMESPACE_FORM, XML_CONTROL_IMPLEMENTATION,
950 : : XML_NAMESPACE_OOO ),
951 : : ENTRY1( XLINK, HREF, XML_ATACTION_URI_OOO, sal_False ),
952 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
953 : 15 : };
954 : :
955 : : // OOO_FORM_COLUMN_ACTIONS
956 : : static XMLTransformerActionInit aFormColumnActionTable[] =
957 : : {
958 : 15 : ENTRY1Q( FORM, COLUMN_STYLE_NAME, XML_ATACTION_RENAME_ENCODE_STYLE_NAME_REF,
959 : : XML_NAMESPACE_FORM, XML_TEXT_STYLE_NAME ),
960 : 15 : ENTRY2QN( FORM, SERVICE_NAME,
961 : : XML_ATACTION_RENAME_ADD_NAMESPACE_PREFIX,
962 : : XML_NAMESPACE_FORM, XML_CONTROL_IMPLEMENTATION,
963 : : XML_NAMESPACE_OOO ),
964 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
965 : 30 : };
966 : :
967 : : // OOO_FORM_PROP_ACTIONS
968 : : static XMLTransformerActionInit aFormPropActionTable[] =
969 : : {
970 : 15 : ENTRY1Q( FORM, PROPERTY_TYPE, XML_ATACTION_RENAME,
971 : : XML_NAMESPACE_OFFICE, XML_VALUE_TYPE ),
972 : : ENTRY0( FORM, PROPERTY_IS_LIST, XML_ATACTION_REMOVE ),
973 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
974 : 15 : };
975 : :
976 : : // OOO_XLINK_ACTIONS
977 : : static XMLTransformerActionInit aXLinkActionTable[] =
978 : : {
979 : : ENTRY1( XLINK, HREF, XML_ATACTION_URI_OOO, sal_False ),
980 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
981 : : };
982 : :
983 : : // OOO_CONFIG_ITEM_SET_ACTIONS
984 : : static XMLTransformerActionInit aConfigItemSetActionTable[] =
985 : : {
986 : : ENTRY1( CONFIG, NAME, XML_ATACTION_ADD_NAMESPACE_PREFIX,
987 : : XML_NAMESPACE_OOO ),
988 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
989 : : };
990 : :
991 : : // OASIS_FORMULA_ACTIONS
992 : : static XMLTransformerActionInit aFormulaActionTable[] =
993 : : {
994 : : ENTRY1( TEXT, CONDITION, XML_ATACTION_ADD_NAMESPACE_PREFIX,
995 : : XML_NAMESPACE_OOOW ),
996 : : ENTRY1( TEXT, FORMULA, XML_ATACTION_ADD_NAMESPACE_PREFIX,
997 : : XML_NAMESPACE_OOOW ),
998 : : ENTRY1( TABLE, CONDITION, XML_ATACTION_ADD_APP_NAMESPACE_PREFIX,
999 : : XML_NAMESPACE_OOOW ),
1000 : : ENTRY1( TABLE, FORMULA, XML_ATACTION_ADD_APP_NAMESPACE_PREFIX,
1001 : : XML_NAMESPACE_OOOW ),
1002 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1003 : : };
1004 : :
1005 : : // OOO_ERROR_MACRO_ACTIONS
1006 : : static XMLTransformerActionInit aErrorMacroActionTable[] =
1007 : : {
1008 : : ENTRY0( TABLE, NAME, XML_ATACTION_REMOVE ),
1009 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1010 : : };
1011 : :
1012 : : // OOO_DDE_CONV_MODE_ACTIONS
1013 : : static XMLTransformerActionInit aDDEConvModeActionTable[] =
1014 : : {
1015 : 15 : ENTRY1Q( TABLE, LET_TEXT, XML_ATACTION_RENAME,
1016 : : XML_NAMESPACE_TABLE, XML_KEEP_TEXT ),
1017 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1018 : 15 : };
1019 : :
1020 : : // OOO_DATAPILOT_MEMBER_ACTIONS
1021 : : static XMLTransformerActionInit aDataPilotMemberActionTable[] =
1022 : : {
1023 : 15 : ENTRY1Q( TABLE, DISPLAY_DETAILS, XML_ATACTION_RENAME,
1024 : : XML_NAMESPACE_TABLE, XML_SHOW_DETAILS ),
1025 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1026 : 15 : };
1027 : :
1028 : : // OOO_DATAPILOT_LEVEL_ACTIONS
1029 : : static XMLTransformerActionInit aDataPilotLevelActionTable[] =
1030 : : {
1031 : 15 : ENTRY1Q( TABLE, DISPLAY_EMPTY, XML_ATACTION_RENAME,
1032 : : XML_NAMESPACE_TABLE, XML_SHOW_EMPTY ),
1033 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1034 : 15 : };
1035 : :
1036 : : // OOO_SOURCE_SERVICE_ACTIONS
1037 : : static XMLTransformerActionInit aSourceServiceActionTable[] =
1038 : : {
1039 : 15 : ENTRY1Q( TABLE, USERNAME, XML_ATACTION_RENAME,
1040 : : XML_NAMESPACE_TABLE, XML_USER_NAME ),
1041 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1042 : 15 : };
1043 : :
1044 : : // OOO_ANIMATION_ACTIONS
1045 : : static XMLTransformerActionInit aAnimationsActionTable[] =
1046 : : {
1047 : : ENTRY0( DRAW, SHAPE_ID, XML_ATACTION_SHAPEID ),
1048 : : ENTRY0( PRESENTATION, PATH_ID, XML_ATACTION_SHAPEID ),
1049 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1050 : : };
1051 : :
1052 : : // OOO_DRAW_AREA_POLYGON_ACTIONS (to be added to OOO_SHAPE_ACTIONS)
1053 : : static XMLTransformerActionInit aDrawAreaPolygonActionTable[] =
1054 : : {
1055 : 15 : ENTRY1Q( SVG, POINTS, XML_ATACTION_RENAME,
1056 : : XML_NAMESPACE_DRAW, XML_POINTS ),
1057 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1058 : 15 : };
1059 : :
1060 : : // OOO_CHART_ACTIONS
1061 : : static XMLTransformerActionInit aChartActionTable[] =
1062 : : {
1063 : : ENTRY1( CHART, CLASS, XML_ATACTION_ADD_NAMESPACE_PREFIX,
1064 : : XML_NAMESPACE_CHART ),
1065 : : ENTRY0( CHART, ADD_IN_NAME, XML_ATACTION_REMOVE ),
1066 : : ENTRY0( SVG, WIDTH, XML_ATACTION_INCH2IN ),
1067 : : ENTRY0( SVG, HEIGHT, XML_ATACTION_INCH2IN ),
1068 : : ENTRY0( CHART, STYLE_NAME, XML_ATACTION_ENCODE_STYLE_NAME_REF ),
1069 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1070 : : };
1071 : :
1072 : : // OOO_ALPHABETICAL_INDEX_MARK_ACTIONS
1073 : : static XMLTransformerActionInit aAlphabeticalIndexMarkActionTable[] =
1074 : : {
1075 : 15 : ENTRY1Q( TEXT, MAIN_ETRY, XML_ATACTION_RENAME,
1076 : : XML_NAMESPACE_TEXT, XML_MAIN_ENTRY ),
1077 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1078 : 15 : };
1079 : :
1080 : : // OOO_SCRIPT_ACTIONS
1081 : : static XMLTransformerActionInit aScriptActionTable[] =
1082 : : {
1083 : : ENTRY1( SCRIPT, LANGUAGE, XML_ATACTION_ADD_NAMESPACE_PREFIX, XML_NAMESPACE_OOO ),
1084 : 15 : ENTRY1Q( SCRIPT, NAME, XML_ATACTION_RENAME, XML_NAMESPACE_OOO, XML_NAME ),
1085 : 15 : ENTRY1Q( SCRIPT, READONLY, XML_ATACTION_RENAME, XML_NAMESPACE_OOO, XML_READONLY ),
1086 : : ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1087 : 15 : };
1088 : :
1089 : : static XMLTokenEnum aTokenMap[] =
1090 : : {
1091 : : XML_NONE, XML_SINGLE, XML_DOUBLE, XML_BOLD, XML_BOLD_DOTTED,
1092 : : XML_BOLD_DASH, XML_BOLD_LONG_DASH, XML_BOLD_DOT_DASH,
1093 : : XML_BOLD_DOT_DOT_DASH, XML_BOLD_WAVE, XML_DOUBLE_WAVE,
1094 : : XML_SINGLE_LINE, XML_DOUBLE_LINE, XML_THICK_LINE, XML_SLASH, XML_uX,
1095 : : XML_TOKEN_END
1096 : : };
1097 : :
1098 : : //-----------------------------------------------------------------------------
1099 : :
1100 : : class XMLDocumentTransformerContext_Impl : public XMLTransformerContext
1101 : : {
1102 : : ::rtl::OUString m_aElemQName;
1103 : : ::rtl::OUString m_aOldClass;
1104 : :
1105 : : public:
1106 : : TYPEINFO();
1107 : :
1108 : : XMLDocumentTransformerContext_Impl( XMLTransformerBase& rTransformer,
1109 : : const ::rtl::OUString& rQName );
1110 : : XMLDocumentTransformerContext_Impl( XMLTransformerBase& rTransformer,
1111 : : const ::rtl::OUString& rQName,
1112 : : sal_uInt16 nPrefix,
1113 : : ::xmloff::token::XMLTokenEnum eToken );
1114 : :
1115 : : virtual ~XMLDocumentTransformerContext_Impl();
1116 : :
1117 : : virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList );
1118 : : virtual void EndElement();
1119 : : };
1120 : :
1121 [ # # ][ # # ]: 0 : TYPEINIT1( XMLDocumentTransformerContext_Impl, XMLTransformerContext );
1122 : :
1123 : 69 : XMLDocumentTransformerContext_Impl::XMLDocumentTransformerContext_Impl(
1124 : : XMLTransformerBase& rImp,
1125 : : const OUString& rQName ) :
1126 : : XMLTransformerContext( rImp, rQName ),
1127 : 69 : m_aElemQName( rQName )
1128 : : {
1129 : 69 : }
1130 : 0 : XMLDocumentTransformerContext_Impl::XMLDocumentTransformerContext_Impl(
1131 : : XMLTransformerBase& rImp,
1132 : : const OUString& rQName ,
1133 : : sal_uInt16 nPrefix,
1134 : : ::xmloff::token::XMLTokenEnum eToken) :
1135 : : XMLTransformerContext( rImp, rQName ),
1136 : 0 : m_aElemQName( rImp.GetNamespaceMap().GetQNameByKey( nPrefix,
1137 [ # # # # ]: 0 : ::xmloff::token::GetXMLToken( eToken ) ) )
1138 : : {
1139 : 0 : }
1140 : :
1141 : 69 : XMLDocumentTransformerContext_Impl::~XMLDocumentTransformerContext_Impl()
1142 : : {
1143 [ - + ]: 138 : }
1144 : :
1145 : 69 : void XMLDocumentTransformerContext_Impl::StartElement(
1146 : : const Reference< XAttributeList >& rAttrList )
1147 : : {
1148 : 69 : Reference< XAttributeList > xAttrList( rAttrList );
1149 : :
1150 : 69 : m_aOldClass = GetTransformer().GetClass();
1151 : :
1152 : 69 : XMLMutableAttributeList *pMutableAttrList = 0;
1153 : 69 : sal_Bool bOOo = sal_False, bOOoW = sal_False, bOOoC = sal_False,
1154 : 69 : bDOM=sal_False, bDC = sal_False, bSVG = sal_False;
1155 [ + - ][ + - ]: 69 : sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
[ + - ]
1156 [ + + ]: 1344 : for( sal_Int16 i=0; i < nAttrCount; i++ )
1157 : : {
1158 [ + - ][ + - ]: 1275 : const OUString& rAttrName = xAttrList->getNameByIndex( i );
1159 : 1275 : OUString aLocalName;
1160 : : sal_uInt16 nPrefix =
1161 : 1275 : GetTransformer().GetNamespaceMap().GetKeyByAttrName( rAttrName,
1162 [ + - ]: 1275 : &aLocalName );
1163 [ + + ][ + + ]: 1356 : if( XML_NAMESPACE_OFFICE == nPrefix &&
[ + + ]
1164 [ + - ]: 81 : IsXMLToken( aLocalName, XML_CLASS ) )
1165 : : {
1166 [ + - ][ + - ]: 26 : const OUString& rValue = xAttrList->getValueByIndex( i );
1167 : 26 : GetTransformer().SetClass( rValue );
1168 : :
1169 [ + - ]: 26 : pMutableAttrList = new XMLMutableAttributeList( xAttrList );
1170 [ + - ][ + - ]: 26 : xAttrList = pMutableAttrList;
1171 [ + - ]: 26 : OUString sMime(RTL_CONSTASCII_USTRINGPARAM("application/vnd.oasis.opendocument.") );
1172 : 26 : sMime += rValue;
1173 [ + - ]: 26 : pMutableAttrList->SetValueByIndex( i, sMime );
1174 [ + - ][ + - ]: 26 : OUString aNewAttrQName( GetTransformer().GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_OFFICE, ::xmloff::token::GetXMLToken( XML_MIMETYPE ) ) );
1175 [ + - ]: 26 : pMutableAttrList->RenameAttributeByIndex(i, aNewAttrQName );
1176 : 26 : break;
1177 : : }
1178 [ + + ]: 1249 : else if( XML_NAMESPACE_XMLNS == nPrefix )
1179 : : {
1180 [ + - ][ + - ]: 1190 : const OUString& rAttrValue = xAttrList->getValueByIndex( i );
1181 [ + - ][ + + ]: 1190 : if( IsXMLToken( rAttrValue, XML_N_OOO ) )
1182 : 39 : bOOo = sal_True;
1183 [ + - ][ + + ]: 1151 : else if( IsXMLToken( rAttrValue, XML_N_OOOW ) )
1184 : 26 : bOOoW = sal_True;
1185 [ + - ][ + + ]: 1125 : else if( IsXMLToken( rAttrValue, XML_N_OOOC ) )
1186 : 26 : bOOoC = sal_True;
1187 [ + - ][ + + ]: 1099 : else if( IsXMLToken( rAttrValue, XML_N_DOM ) )
1188 : 26 : bDOM = sal_True;
1189 [ + - ][ + + ]: 1073 : else if( IsXMLToken( rAttrValue, XML_N_DC ) )
1190 : 26 : bDC = sal_True;
1191 [ + - ][ - + ]: 1047 : else if( IsXMLToken( rAttrValue, XML_N_SVG ) )
1192 : 1249 : bSVG = sal_True;
1193 : : }
1194 [ + + ][ + + ]: 1275 : }
1195 [ + + ][ + + ]: 69 : if( !(bOOo && bOOoW && bOOoC && bDOM && bDC && bSVG) )
[ + - ][ + - ]
[ + - ][ + - ]
1196 : : {
1197 [ + + ]: 69 : if( !pMutableAttrList )
1198 : : {
1199 [ + - ]: 43 : pMutableAttrList = new XMLMutableAttributeList( xAttrList );
1200 [ + - ][ + - ]: 43 : xAttrList = pMutableAttrList;
1201 : : }
1202 [ + + ]: 69 : if( !bOOo )
1203 : : pMutableAttrList->AddAttribute(
1204 : 30 : GetTransformer().GetNamespaceMap().GetAttrNameByKey(
1205 : : XML_NAMESPACE_OOO ),
1206 : 30 : GetTransformer().GetNamespaceMap().GetNameByKey(
1207 [ + - ]: 60 : XML_NAMESPACE_OOO ) );
[ + - + - ]
1208 [ + + ]: 69 : if( !bOOoW )
1209 : : pMutableAttrList->AddAttribute(
1210 : 43 : GetTransformer().GetNamespaceMap().GetAttrNameByKey(
1211 : : XML_NAMESPACE_OOOW ),
1212 : 43 : GetTransformer().GetNamespaceMap().GetNameByKey(
1213 [ + - ]: 86 : XML_NAMESPACE_OOOW ) );
[ + - + - ]
1214 [ + + ]: 69 : if( !bOOoC )
1215 : : pMutableAttrList->AddAttribute(
1216 : 43 : GetTransformer().GetNamespaceMap().GetAttrNameByKey(
1217 : : XML_NAMESPACE_OOOC ),
1218 : 43 : GetTransformer().GetNamespaceMap().GetNameByKey(
1219 [ + - ]: 86 : XML_NAMESPACE_OOOC ) );
[ + - + - ]
1220 [ + + ]: 69 : if( !bDOM )
1221 : : pMutableAttrList->AddAttribute(
1222 : 43 : GetTransformer().GetNamespaceMap().GetAttrNameByKey(
1223 : : XML_NAMESPACE_DOM ),
1224 : 43 : GetTransformer().GetNamespaceMap().GetNameByKey(
1225 [ + - ]: 86 : XML_NAMESPACE_DOM ) );
[ + - + - ]
1226 [ + + ]: 69 : if( !bDC )
1227 : : pMutableAttrList->AddAttribute(
1228 : 43 : GetTransformer().GetNamespaceMap().GetAttrNameByKey(
1229 : : XML_NAMESPACE_DC ),
1230 : 43 : GetTransformer().GetNamespaceMap().GetNameByKey(
1231 [ + - ]: 86 : XML_NAMESPACE_DC ) );
[ + - + - ]
1232 [ + - ]: 69 : if( !bSVG )
1233 : : pMutableAttrList->AddAttribute(
1234 : 69 : GetTransformer().GetNamespaceMap().GetAttrNameByKey(
1235 : : XML_NAMESPACE_SVG ),
1236 : 69 : GetTransformer().GetNamespaceMap().GetNameByKey(
1237 [ + - ]: 138 : XML_NAMESPACE_SVG ) );
[ + - + - ]
1238 : : }
1239 : :
1240 [ + - ][ + - ]: 69 : GetTransformer().GetDocHandler()->startElement( m_aElemQName, xAttrList );
1241 : 69 : }
1242 : :
1243 : 69 : void XMLDocumentTransformerContext_Impl::EndElement()
1244 : : {
1245 : 69 : GetTransformer().GetDocHandler()->endElement( m_aElemQName );
1246 : :
1247 : 69 : GetTransformer().SetClass( m_aOldClass );
1248 : 69 : }
1249 : :
1250 : : //-----------------------------------------------------------------------------
1251 : :
1252 : : class XMLBodyTransformerContext_Impl : public XMLTransformerContext
1253 : : {
1254 : : OUString m_aClassQName;
1255 : :
1256 : : public:
1257 : : TYPEINFO();
1258 : :
1259 : : XMLBodyTransformerContext_Impl( XMLTransformerBase& rTransformer,
1260 : : const ::rtl::OUString& rQName );
1261 : :
1262 : : virtual ~XMLBodyTransformerContext_Impl();
1263 : :
1264 : : virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList );
1265 : : virtual void EndElement();
1266 : : };
1267 : :
1268 [ # # ][ # # ]: 0 : TYPEINIT1( XMLBodyTransformerContext_Impl, XMLTransformerContext );
1269 : :
1270 : 26 : XMLBodyTransformerContext_Impl::XMLBodyTransformerContext_Impl(
1271 : : XMLTransformerBase& rImp,
1272 : : const OUString& rQName ) :
1273 : 26 : XMLTransformerContext( rImp, rQName )
1274 : : {
1275 : 26 : }
1276 : :
1277 : 26 : XMLBodyTransformerContext_Impl::~XMLBodyTransformerContext_Impl()
1278 : : {
1279 [ - + ]: 52 : }
1280 : :
1281 : 26 : void XMLBodyTransformerContext_Impl::StartElement(
1282 : : const Reference< XAttributeList >& rAttrList )
1283 : : {
1284 [ + - ]: 26 : XMLTransformerContext::StartElement( rAttrList );
1285 : :
1286 : : XMLMutableAttributeList *pMutableAttrList =
1287 [ + - ]: 26 : new XMLMutableAttributeList( rAttrList );
1288 [ + - ][ + - ]: 26 : Reference< XAttributeList > xAttrList = pMutableAttrList;
1289 : 26 : OUString aClass( GetTransformer().GetClass() );
1290 [ - + ]: 26 : if( aClass.isEmpty() )
1291 : : {
1292 [ # # ]: 0 : aClass = GetXMLToken( XML_TEXT );
1293 : : }
1294 [ + - ][ - + ]: 26 : else if( IsXMLToken( aClass, XML_TEXT_GLOBAL ) )
1295 : : {
1296 : : OUString aGlobalQName(
1297 : 0 : GetTransformer().GetNamespaceMap().GetQNameByKey(
1298 [ # # # # ]: 0 : XML_NAMESPACE_TEXT, GetXMLToken(XML_GLOBAL ) ) );
1299 [ # # ][ # # ]: 0 : pMutableAttrList->AddAttribute( aGlobalQName, GetXMLToken(XML_TRUE) );
1300 : :
1301 [ # # ]: 0 : aClass = GetXMLToken( XML_TEXT );
1302 : : }
1303 : :
1304 : 26 : m_aClassQName = GetTransformer().GetNamespaceMap().GetQNameByKey(
1305 [ + - ]: 26 : XML_NAMESPACE_OFFICE, aClass );
1306 [ + - ]: 26 : GetTransformer().GetDocHandler()->startElement( m_aClassQName,
1307 [ + - ]: 26 : xAttrList );
1308 : 26 : }
1309 : :
1310 : 26 : void XMLBodyTransformerContext_Impl::EndElement()
1311 : : {
1312 : 26 : GetTransformer().GetDocHandler()->endElement( m_aClassQName );
1313 : 26 : XMLTransformerContext::EndElement();
1314 : 26 : }
1315 : :
1316 : : //-----------------------------------------------------------------------------
1317 : :
1318 : : class XMLTabStopOOoTContext_Impl : public XMLPersElemContentTContext
1319 : : {
1320 : : public:
1321 : : TYPEINFO();
1322 : :
1323 : : XMLTabStopOOoTContext_Impl( XMLTransformerBase& rTransformer,
1324 : : const ::rtl::OUString& rQName );
1325 : :
1326 : : virtual ~XMLTabStopOOoTContext_Impl();
1327 : :
1328 : : virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList );
1329 : : };
1330 : :
1331 [ # # ][ # # ]: 0 : TYPEINIT1( XMLTabStopOOoTContext_Impl, XMLPersElemContentTContext );
1332 : :
1333 : 0 : XMLTabStopOOoTContext_Impl::XMLTabStopOOoTContext_Impl(
1334 : : XMLTransformerBase& rImp,
1335 : : const OUString& rQName ) :
1336 : 0 : XMLPersElemContentTContext( rImp, rQName )
1337 : : {
1338 : 0 : }
1339 : :
1340 : 0 : XMLTabStopOOoTContext_Impl::~XMLTabStopOOoTContext_Impl()
1341 : : {
1342 [ # # ]: 0 : }
1343 : :
1344 : 0 : void XMLTabStopOOoTContext_Impl::StartElement(
1345 : : const Reference< XAttributeList >& rAttrList )
1346 : : {
1347 : : XMLTransformerActions *pActions =
1348 [ # # ]: 0 : GetTransformer().GetUserDefinedActions( OOO_TAB_STOP_ACTIONS );
1349 : : OSL_ENSURE( pActions, "go no actions" );
1350 : :
1351 : 0 : Reference< XAttributeList > xAttrList( rAttrList );
1352 : 0 : XMLMutableAttributeList *pMutableAttrList = 0;
1353 [ # # ][ # # ]: 0 : sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
[ # # ]
1354 [ # # ]: 0 : for( sal_Int16 i=0; i < nAttrCount; i++ )
1355 : : {
1356 [ # # ][ # # ]: 0 : const OUString& rAttrName = xAttrList->getNameByIndex( i );
1357 : 0 : OUString aLocalName;
1358 : : sal_uInt16 nPrefix =
1359 : 0 : GetTransformer().GetNamespaceMap().GetKeyByAttrName( rAttrName,
1360 [ # # ]: 0 : &aLocalName );
1361 : 0 : XMLTransformerActions::key_type aKey( nPrefix, aLocalName );
1362 : : XMLTransformerActions::const_iterator aIter =
1363 [ # # ]: 0 : pActions->find( aKey );
1364 [ # # ][ # # ]: 0 : if( !(aIter == pActions->end() ) )
1365 : : {
1366 [ # # ]: 0 : if( !pMutableAttrList )
1367 : : {
1368 : : pMutableAttrList =
1369 [ # # ]: 0 : new XMLMutableAttributeList( xAttrList );
1370 [ # # ][ # # ]: 0 : xAttrList = pMutableAttrList;
1371 : : }
1372 [ # # ][ # # ]: 0 : const OUString& rAttrValue = xAttrList->getValueByIndex( i );
1373 [ # # ]: 0 : switch( (*aIter).second.m_nActionType )
[ # # # ]
1374 : : {
1375 : : case XML_ATACTION_RENAME:
1376 : : {
1377 : : OUString aNewAttrQName(
1378 : 0 : GetTransformer().GetNamespaceMap().GetQNameByKey(
1379 [ # # ]: 0 : (*aIter).second.GetQNamePrefixFromParam1(),
1380 : : ::xmloff::token::GetXMLToken(
1381 [ # # ]: 0 : (*aIter).second.GetQNameTokenFromParam1()) ) );
[ # # # # ]
1382 : : pMutableAttrList->RenameAttributeByIndex( i,
1383 [ # # ]: 0 : aNewAttrQName );
1384 : : }
1385 [ # # # # : 0 : if( IsXMLToken( aLocalName, XML_LEADER_CHAR ) &&
# # ][ # # ]
[ # # ]
1386 : 0 : !rAttrValue.isEmpty() &&
1387 : 0 : rAttrValue[0] != ' ' )
1388 : : {
1389 : : OUString aNewAttrQName(
1390 : 0 : GetTransformer().GetNamespaceMap().GetQNameByKey(
1391 : : XML_NAMESPACE_STYLE,
1392 [ # # # # ]: 0 : ::xmloff::token::GetXMLToken(XML_LEADER_STYLE) ) );
1393 : : pMutableAttrList->AddAttribute( aNewAttrQName,
1394 [ # # ][ # # ]: 0 : GetXMLToken( XML_SOLID ) );
1395 : : }
1396 : 0 : break;
1397 : : case XML_ATACTION_INCH2IN:
1398 : : {
1399 : 0 : OUString aAttrValue( rAttrValue );
1400 [ # # ]: 0 : if( XMLTransformerBase::ReplaceSingleInchWithIn(
1401 [ # # ]: 0 : aAttrValue ) )
1402 [ # # ]: 0 : pMutableAttrList->SetValueByIndex( i, aAttrValue );
1403 : : }
1404 : 0 : break;
1405 : : default:
1406 : : OSL_ENSURE( !this, "unknown action" );
1407 : 0 : break;
1408 : 0 : }
1409 : : }
1410 : 0 : }
1411 : :
1412 [ # # ]: 0 : XMLPersElemContentTContext::StartElement( xAttrList );
1413 : 0 : }
1414 : :
1415 : : // -----------------------------------------------------------------------------
1416 : :
1417 : : class XMLTrackedChangesOOoTContext_Impl : public XMLTransformerContext
1418 : : {
1419 : : sal_uInt16 m_nPrefix;
1420 : : XMLTokenEnum m_eToken;
1421 : :
1422 : : public:
1423 : :
1424 : : TYPEINFO();
1425 : :
1426 : : XMLTrackedChangesOOoTContext_Impl( XMLTransformerBase& rTransformer,
1427 : : const ::rtl::OUString& rQName,
1428 : : sal_uInt16 nPrefix,
1429 : : XMLTokenEnum eToken );
1430 : :
1431 : : virtual ~XMLTrackedChangesOOoTContext_Impl();
1432 : :
1433 : : virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList );
1434 : : };
1435 : :
1436 [ # # ][ # # ]: 0 : TYPEINIT1( XMLTrackedChangesOOoTContext_Impl, XMLTransformerContext );
1437 : :
1438 : 0 : XMLTrackedChangesOOoTContext_Impl::XMLTrackedChangesOOoTContext_Impl(
1439 : : XMLTransformerBase& rImp,
1440 : : const OUString& rQName,
1441 : : sal_uInt16 nPrefix,
1442 : : XMLTokenEnum eToken ) :
1443 : : XMLTransformerContext( rImp, rQName ),
1444 : : m_nPrefix( nPrefix ),
1445 : 0 : m_eToken( eToken )
1446 : : {
1447 : 0 : }
1448 : :
1449 : 0 : XMLTrackedChangesOOoTContext_Impl::~XMLTrackedChangesOOoTContext_Impl()
1450 : : {
1451 [ # # ]: 0 : }
1452 : :
1453 : 0 : void XMLTrackedChangesOOoTContext_Impl::StartElement(
1454 : : const Reference< XAttributeList >& rAttrList )
1455 : : {
1456 : 0 : Reference< XAttributeList > xAttrList( rAttrList );
1457 [ # # ][ # # ]: 0 : sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
[ # # ]
1458 [ # # ]: 0 : for( sal_Int16 i=0; i < nAttrCount; i++ )
1459 : : {
1460 [ # # ][ # # ]: 0 : const OUString& rAttrName = xAttrList->getNameByIndex( i );
1461 : 0 : OUString aLocalName;
1462 : : sal_uInt16 nPrefix =
1463 : 0 : GetTransformer().GetNamespaceMap().GetKeyByAttrName( rAttrName,
1464 [ # # ]: 0 : &aLocalName );
1465 [ # # ][ # # ]: 0 : if( m_nPrefix == nPrefix && IsXMLToken( aLocalName, m_eToken ) )
[ # # ][ # # ]
1466 : : {
1467 : : const Reference< XPropertySet > rPropSet =
1468 : 0 : GetTransformer().GetPropertySet();
1469 : : OSL_ENSURE( rPropSet.is(), "no info property set" );
1470 [ # # ]: 0 : if( rPropSet.is() )
1471 : : {
1472 : 0 : const sal_Char sRedlineProtectionKey[] = "RedlineProtectionKey";
1473 [ # # ]: 0 : OUString aPropName(RTL_CONSTASCII_USTRINGPARAM(sRedlineProtectionKey));
1474 : : Reference< XPropertySetInfo > xPropSetInfo(
1475 [ # # ][ # # ]: 0 : rPropSet->getPropertySetInfo() );
1476 [ # # ][ # # ]: 0 : if( xPropSetInfo.is() &&
[ # # ]
1477 [ # # ][ # # ]: 0 : xPropSetInfo->hasPropertyByName( aPropName ) )
1478 : : {
1479 [ # # ]: 0 : Sequence < sal_Int8 > aKey;
1480 : : ::sax::Converter::decodeBase64( aKey,
1481 [ # # ][ # # ]: 0 : xAttrList->getValueByIndex( i ) );
[ # # ]
1482 [ # # ][ # # ]: 0 : rPropSet->setPropertyValue( aPropName, makeAny( aKey ) );
[ # # ][ # # ]
1483 : : }
1484 : : else
1485 : : {
1486 : : OSL_ENSURE( !this, "RedineProtectionKey is missing" );
1487 : 0 : }
1488 : : }
1489 : 0 : break;
1490 : : }
1491 [ # # ][ # # ]: 0 : }
1492 [ # # ]: 0 : XMLTransformerContext::StartElement( xAttrList );
1493 : 0 : }
1494 : :
1495 : : // -----------------------------------------------------------------------------
1496 : :
1497 : : class XMLTableOOoTransformerContext_Impl : public XMLTransformerContext
1498 : : {
1499 : : ::rtl::OUString m_aElemQName;
1500 : :
1501 : : public:
1502 : : TYPEINFO();
1503 : :
1504 : : XMLTableOOoTransformerContext_Impl( XMLTransformerBase& rTransformer,
1505 : : const ::rtl::OUString& rQName );
1506 : :
1507 : : virtual ~XMLTableOOoTransformerContext_Impl();
1508 : :
1509 : : virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList );
1510 : : virtual void EndElement();
1511 : : };
1512 : :
1513 [ # # ][ # # ]: 0 : TYPEINIT1( XMLTableOOoTransformerContext_Impl, XMLTransformerContext );
1514 : :
1515 : 26 : XMLTableOOoTransformerContext_Impl::XMLTableOOoTransformerContext_Impl(
1516 : : XMLTransformerBase& rImp,
1517 : : const OUString& rQName ) :
1518 : : XMLTransformerContext( rImp, rQName ),
1519 : 26 : m_aElemQName( rQName )
1520 : : {
1521 : 26 : }
1522 : :
1523 : 26 : XMLTableOOoTransformerContext_Impl::~XMLTableOOoTransformerContext_Impl()
1524 : : {
1525 [ - + ]: 52 : }
1526 : :
1527 : 26 : void XMLTableOOoTransformerContext_Impl::StartElement(
1528 : : const Reference< XAttributeList >& rAttrList )
1529 : : {
1530 : : // Perform OOO_STYLE_REF_ACTIONS for all applications (#i50521#)
1531 : 26 : Reference< XAttributeList > xAttrList( rAttrList );
1532 : : XMLMutableAttributeList* pMutableAttrList =
1533 [ + - ]: 26 : GetTransformer().ProcessAttrList( xAttrList, OOO_STYLE_REF_ACTIONS, sal_False );
1534 [ + - ][ + - ]: 26 : if( rAttrList->getLength() && IsXMLToken( GetTransformer().GetClass(), XML_SPREADSHEET ) )
[ + - ][ + - ]
[ + + ][ + + ]
1535 : : {
1536 : 20 : sal_Bool bPrintRanges(sal_False);
1537 : :
1538 [ + - ][ + - ]: 20 : sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
[ + - ]
1539 [ + + ]: 63 : for( sal_Int16 i=0; i < nAttrCount; i++ )
1540 : : {
1541 [ + - ][ + - ]: 43 : const OUString& rAttrName = xAttrList->getNameByIndex( i );
1542 : 43 : OUString aLocalName;
1543 : : sal_uInt16 nPrefix =
1544 : 43 : GetTransformer().GetNamespaceMap().GetKeyByAttrName( rAttrName,
1545 [ + - ]: 43 : &aLocalName );
1546 [ + - ][ - + ]: 86 : if( XML_NAMESPACE_TABLE == nPrefix &&
[ - + ]
1547 [ + - ]: 43 : IsXMLToken( aLocalName, XML_PRINT_RANGES ) )
1548 : : {
1549 : 0 : bPrintRanges = sal_True;
1550 : : }
1551 : 43 : }
1552 [ + - ][ + - ]: 20 : if (!bPrintRanges && pMutableAttrList)
1553 : : {
1554 [ + - ][ + - ]: 20 : xAttrList = pMutableAttrList;
1555 : 20 : pMutableAttrList->AddAttribute(GetTransformer().GetNamespaceMap().GetQNameByKey(
1556 : : XML_NAMESPACE_TABLE,
1557 [ + - ]: 40 : GetXMLToken( XML_PRINT ) ), GetXMLToken ( XML_FALSE ));
[ + - + - ]
[ + - ]
1558 : : }
1559 : : }
1560 : :
1561 [ + - ][ + - ]: 26 : GetTransformer().GetDocHandler()->startElement( m_aElemQName, xAttrList );
1562 : 26 : }
1563 : :
1564 : 26 : void XMLTableOOoTransformerContext_Impl::EndElement()
1565 : : {
1566 : 26 : GetTransformer().GetDocHandler()->endElement( m_aElemQName );
1567 : 26 : }
1568 : :
1569 : :
1570 : : //-----------------------------------------------------------------------------
1571 : :
1572 : 1007 : XMLTransformerContext *OOo2OasisTransformer::CreateUserDefinedContext(
1573 : : const TransformerAction_Impl& rAction,
1574 : : const OUString& rQName,
1575 : : sal_Bool bPersistent )
1576 : : {
1577 [ + - + + : 1007 : switch( rAction.m_nActionType )
+ + + - +
+ + - + +
- ]
1578 : : {
1579 : : case XML_ETACTION_DOCUMENT:
1580 [ + - ]: 69 : return new XMLDocumentTransformerContext_Impl( *this, rQName );
1581 : : case XML_ETACTION_DOCUMENT_RENAME:
1582 : : return new XMLDocumentTransformerContext_Impl( *this, rQName,
1583 : 0 : rAction.GetQNamePrefixFromParam1(),
1584 [ # # ]: 0 : rAction.GetQNameTokenFromParam1() );
1585 : : case XML_ETACTION_BODY:
1586 [ + - ]: 26 : return new XMLBodyTransformerContext_Impl( *this, rQName );
1587 : : case XML_ETACTION_STYLE:
1588 : : return new XMLStyleOOoTContext( *this, rQName,
1589 : : static_cast< XMLFamilyType >( rAction.m_nParam1 ),
1590 [ + - ]: 725 : bPersistent );
1591 : : case XML_ETACTION_STYLE_RENAME:
1592 : : return new XMLStyleOOoTContext( *this, rQName,
1593 : : static_cast< XMLFamilyType >( rAction.m_nParam2 ),
1594 : 44 : rAction.GetQNamePrefixFromParam1(),
1595 : : rAction.GetQNameTokenFromParam1(),
1596 [ + - ]: 44 : bPersistent );
1597 : : case XML_ETACTION_FRAME:
1598 [ + - ]: 17 : return new XMLFrameOOoTransformerContext( *this, rQName );
1599 : : case XML_ETACTION_EVENT:
1600 [ + - ]: 6 : return new XMLEventOOoTransformerContext( *this, rQName, bPersistent );
1601 : : case XML_ETACTION_TAB_STOP:
1602 [ # # ]: 0 : return new XMLTabStopOOoTContext_Impl( *this, rQName );
1603 : : case XML_ETACTION_FORM_CONTROL:
1604 [ + - ]: 26 : return new XMLControlOOoTransformerContext( *this, rQName );
1605 : : case XML_ETACTION_FORM_PROPERTY:
1606 [ + - ]: 56 : return new XMLFormPropOOoTransformerContext( *this, rQName );
1607 : : case XML_ETACTION_CHART:
1608 [ + - ]: 6 : return new XMLChartOOoTransformerContext( *this, rQName );
1609 : : case XML_ETACTION_TRACKED_CHANGES:
1610 : : return new XMLTrackedChangesOOoTContext_Impl( *this, rQName,
1611 : 0 : rAction.GetQNamePrefixFromParam1(),
1612 [ # # ]: 0 : rAction.GetQNameTokenFromParam1() );
1613 : : case XML_ETACTION_CHART_PLOT_AREA:
1614 [ + - ]: 6 : return new XMLChartPlotAreaOOoTContext( *this, rQName );
1615 : : case XML_ETACTION_TABLE:
1616 [ + - ]: 26 : return new XMLTableOOoTransformerContext_Impl( *this, rQName );
1617 : : default:
1618 : : OSL_ENSURE( !this, "no user defined context found!" );
1619 : : }
1620 : :
1621 : : // default is copying
1622 [ # # ]: 1007 : return new XMLTransformerContext( *this, rQName );
1623 : : }
1624 : :
1625 : 10153 : XMLTransformerActions *OOo2OasisTransformer::GetUserDefinedActions(
1626 : : sal_uInt16 n )
1627 : : {
1628 : 10153 : XMLTransformerActions *pActions = 0;
1629 [ + - ]: 10153 : if( n < MAX_OOO_ACTIONS )
1630 : : {
1631 [ + + ]: 10153 : if( !m_aActions[n] )
1632 : : {
1633 [ + + ]: 481 : if( n<MAX_OOO_PROP_ACTIONS )
1634 : : {
1635 : 218 : m_aActions[n] =
1636 : 218 : XMLStyleOOoTContext::CreateTransformerActions( n );
1637 : : }
1638 [ + + + - : 263 : else switch( n )
- - + + -
- + + + +
+ + - - +
+ - + + -
+ - + - +
- - - - -
- - - -
- ]
1639 : : {
1640 : : case OOO_STYLE_ACTIONS:
1641 : : m_aActions[OOO_STYLE_ACTIONS] =
1642 [ + - ]: 47 : new XMLTransformerActions( aStyleActionTable );
1643 : 47 : break;
1644 : : case OOO_FONT_DECL_ACTIONS:
1645 : : m_aActions[OOO_FONT_DECL_ACTIONS] =
1646 [ + - ]: 28 : new XMLTransformerActions( aFontDeclActionTable );
1647 : 28 : break;
1648 : : case OOO_SHAPE_ACTIONS:
1649 : : m_aActions[OOO_SHAPE_ACTIONS] =
1650 [ + - ]: 18 : new XMLTransformerActions( aShapeActionTable );
1651 : 18 : break;
1652 : : case OOO_CONNECTOR_ACTIONS:
1653 : : m_aActions[OOO_CONNECTOR_ACTIONS] =
1654 [ # # ]: 0 : new XMLTransformerActions( aConnectorActionTable );
1655 : 0 : break;
1656 : : case OOO_TAB_STOP_ACTIONS:
1657 : : m_aActions[OOO_TAB_STOP_ACTIONS] =
1658 [ # # ]: 0 : new XMLTransformerActions( aTabStopActionTable );
1659 : 0 : break;
1660 : : case OOO_INDEX_ENTRY_TAB_STOP_ACTIONS:
1661 : : m_aActions[OOO_INDEX_ENTRY_TAB_STOP_ACTIONS] =
1662 [ # # ]: 0 : new XMLTransformerActions( aIndexEntryTabStopActionTable );
1663 : 0 : break;
1664 : : case OOO_LINENUMBERING_ACTIONS:
1665 : : m_aActions[OOO_LINENUMBERING_ACTIONS] =
1666 [ + - ]: 6 : new XMLTransformerActions( aLineNumberingActionTable );
1667 : 6 : break;
1668 : : case OOO_FOOTNOTE_SEP_ACTIONS:
1669 : : m_aActions[OOO_FOOTNOTE_SEP_ACTIONS] =
1670 [ + - ]: 6 : new XMLTransformerActions( aFootnoteSepActionTable );
1671 : 6 : break;
1672 : : case OOO_DROP_CAP_ACTIONS:
1673 : : m_aActions[OOO_DROP_CAP_ACTIONS] =
1674 [ # # ]: 0 : new XMLTransformerActions( aDropCapActionTable );
1675 : 0 : break;
1676 : : case OOO_COLUMNS_ACTIONS:
1677 : : m_aActions[OOO_COLUMNS_ACTIONS] =
1678 [ # # ]: 0 : new XMLTransformerActions( aColumnsActionTable );
1679 : 0 : break;
1680 : : case OOO_TEXT_VALUE_TYPE_ACTIONS:
1681 : : m_aActions[OOO_TEXT_VALUE_TYPE_ACTIONS] =
1682 [ + - ]: 2 : new XMLTransformerActions( aTextValueTypeActionTable );
1683 : 2 : break;
1684 : : case OOO_TABLE_VALUE_TYPE_ACTIONS:
1685 : : m_aActions[OOO_TABLE_VALUE_TYPE_ACTIONS] =
1686 [ + - ]: 14 : new XMLTransformerActions( aTableValueTypeActionTable );
1687 : 14 : break;
1688 : : case OOO_PARA_ACTIONS:
1689 : : m_aActions[OOO_PARA_ACTIONS] =
1690 [ + - ]: 28 : new XMLTransformerActions( aParaActionTable );
1691 : 28 : break;
1692 : : case OOO_STYLE_REF_ACTIONS:
1693 : : m_aActions[OOO_STYLE_REF_ACTIONS] =
1694 [ + - ]: 34 : new XMLTransformerActions( aStyleRefActionTable );
1695 : 34 : break;
1696 : : case OOO_MASTER_PAGE_ACTIONS:
1697 : : m_aActions[OOO_MASTER_PAGE_ACTIONS] =
1698 [ + - ]: 18 : new XMLTransformerActions( aMasterPageActionTable );
1699 : 18 : break;
1700 : : case OOO_ANNOTATION_ACTIONS:
1701 : : m_aActions[OOO_ANNOTATION_ACTIONS] =
1702 [ + - ]: 5 : new XMLTransformerActions( aAnnotationActionTable );
1703 : 5 : break;
1704 : : case OOO_CHANGE_INFO_ACTIONS:
1705 : : m_aActions[OOO_CHANGE_INFO_ACTIONS] =
1706 [ # # ]: 0 : new XMLTransformerActions( aChangeInfoActionTable );
1707 : 0 : break;
1708 : : case OOO_FRAME_ELEM_ACTIONS:
1709 : : m_aActions[OOO_FRAME_ELEM_ACTIONS] =
1710 [ # # ]: 0 : new XMLTransformerActions( aFrameElemActionTable );
1711 : 0 : break;
1712 : : case OOO_FRAME_ATTR_ACTIONS:
1713 : : m_aActions[OOO_FRAME_ATTR_ACTIONS] =
1714 [ + - ]: 9 : new XMLTransformerActions( aFrameAttrActionTable );
1715 : 9 : break;
1716 : : case OOO_BACKGROUND_IMAGE_ACTIONS:
1717 : : // Use special actions for Writer documents. (#i50322#)
1718 : : m_aActions[OOO_BACKGROUND_IMAGE_ACTIONS] =
1719 : 8 : isWriter()
1720 [ # # ]: 0 : ? new XMLTransformerActions( aWriterBackgroundImageActionTable )
1721 [ + - ][ - + ]: 8 : : new XMLTransformerActions( aBackgroundImageActionTable );
1722 : 8 : break;
1723 : : case OOO_DDE_CONNECTION_DECL_ACTIONS:
1724 : : m_aActions[OOO_DDE_CONNECTION_DECL_ACTIONS] =
1725 [ # # ]: 0 : new XMLTransformerActions( aDDEConnectionDeclActionTable );
1726 : 0 : break;
1727 : : case OOO_EVENT_ACTIONS:
1728 : : m_aActions[OOO_EVENT_ACTIONS] =
1729 [ + - ]: 2 : new XMLTransformerActions( aEventActionTable );
1730 : 2 : break;
1731 : : case OOO_FORM_CONTROL_ACTIONS:
1732 : : m_aActions[OOO_FORM_CONTROL_ACTIONS] =
1733 [ + - ]: 7 : new XMLTransformerActions( aFormControlActionTable );
1734 : 7 : break;
1735 : : case OOO_FORM_COLUMN_ACTIONS:
1736 : : m_aActions[OOO_FORM_COLUMN_ACTIONS] =
1737 [ # # ]: 0 : new XMLTransformerActions( aFormColumnActionTable );
1738 : 0 : break;
1739 : : case OOO_FORM_PROP_ACTIONS:
1740 : : m_aActions[OOO_FORM_PROP_ACTIONS] =
1741 [ + - ]: 7 : new XMLTransformerActions( aFormPropActionTable );
1742 : 7 : break;
1743 : : case OOO_XLINK_ACTIONS:
1744 : : m_aActions[OOO_XLINK_ACTIONS] =
1745 [ # # ]: 0 : new XMLTransformerActions( aXLinkActionTable );
1746 : 0 : break;
1747 : : case OOO_CONFIG_ITEM_SET_ACTIONS:
1748 : : m_aActions[OOO_CONFIG_ITEM_SET_ACTIONS] =
1749 [ + - ]: 18 : new XMLTransformerActions( aConfigItemSetActionTable );
1750 : 18 : break;
1751 : : case OOO_FORMULA_ACTIONS:
1752 : : m_aActions[OOO_FORMULA_ACTIONS] =
1753 [ # # ]: 0 : new XMLTransformerActions( aFormulaActionTable );
1754 : 0 : break;
1755 : : case OOO_CHART_ACTIONS:
1756 : : m_aActions[OOO_CHART_ACTIONS] =
1757 [ + - ]: 6 : new XMLTransformerActions( aChartActionTable );
1758 : 6 : break;
1759 : : case OOO_ERROR_MACRO_ACTIONS:
1760 : : m_aActions[OOO_ERROR_MACRO_ACTIONS] =
1761 [ # # ]: 0 : new XMLTransformerActions( aErrorMacroActionTable );
1762 : 0 : break;
1763 : : case OOO_DDE_CONV_MODE_ACTIONS:
1764 : : m_aActions[OOO_DDE_CONV_MODE_ACTIONS] =
1765 [ # # ]: 0 : new XMLTransformerActions( aDDEConvModeActionTable );
1766 : 0 : break;
1767 : : case OOO_ALPHABETICAL_INDEX_MARK_ACTIONS:
1768 : : m_aActions[OOO_ALPHABETICAL_INDEX_MARK_ACTIONS] =
1769 [ # # ]: 0 : new XMLTransformerActions( aAlphabeticalIndexMarkActionTable );
1770 : 0 : break;
1771 : : case OOO_DATAPILOT_MEMBER_ACTIONS:
1772 : : m_aActions[OOO_DATAPILOT_MEMBER_ACTIONS] =
1773 [ # # ]: 0 : new XMLTransformerActions( aDataPilotMemberActionTable );
1774 : : case OOO_DATAPILOT_LEVEL_ACTIONS:
1775 : : m_aActions[OOO_DATAPILOT_LEVEL_ACTIONS] =
1776 [ # # ]: 0 : new XMLTransformerActions( aDataPilotLevelActionTable );
1777 : : case OOO_SOURCE_SERVICE_ACTIONS:
1778 : : m_aActions[OOO_SOURCE_SERVICE_ACTIONS] =
1779 [ # # ]: 0 : new XMLTransformerActions( aSourceServiceActionTable );
1780 : : case OOO_DRAW_AREA_POLYGON_ACTIONS:
1781 : : m_aActions[OOO_DRAW_AREA_POLYGON_ACTIONS] =
1782 [ # # ]: 0 : new XMLTransformerActions( aShapeActionTable );
1783 : 0 : m_aActions[OOO_DRAW_AREA_POLYGON_ACTIONS]
1784 : 0 : ->Add( aDrawAreaPolygonActionTable );
1785 : 0 : break;
1786 : : case OOO_SCRIPT_ACTIONS:
1787 : : m_aActions[OOO_SCRIPT_ACTIONS] =
1788 [ # # ]: 0 : new XMLTransformerActions( aScriptActionTable );
1789 : 0 : break;
1790 : : case OOO_ANIMATION_ACTIONS:
1791 : : m_aActions[OOO_ANIMATION_ACTIONS] =
1792 [ # # ]: 0 : new XMLTransformerActions( aAnimationsActionTable );
1793 : 481 : break;
1794 : : }
1795 : : }
1796 : 10153 : pActions = m_aActions[n];
1797 : : }
1798 : :
1799 : 10153 : return pActions;
1800 : : }
1801 : :
1802 : 6 : OUString OOo2OasisTransformer::GetEventName( const OUString& rName, sal_Bool )
1803 : : {
1804 [ + + ]: 6 : if( !m_pEventMap )
1805 : 2 : m_pEventMap = XMLEventOOoTransformerContext::CreateEventMap();
1806 : :
1807 : 6 : OUString aNewName;
1808 : : sal_uInt16 nPrefix = XMLEventOOoTransformerContext::GetEventName( rName,
1809 [ + - ]: 6 : aNewName, *m_pEventMap );
1810 [ + - ]: 6 : if( XML_NAMESPACE_UNKNOWN != nPrefix )
1811 [ + - ]: 6 : aNewName = GetNamespaceMap().GetQNameByKey( nPrefix, aNewName );
1812 : : else
1813 : 0 : aNewName = rName;
1814 : :
1815 : 6 : return aNewName;
1816 : : }
1817 : :
1818 : :
1819 : 138 : OOo2OasisTransformer::OOo2OasisTransformer( const sal_Char *pImplName,
1820 : : const sal_Char *pSubServiceName )
1821 : : throw() :
1822 : : XMLTransformerBase( aActionTable, aTokenMap ),
1823 : 138 : m_pEventMap( 0 )
1824 : : {
1825 [ + - ]: 138 : if( pImplName )
1826 : 138 : m_aImplName = OUString::createFromAscii( pImplName );
1827 : : else
1828 : 0 : m_aImplName = OOo2OasisTransformer_getImplementationName();
1829 [ + - ]: 138 : if( pSubServiceName )
1830 : 138 : m_aSubServiceName = OUString::createFromAscii( pSubServiceName );
1831 : :
1832 [ + - ][ + - ]: 138 : GetNamespaceMap().Add( GetXMLToken(XML_NP_OFFICE), GetXMLToken(XML_N_OFFICE_OOO), XML_NAMESPACE_OFFICE );
[ + - ]
1833 [ + - ][ + - ]: 138 : GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_OFFICE), GetXMLToken(XML_N_OFFICE), XML_NAMESPACE_OFFICE );
[ + - ]
1834 : :
1835 [ + - ][ + - ]: 138 : GetNamespaceMap().Add( GetXMLToken(XML_NP_META), GetXMLToken(XML_N_META_OOO), XML_NAMESPACE_META );
[ + - ]
1836 [ + - ][ + - ]: 138 : GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_META), GetXMLToken(XML_N_META), XML_NAMESPACE_META );
[ + - ]
1837 : :
1838 [ + - ][ + - ]: 138 : GetNamespaceMap().Add( GetXMLToken(XML_NP_STYLE), GetXMLToken(XML_N_STYLE_OOO), XML_NAMESPACE_STYLE );
[ + - ]
1839 [ + - ][ + - ]: 138 : GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_STYLE), GetXMLToken(XML_N_STYLE), XML_NAMESPACE_STYLE );
[ + - ]
1840 : :
1841 [ + - ][ + - ]: 138 : GetNamespaceMap().Add( GetXMLToken(XML_NP_NUMBER), GetXMLToken(XML_N_NUMBER_OOO), XML_NAMESPACE_NUMBER );
[ + - ]
1842 [ + - ][ + - ]: 138 : GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_NUMBER), GetXMLToken(XML_N_NUMBER), XML_NAMESPACE_NUMBER );
[ + - ]
1843 : :
1844 [ + - ][ + - ]: 138 : GetNamespaceMap().Add( GetXMLToken(XML_NP_CONFIG), GetXMLToken(XML_N_CONFIG_OOO), XML_NAMESPACE_CONFIG );
[ + - ]
1845 [ + - ][ + - ]: 138 : GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_CONFIG), GetXMLToken(XML_N_CONFIG), XML_NAMESPACE_CONFIG );
[ + - ]
1846 : :
1847 [ + - ][ + - ]: 138 : GetNamespaceMap().Add( GetXMLToken(XML_NP_TEXT), GetXMLToken(XML_N_TEXT_OOO), XML_NAMESPACE_TEXT );
[ + - ]
1848 [ + - ][ + - ]: 138 : GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_TEXT), GetXMLToken(XML_N_TEXT), XML_NAMESPACE_TEXT );
[ + - ]
1849 : :
1850 [ + - ][ + - ]: 138 : GetNamespaceMap().Add( GetXMLToken(XML_NP_TABLE), GetXMLToken(XML_N_TABLE_OOO), XML_NAMESPACE_TABLE );
[ + - ]
1851 [ + - ][ + - ]: 138 : GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_TABLE), GetXMLToken(XML_N_TABLE), XML_NAMESPACE_TABLE );
[ + - ]
1852 : :
1853 [ + - ][ + - ]: 138 : GetNamespaceMap().Add( GetXMLToken(XML_NP_DRAW), GetXMLToken(XML_N_DRAW_OOO), XML_NAMESPACE_DRAW );
[ + - ]
1854 [ + - ][ + - ]: 138 : GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_DRAW), GetXMLToken(XML_N_DRAW), XML_NAMESPACE_DRAW );
[ + - ]
1855 : :
1856 [ + - ][ + - ]: 138 : GetNamespaceMap().Add( GetXMLToken(XML_NP_DR3D), GetXMLToken(XML_N_DR3D_OOO), XML_NAMESPACE_DR3D );
[ + - ]
1857 [ + - ][ + - ]: 138 : GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_DR3D), GetXMLToken(XML_N_DR3D), XML_NAMESPACE_DR3D );
[ + - ]
1858 : :
1859 [ + - ][ + - ]: 138 : GetNamespaceMap().Add( GetXMLToken(XML_NP_PRESENTATION), GetXMLToken(XML_N_PRESENTATION_OOO), XML_NAMESPACE_PRESENTATION );
[ + - ]
1860 [ + - ][ + - ]: 138 : GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_PRESENTATION), GetXMLToken(XML_N_PRESENTATION), XML_NAMESPACE_PRESENTATION );
[ + - ]
1861 : :
1862 [ + - ][ + - ]: 138 : GetNamespaceMap().Add( GetXMLToken(XML_NP_CHART), GetXMLToken(XML_N_CHART_OOO), XML_NAMESPACE_CHART );
[ + - ]
1863 [ + - ][ + - ]: 138 : GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_CHART), GetXMLToken(XML_N_CHART), XML_NAMESPACE_CHART );
[ + - ]
1864 : :
1865 [ + - ][ + - ]: 138 : GetNamespaceMap().Add( GetXMLToken(XML_NP_FORM), GetXMLToken(XML_N_FORM_OOO), XML_NAMESPACE_FORM );
[ + - ]
1866 [ + - ][ + - ]: 138 : GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_FORM), GetXMLToken(XML_N_FORM), XML_NAMESPACE_FORM );
[ + - ]
1867 : :
1868 [ + - ][ + - ]: 138 : GetNamespaceMap().Add( GetXMLToken(XML_NP_SCRIPT), GetXMLToken(XML_N_SCRIPT_OOO), XML_NAMESPACE_SCRIPT );
[ + - ]
1869 [ + - ][ + - ]: 138 : GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_SCRIPT), GetXMLToken(XML_N_SCRIPT), XML_NAMESPACE_SCRIPT );
[ + - ]
1870 : :
1871 [ + - ][ + - ]: 138 : GetNamespaceMap().Add( GetXMLToken(XML_NP_FO), GetXMLToken(XML_N_FO), XML_NAMESPACE_FO );
[ + - ]
1872 [ + - ][ + - ]: 138 : GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_FO), GetXMLToken(XML_N_FO_COMPAT), XML_NAMESPACE_FO );
[ + - ]
1873 : :
1874 [ + - ][ + - ]: 138 : GetNamespaceMap().Add( GetXMLToken(XML_NP_SVG), GetXMLToken(XML_N_SVG), XML_NAMESPACE_SVG );
[ + - ]
1875 [ + - ][ + - ]: 138 : GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_SVG), GetXMLToken(XML_N_SVG_COMPAT), XML_NAMESPACE_SVG );
[ + - ]
1876 : :
1877 [ + + ]: 7866 : for( sal_uInt16 i=0; i<MAX_OOO_ACTIONS; ++i )
1878 : 7728 : m_aActions[i] = 0;
1879 : 138 : }
1880 : :
1881 : 138 : OOo2OasisTransformer::~OOo2OasisTransformer() throw()
1882 : : {
1883 [ + + ]: 7866 : for( sal_uInt16 i=0; i<MAX_OOO_ACTIONS; ++i )
1884 [ + + ][ + - ]: 7728 : delete m_aActions[i];
1885 [ + - ]: 138 : XMLEventOOoTransformerContext::FlushEventMap( m_pEventMap );
1886 [ - + ]: 276 : }
1887 : :
1888 : 590 : Any OOo2OasisTransformer::queryInterface( const Type& rType )
1889 : : throw (RuntimeException)
1890 : : {
1891 : 590 : Any aRet;
1892 [ + + ][ + - ]: 590 : if ( rType == ::getCppuType((Reference<XImporter> *)0) )
1893 : : {
1894 [ + - ]: 122 : Reference<XImporter> xThis( this );
1895 [ + - ]: 122 : aRet <<= xThis;
1896 : : }
1897 [ + - ][ + + ]: 468 : else if ( rType == ::getCppuType((Reference<XFilter> *)0) )
1898 : : {
1899 [ + - ]: 23 : Reference<XFilter> xThis( this );
1900 [ + - ]: 23 : aRet <<= xThis;
1901 : : }
1902 : : else
1903 : : {
1904 [ + - ]: 445 : aRet = XMLTransformerBase::queryInterface(rType);
1905 : : }
1906 : :
1907 : 590 : return aRet;
1908 : : }
1909 : :
1910 : : // XImporter
1911 : 116 : void SAL_CALL OOo2OasisTransformer::setTargetDocument(
1912 : : const Reference< XComponent >& xDoc )
1913 : : throw( IllegalArgumentException, RuntimeException)
1914 : : {
1915 [ + + ]: 116 : if( !GetDocHandler().is() )
1916 : : {
1917 : : // if initialize hasn't been called, then we have to call it now
1918 : : // to get the sub component initialized.
1919 [ + - ]: 28 : Sequence<Any> aArgs( 0 );
1920 [ + - ][ + - ]: 28 : Initialize( aArgs );
1921 : : }
1922 : :
1923 [ + - ]: 116 : mxModel.set( xDoc, UNO_QUERY );
1924 : :
1925 [ + - ]: 116 : Reference< XImporter > xImp( GetDocHandler(), UNO_QUERY );
1926 : : OSL_ENSURE( xImp.is(), "doc handler is not an importer" );
1927 [ + - ]: 116 : if( xImp.is() )
1928 [ + - ][ + - ]: 116 : xImp->setTargetDocument( xDoc );
1929 : 116 : }
1930 : :
1931 : : // XFilter
1932 : 0 : sal_Bool SAL_CALL OOo2OasisTransformer::filter(
1933 : : const Sequence< PropertyValue >& aDescriptor )
1934 : : throw ( RuntimeException)
1935 : : {
1936 [ # # ]: 0 : Reference< XFilter> xFilter( GetDocHandler(), UNO_QUERY );
1937 : : OSL_ENSURE( xFilter.is(), "doc handler is not a filter" );
1938 [ # # ]: 0 : if( xFilter.is() )
1939 [ # # ][ # # ]: 0 : return xFilter->filter( aDescriptor );
1940 : :
1941 : 0 : return sal_False;
1942 : : }
1943 : :
1944 : 0 : void SAL_CALL OOo2OasisTransformer::cancel( )
1945 : : throw ( RuntimeException)
1946 : : {
1947 [ # # ]: 0 : Reference< XFilter> xFilter( GetDocHandler(), UNO_QUERY );
1948 : : OSL_ENSURE( xFilter.is(), "doc handler is not a filter" );
1949 [ # # ]: 0 : if( xFilter.is() )
1950 [ # # ][ # # ]: 0 : xFilter->cancel();
1951 : 0 : }
1952 : :
1953 : : // XInitialize
1954 : 104 : void SAL_CALL OOo2OasisTransformer::initialize(
1955 : : const Sequence< Any >& rArguments )
1956 : : throw( Exception, RuntimeException )
1957 : : {
1958 : 104 : Initialize( rArguments );
1959 : 104 : }
1960 : :
1961 : 87 : void SAL_CALL OOo2OasisTransformer::startDocument( void )
1962 : : throw( SAXException, RuntimeException )
1963 : : {
1964 [ - + ]: 87 : if( !GetDocHandler().is() )
1965 : : {
1966 : : // if initialize hasn't been called, then we have to call it now
1967 : : // to get the sub component initialized.
1968 [ # # ]: 0 : Sequence<Any> aArgs( 0 );
1969 [ # # ][ # # ]: 0 : Initialize( aArgs );
1970 : : }
1971 : :
1972 : 87 : XMLTransformerBase::startDocument();
1973 : 87 : }
1974 : :
1975 : :
1976 : 132 : void SAL_CALL OOo2OasisTransformer::Initialize(
1977 : : const Sequence< Any >& rArguments )
1978 : : throw( Exception, RuntimeException )
1979 : : {
1980 : : OSL_ENSURE( !GetDocHandler().is(), "duplication initialization" );
1981 : :
1982 : 132 : Reference< XDocumentHandler > xDocHandler;
1983 [ + - ]: 132 : if( !m_aSubServiceName.isEmpty() )
1984 : : {
1985 : : Reference< XMultiServiceFactory > xFactory =
1986 [ + - ]: 132 : comphelper::getProcessServiceFactory();
1987 [ + - ]: 132 : if( xFactory.is() )
1988 : : {
1989 : : try
1990 : : {
1991 : : // get filter component
1992 : : xDocHandler = Reference< XDocumentHandler >(
1993 [ + - ]: 132 : xFactory->createInstanceWithArguments( m_aSubServiceName,
1994 : 132 : rArguments ),
1995 [ + - ][ + - ]: 132 : UNO_QUERY);
[ + - ][ # # ]
1996 : : }
1997 [ # # ]: 0 : catch( Exception& )
1998 : : {
1999 : : }
2000 : 132 : }
2001 : : }
2002 : :
2003 : : OSL_ENSURE( xDocHandler.is(), "can't instantiate filter component" );
2004 [ + - ]: 132 : if( xDocHandler.is() )
2005 : : {
2006 [ + - ]: 132 : Sequence<Any> aArgs( 1 + rArguments.getLength() );
2007 [ + - ][ + - ]: 132 : aArgs[0] <<= xDocHandler;
2008 [ + + ]: 400 : for(sal_Int32 i = 0; i < rArguments.getLength(); i++)
2009 [ + - ]: 268 : aArgs[i+1] = rArguments[i];
2010 [ + - ]: 132 : XMLTransformerBase::initialize( aArgs );
2011 : :
2012 : : OSL_ENSURE( GetDocHandler() == xDocHandler,
2013 [ + - ]: 132 : "duplicate doc handler" );
2014 : : }
2015 : : else
2016 : : {
2017 [ # # ]: 0 : XMLTransformerBase::initialize( rArguments );
2018 : 132 : }
2019 : 132 : }
2020 : :
2021 : : namespace
2022 : : {
2023 : : class theOOo2OasisTransformerUnoTunnelId : public rtl::Static< UnoTunnelIdInit, theOOo2OasisTransformerUnoTunnelId> {};
2024 : : }
2025 : :
2026 : 0 : const Sequence< sal_Int8 > & OOo2OasisTransformer::getUnoTunnelId() throw()
2027 : : {
2028 : 0 : return theOOo2OasisTransformerUnoTunnelId::get().getSeq();
2029 : : }
2030 : :
2031 : : // XUnoTunnel
2032 : 0 : sal_Int64 SAL_CALL OOo2OasisTransformer::getSomething( const Sequence< sal_Int8 >& rId )
2033 : : throw(RuntimeException)
2034 : : {
2035 [ # # # # ]: 0 : if( rId.getLength() == 16
[ # # ]
2036 : 0 : && 0 == memcmp( getUnoTunnelId().getConstArray(),
2037 : 0 : rId.getConstArray(), 16 ) )
2038 : : {
2039 : 0 : return reinterpret_cast< sal_Int64 >( this );
2040 : : }
2041 : : else
2042 : : {
2043 : 0 : return (sal_Int64)0;
2044 : : }
2045 : : }
2046 : :
2047 : : // XServiceInfo
2048 : 4 : OUString SAL_CALL OOo2OasisTransformer::getImplementationName()
2049 : : throw(RuntimeException)
2050 : : {
2051 : 4 : return m_aImplName;
2052 : : }
2053 : :
2054 : 0 : sal_Bool SAL_CALL OOo2OasisTransformer::supportsService( const OUString& )
2055 : : throw(RuntimeException)
2056 : : {
2057 : 0 : return sal_False;
2058 : : }
2059 : :
2060 : 0 : Sequence< OUString > SAL_CALL OOo2OasisTransformer::getSupportedServiceNames( )
2061 : : throw(RuntimeException)
2062 : : {
2063 : 0 : Sequence<OUString> aSeq(0);
2064 : 0 : return aSeq;
2065 : : }
2066 : :
2067 : : // XTypeProvider
2068 : : Sequence< ::com::sun::star::uno::Type > SAL_CALL
2069 : 0 : OOo2OasisTransformer::getTypes() throw(RuntimeException)
2070 : : {
2071 : : Sequence< ::com::sun::star::uno::Type > aTypes(
2072 : 0 : XMLTransformerBase::getTypes() );
2073 : :
2074 : 0 : sal_Int32 nIndex = aTypes.getLength();
2075 [ # # ]: 0 : aTypes.realloc( nIndex + 2 );
2076 : :
2077 [ # # ]: 0 : ::com::sun::star::uno::Type* pTypes = aTypes.getArray();
2078 [ # # ]: 0 : pTypes[nIndex++] = ::getCppuType( static_cast< Reference< XImporter > * >( 0 ) );
2079 [ # # ]: 0 : pTypes[nIndex++] = ::getCppuType( static_cast< Reference< XFilter > * >( 0 ) );
2080 : :
2081 : 0 : return aTypes;
2082 : : }
2083 : :
2084 : : // Service registration
2085 : :
2086 : 82 : OUString SAL_CALL OOo2OasisTransformer_getImplementationName() throw()
2087 : : {
2088 : : return OUString( RTL_CONSTASCII_USTRINGPARAM(
2089 : 82 : "com.sun.star.comp.OOo2OasisTransformer" ) );
2090 : : }
2091 : :
2092 : 0 : Sequence< OUString > SAL_CALL OOo2OasisTransformer_getSupportedServiceNames() throw()
2093 : : {
2094 : 0 : const OUString aServiceName( OOo2OasisTransformer_getImplementationName() );
2095 [ # # ]: 0 : const Sequence< OUString > aSeq( &aServiceName, 1 );
2096 : 0 : return aSeq;
2097 : : }
2098 : :
2099 : 0 : Reference< XInterface > SAL_CALL OOo2OasisTransformer_createInstance(
2100 : : const Reference< XMultiServiceFactory > & )
2101 : : throw( Exception )
2102 : : {
2103 : 0 : return (cppu::OWeakObject*)new OOo2OasisTransformer();
2104 : : }
2105 : :
2106 : : #define OOO_IMPORTER( className, implName, subServiceName ) \
2107 : : OUString SAL_CALL className##_getImplementationName() throw() \
2108 : : { \
2109 : : return OUString( RTL_CONSTASCII_USTRINGPARAM( implName ) ); \
2110 : : } \
2111 : : \
2112 : : Sequence< OUString > SAL_CALL className##_getSupportedServiceNames() throw()\
2113 : : { \
2114 : : const OUString aServiceName( className##_getImplementationName() ); \
2115 : : const Sequence< OUString > aSeq( &aServiceName, 1 ); \
2116 : : return aSeq; \
2117 : : } \
2118 : : \
2119 : : Reference< XInterface > SAL_CALL className##_createInstance( \
2120 : : const Reference< XMultiServiceFactory > & ) \
2121 : : throw( Exception ) \
2122 : : { \
2123 : : return (cppu::OWeakObject*)new OOo2OasisTransformer( implName, \
2124 : : subServiceName ); \
2125 : : }
2126 : :
2127 [ + - ]: 78 : OOO_IMPORTER( XMLWriterImportOOO,
2128 : : "com.sun.star.comp.Writer.XMLImporter",
2129 : 78 : "com.sun.star.comp.Writer.XMLOasisImporter" )
2130 [ + - ]: 62 : OOO_IMPORTER( XMLWriterStylesImportOOO,
2131 : : "com.sun.star.comp.Writer.XMLStylesImporter",
2132 : 62 : "com.sun.star.comp.Writer.XMLOasisStylesImporter" )
2133 [ + - ]: 66 : OOO_IMPORTER( XMLWriterContentImportOOO,
2134 : : "com.sun.star.comp.Writer.XMLContentImporter",
2135 : 66 : "com.sun.star.comp.Writer.XMLOasisContentImporter" )
2136 [ + - ]: 82 : OOO_IMPORTER( XMLWriterMetaImportOOO,
2137 : : "com.sun.star.comp.Writer.XMLMetaImporter",
2138 : 82 : "com.sun.star.comp.Writer.XMLOasisMetaImporter" )
2139 [ + - ]: 88 : OOO_IMPORTER( XMLWriterSettingsImportOOO,
2140 : : "com.sun.star.comp.Writer.XMLSettingsImporter",
2141 : 88 : "com.sun.star.comp.Writer.XMLOasisSettingsImporter" )
2142 : :
2143 [ # # ]: 0 : OOO_IMPORTER( XMLImpressImportOOO,
2144 : : "com.sun.star.comp.Impress.XMLImporter",
2145 : 0 : "com.sun.star.comp.Impress.XMLOasisImporter" )
2146 [ + - ]: 20 : OOO_IMPORTER( XMLImpressStylesImportOOO,
2147 : : "com.sun.star.comp.Impress.XMLStylesImporter",
2148 : 20 : "com.sun.star.comp.Impress.XMLOasisStylesImporter" )
2149 [ + - ]: 26 : OOO_IMPORTER( XMLImpressContentImportOOO,
2150 : : "com.sun.star.comp.Impress.XMLContentImporter",
2151 : 26 : "com.sun.star.comp.Impress.XMLOasisContentImporter" )
2152 [ + - ]: 30 : OOO_IMPORTER( XMLImpressMetaImportOOO,
2153 : : "com.sun.star.comp.Impress.XMLMetaImporter",
2154 : 30 : "com.sun.star.comp.Impress.XMLOasisMetaImporter" )
2155 [ + - ]: 22 : OOO_IMPORTER( XMLImpressSettingsImportOOO,
2156 : : "com.sun.star.comp.Impress.XMLSettingsImporter",
2157 : 22 : "com.sun.star.comp.Impress.XMLOasisSettingsImporter" )
2158 : :
2159 [ + - ]: 26 : OOO_IMPORTER( XMLDrawImportOOO,
2160 : : "com.sun.star.comp.Draw.XMLImporter",
2161 : 26 : "com.sun.star.comp.Draw.XMLOasisImporter" )
2162 [ + - ]: 36 : OOO_IMPORTER( XMLDrawStylesImportOOO,
2163 : : "com.sun.star.comp.Draw.XMLStylesImporter",
2164 : 36 : "com.sun.star.comp.Draw.XMLOasisStylesImporter" )
2165 [ + - ]: 42 : OOO_IMPORTER( XMLDrawContentImportOOO,
2166 : : "com.sun.star.comp.Draw.XMLContentImporter",
2167 : 42 : "com.sun.star.comp.Draw.XMLOasisContentImporter" )
2168 [ + - ]: 34 : OOO_IMPORTER( XMLDrawMetaImportOOO,
2169 : : "com.sun.star.comp.Draw.XMLMetaImporter",
2170 : 34 : "com.sun.star.comp.Draw.XMLOasisMetaImporter" )
2171 [ + - ]: 36 : OOO_IMPORTER( XMLDrawSettingsImportOOO,
2172 : : "com.sun.star.comp.Draw.XMLSettingsImporter",
2173 : 36 : "com.sun.star.comp.Draw.XMLOasisSettingsImporter" )
2174 : :
2175 [ # # ]: 60 : OOO_IMPORTER( XMLCalcImportOOO,
2176 : : "com.sun.star.comp.Calc.XMLImporter",
2177 : 60 : "com.sun.star.comp.Calc.XMLOasisImporter" )
2178 [ + - ]: 82 : OOO_IMPORTER( XMLCalcStylesImportOOO,
2179 : : "com.sun.star.comp.Calc.XMLStylesImporter",
2180 : 82 : "com.sun.star.comp.Calc.XMLOasisStylesImporter" )
2181 [ + - ]: 83 : OOO_IMPORTER( XMLCalcContentImportOOO,
2182 : : "com.sun.star.comp.Calc.XMLContentImporter",
2183 : 83 : "com.sun.star.comp.Calc.XMLOasisContentImporter" )
2184 [ + - ]: 86 : OOO_IMPORTER( XMLCalcMetaImportOOO,
2185 : : "com.sun.star.comp.Calc.XMLMetaImporter",
2186 : 86 : "com.sun.star.comp.Calc.XMLOasisMetaImporter" )
2187 [ + - ]: 91 : OOO_IMPORTER( XMLCalcSettingsImportOOO,
2188 : : "com.sun.star.comp.Calc.XMLSettingsImporter",
2189 : 91 : "com.sun.star.comp.Calc.XMLOasisSettingsImporter" )
2190 : :
2191 [ # # ]: 28 : OOO_IMPORTER( XMLChartImportOOO,
2192 : : "com.sun.star.comp.Chart.XMLImporter",
2193 : 28 : "com.sun.star.comp.Chart.XMLOasisImporter" )
2194 [ + - ]: 42 : OOO_IMPORTER( XMLChartStylesImportOOO,
2195 : : "com.sun.star.comp.Chart.XMLStylesImporter",
2196 : 42 : "com.sun.star.comp.Chart.XMLOasisStylesImporter" )
2197 [ + - ]: 44 : OOO_IMPORTER( XMLChartContentImportOOO,
2198 : : "com.sun.star.comp.Chart.XMLContentImporter",
2199 : 44 : "com.sun.star.comp.Chart.XMLOasisContentImporter" )
2200 : :
2201 [ + - ]: 84 : OOO_IMPORTER( XMLMathMetaImportOOO,
2202 : : "com.sun.star.comp.Math.XMLMetaImporter",
2203 : 84 : "com.sun.star.comp.Math.XMLOasisMetaImporter" )
2204 [ + - ]: 86 : OOO_IMPORTER( XMLMathSettingsImportOOO,
2205 : : "com.sun.star.comp.Math.XMLSettingsImporter",
2206 : 86 : "com.sun.star.comp.Math.XMLOasisSettingsImporter" )
2207 : :
2208 [ # # ]: 76 : OOO_IMPORTER( XMLMetaImportOOO,
2209 : : "com.sun.star.document.XMLMetaImporter",
2210 : 76 : "com.sun.star.document.XMLOasisMetaImporter" )
2211 : :
2212 [ + - ][ + - ]: 121 : OOO_IMPORTER( XMLAutoTextEventImportOOO,
[ # # ]
2213 : : "com.sun.star.comp.Writer.XMLAutotextEventsImporter",
2214 : 76 : "com.sun.star.comp.Writer.XMLOasisAutotextEventsImporter" )
2215 : :
2216 : : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|