1*cdf0e10cSrcweir /*************************************************************************
2*cdf0e10cSrcweir  *
3*cdf0e10cSrcweir  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir  *
5*cdf0e10cSrcweir  * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir  *
7*cdf0e10cSrcweir  * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir  *
9*cdf0e10cSrcweir  * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir  *
11*cdf0e10cSrcweir  * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir  * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir  * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir  *
15*cdf0e10cSrcweir  * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir  * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir  * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir  *
21*cdf0e10cSrcweir  * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir  * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir  * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir  * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir  *
26*cdf0e10cSrcweir  ************************************************************************/
27*cdf0e10cSrcweir 
28*cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
29*cdf0e10cSrcweir #include "precompiled_xmloff.hxx"
30*cdf0e10cSrcweir #include <com/sun/star/beans/XPropertySetInfo.hpp>
31*cdf0e10cSrcweir #include <rtl/uuid.h>
32*cdf0e10cSrcweir #include <rtl/ustrbuf.hxx>
33*cdf0e10cSrcweir #include <xmloff/nmspmap.hxx>
34*cdf0e10cSrcweir #include "xmloff/xmlnmspe.hxx"
35*cdf0e10cSrcweir #include <xmloff/xmltoken.hxx>
36*cdf0e10cSrcweir #include "DeepTContext.hxx"
37*cdf0e10cSrcweir #include "MetaTContext.hxx"
38*cdf0e10cSrcweir #include "DocumentTContext.hxx"
39*cdf0e10cSrcweir #ifndef _XMLOFF_NOTESCONTEXT_HXX
40*cdf0e10cSrcweir #include "NotesTContext.hxx"
41*cdf0e10cSrcweir #endif
42*cdf0e10cSrcweir #include "StyleOASISTContext.hxx"
43*cdf0e10cSrcweir #include "FrameOASISTContext.hxx"
44*cdf0e10cSrcweir #include "EventOASISTContext.hxx"
45*cdf0e10cSrcweir #include "DlgOASISTContext.hxx"
46*cdf0e10cSrcweir #ifndef _XMLOFF_CONTROLOASISTCONTEXT_HXX
47*cdf0e10cSrcweir #include "ControlOASISTContext.hxx"
48*cdf0e10cSrcweir #endif
49*cdf0e10cSrcweir #include "FormPropOASISTContext.hxx"
50*cdf0e10cSrcweir #include "ChartOASISTContext.hxx"
51*cdf0e10cSrcweir #include "ChartPlotAreaOASISTContext.hxx"
52*cdf0e10cSrcweir #include "MutableAttrList.hxx"
53*cdf0e10cSrcweir #include "ElemTransformerAction.hxx"
54*cdf0e10cSrcweir #include "AttrTransformerAction.hxx"
55*cdf0e10cSrcweir #include "TransformerActions.hxx"
56*cdf0e10cSrcweir #include "FamilyType.hxx"
57*cdf0e10cSrcweir #include <xmloff/xmluconv.hxx>
58*cdf0e10cSrcweir #include "Oasis2OOo.hxx"
59*cdf0e10cSrcweir 
60*cdf0e10cSrcweir using ::rtl::OUString;
61*cdf0e10cSrcweir using ::rtl::OUStringBuffer;
62*cdf0e10cSrcweir using namespace ::osl;
63*cdf0e10cSrcweir using namespace ::xmloff::token;
64*cdf0e10cSrcweir using namespace ::com::sun::star::uno;
65*cdf0e10cSrcweir using namespace ::com::sun::star::lang;
66*cdf0e10cSrcweir using namespace ::com::sun::star::xml::sax;
67*cdf0e10cSrcweir using namespace ::com::sun::star::beans;
68*cdf0e10cSrcweir 
69*cdf0e10cSrcweir OUString SAL_CALL Oasis2OOoTransformer_getImplementationName() throw();
70*cdf0e10cSrcweir 
71*cdf0e10cSrcweir enum XMLUserDefinedTransformerAction
72*cdf0e10cSrcweir {
73*cdf0e10cSrcweir 	XML_ETACTION_META=XML_ETACTION_USER_DEFINED,
74*cdf0e10cSrcweir 	XML_ETACTION_DOCUMENT,
75*cdf0e10cSrcweir     XML_ETACTION_BODY,
76*cdf0e10cSrcweir 	XML_ETACTION_NOTES,
77*cdf0e10cSrcweir 	XML_ETACTION_TABLE,
78*cdf0e10cSrcweir 	XML_ETACTION_STYLE,
79*cdf0e10cSrcweir 	XML_ETACTION_STYLE_RENAME,
80*cdf0e10cSrcweir 	XML_ETACTION_FRAME,
81*cdf0e10cSrcweir 	XML_ETACTION_EVENT,
82*cdf0e10cSrcweir 	XML_ETACTION_DLG,
83*cdf0e10cSrcweir 	XML_ETACTION_TAB_STOP,
84*cdf0e10cSrcweir 	XML_ETACTION_FORM_CONTROL,
85*cdf0e10cSrcweir 	XML_ETACTION_FORM_PROPERTY,
86*cdf0e10cSrcweir 	XML_ETACTION_CONFIG_ITEM,
87*cdf0e10cSrcweir 	XML_ETACTION_TRACKED_CHANGES,
88*cdf0e10cSrcweir 	XML_ETACTION_CHART,
89*cdf0e10cSrcweir 	XML_ETACTION_CHART_PLOT_AREA
90*cdf0e10cSrcweir };
91*cdf0e10cSrcweir 
92*cdf0e10cSrcweir #define ENTRY3( n, l, a, p1, p2, p3 ) \
93*cdf0e10cSrcweir 	{ XML_NAMESPACE_##n, XML_##l, a, p1, p2, p3 }
94*cdf0e10cSrcweir #define ENTRY3QNQ( n, l, a, n1, l1, p2, n3, l3 ) \
95*cdf0e10cSrcweir 	ENTRY3( n, l, a, XMLTransformerActionInit::QNameParam( n1, l1 ), \
96*cdf0e10cSrcweir 			p2, XMLTransformerActionInit::QNameParam( n3, l3 ) )
97*cdf0e10cSrcweir 
98*cdf0e10cSrcweir #define ENTRY2( n, l, a, p1, p2 ) \
99*cdf0e10cSrcweir 	ENTRY3( n, l, a, p1, p2, 0 )
100*cdf0e10cSrcweir #define ENTRY2QQ( n, l, a, n1, l1, n2, l2 ) \
101*cdf0e10cSrcweir 	ENTRY2( n, l, a, XMLTransformerActionInit::QNameParam( n1, l1 ), \
102*cdf0e10cSrcweir 			XMLTransformerActionInit::QNameParam( n2, l2 ) )
103*cdf0e10cSrcweir #define ENTRY2QN( n, l, a, n1, l1, p2 ) \
104*cdf0e10cSrcweir 	ENTRY2( n, l, a, XMLTransformerActionInit::QNameParam( n1, l1 ), p2 )
105*cdf0e10cSrcweir 
106*cdf0e10cSrcweir #define ENTRY1( n, l, a, p1 ) \
107*cdf0e10cSrcweir 	ENTRY3( n, l, a, p1, 0, 0 )
108*cdf0e10cSrcweir #define ENTRY1Q( n, l, a, p1, t1 ) \
109*cdf0e10cSrcweir 	ENTRY1( n, l, a, XMLTransformerActionInit::QNameParam( p1, t1 ) )
110*cdf0e10cSrcweir 
111*cdf0e10cSrcweir #define ENTRY0( n, l, a ) \
112*cdf0e10cSrcweir 	ENTRY3( n, l, a, 0, 0, 0 )
113*cdf0e10cSrcweir 
114*cdf0e10cSrcweir // BM: a macro to put two tokens into one sal_Int32 for the action
115*cdf0e10cSrcweir // XML_ATACTION_RENAME_ATTRIBUTE
116*cdf0e10cSrcweir #define RENAME_ENTRY( f, s ) \
117*cdf0e10cSrcweir     (static_cast< sal_Int32 >(f) | (static_cast< sal_Int32 >(s) << 16))
118*cdf0e10cSrcweir 
119*cdf0e10cSrcweir static XMLTransformerActionInit aActionTable[] =
120*cdf0e10cSrcweir {
121*cdf0e10cSrcweir 	// add office:class from <office:document> and <office:document-content>
122*cdf0e10cSrcweir 	ENTRY0( OFFICE, DOCUMENT, XML_ETACTION_DOCUMENT ),
123*cdf0e10cSrcweir 	ENTRY0( OFFICE, DOCUMENT_CONTENT, XML_ETACTION_DOCUMENT ),
124*cdf0e10cSrcweir 	ENTRY1Q( OOO, AUTO_TEXT_EVENTS, XML_ETACTION_RENAME_ELEM,
125*cdf0e10cSrcweir 						  XML_NAMESPACE_OFFICE, XML_AUTO_TEXT_EVENTS),
126*cdf0e10cSrcweir 
127*cdf0e10cSrcweir 	// add <meta:keywords>
128*cdf0e10cSrcweir 	ENTRY0( OFFICE, META, XML_ETACTION_META ),
129*cdf0e10cSrcweir 
130*cdf0e10cSrcweir     // rename <office:scripts> to <office:script>
131*cdf0e10cSrcweir     ENTRY1Q( OFFICE, SCRIPTS, XML_ETACTION_RENAME_ELEM,
132*cdf0e10cSrcweir                         XML_NAMESPACE_OFFICE, XML_SCRIPT ),
133*cdf0e10cSrcweir 
134*cdf0e10cSrcweir 	// rename <office:script> to <office:script-data> and process attributes
135*cdf0e10cSrcweir     ENTRY2QN( OFFICE, SCRIPT, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
136*cdf0e10cSrcweir                         XML_NAMESPACE_OFFICE, XML_SCRIPT_DATA,
137*cdf0e10cSrcweir                         OASIS_SCRIPT_ACTIONS ),
138*cdf0e10cSrcweir 
139*cdf0e10cSrcweir     // rename <ooo:libraries> to <script:libraries>
140*cdf0e10cSrcweir     ENTRY1Q( OOO, LIBRARIES, XML_ETACTION_RENAME_ELEM,
141*cdf0e10cSrcweir                         XML_NAMESPACE_SCRIPT, XML_LIBRARIES ),
142*cdf0e10cSrcweir 
143*cdf0e10cSrcweir     // rename <ooo:library-linked> to <script:library-linked> and process attributes
144*cdf0e10cSrcweir     ENTRY2QN( OOO, LIBRARY_LINKED, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
145*cdf0e10cSrcweir                         XML_NAMESPACE_SCRIPT, XML_LIBRARY_LINKED,
146*cdf0e10cSrcweir                         OASIS_SCRIPT_ACTIONS ),
147*cdf0e10cSrcweir 
148*cdf0e10cSrcweir     // rename <ooo:library-embedded> to <script:library-embedded> and process attributes
149*cdf0e10cSrcweir     ENTRY2QN( OOO, LIBRARY_EMBEDDED, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
150*cdf0e10cSrcweir                         XML_NAMESPACE_SCRIPT, XML_LIBRARY_EMBEDDED,
151*cdf0e10cSrcweir                         OASIS_SCRIPT_ACTIONS ),
152*cdf0e10cSrcweir 
153*cdf0e10cSrcweir     // rename <ooo:module> to <script:module> and process attributes
154*cdf0e10cSrcweir     ENTRY2QN( OOO, MODULE, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
155*cdf0e10cSrcweir                         XML_NAMESPACE_SCRIPT, XML_MODULE,
156*cdf0e10cSrcweir                         OASIS_SCRIPT_ACTIONS ),
157*cdf0e10cSrcweir 
158*cdf0e10cSrcweir     // rename <ooo:source-code> to <script:source-code>
159*cdf0e10cSrcweir     ENTRY1Q( OOO, SOURCE_CODE, XML_ETACTION_RENAME_ELEM,
160*cdf0e10cSrcweir                         XML_NAMESPACE_SCRIPT, XML_SOURCE_CODE ),
161*cdf0e10cSrcweir 
162*cdf0e10cSrcweir 	ENTRY0( OFFICE, BODY, XML_ETACTION_BODY ),
163*cdf0e10cSrcweir 
164*cdf0e10cSrcweir 	// rename <office:font-face-decls> to <office:font-decl>,
165*cdf0e10cSrcweir 	// rename <style:font-face> to <style:font-decl>, process attrs
166*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, FONT_FACE_DECLS, XML_ETACTION_RENAME_ELEM,
167*cdf0e10cSrcweir 						XML_NAMESPACE_OFFICE, XML_FONT_DECLS ),
168*cdf0e10cSrcweir 	ENTRY2QN( STYLE, FONT_FACE, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
169*cdf0e10cSrcweir 						XML_NAMESPACE_STYLE, XML_FONT_DECL,
170*cdf0e10cSrcweir 		   				OASIS_FONT_FACE_ACTIONS ),
171*cdf0e10cSrcweir 
172*cdf0e10cSrcweir 	// remove genre element
173*cdf0e10cSrcweir 	ENTRY0( OFFICE, TEXT, XML_ETACTION_COPY_CONTENT ),
174*cdf0e10cSrcweir 	ENTRY0( OFFICE, DRAWING, XML_ETACTION_COPY_CONTENT ),
175*cdf0e10cSrcweir 	ENTRY0( OFFICE, PRESENTATION, XML_ETACTION_COPY_CONTENT ),
176*cdf0e10cSrcweir 	ENTRY0( OFFICE, SPREADSHEET, XML_ETACTION_COPY_CONTENT ),
177*cdf0e10cSrcweir 	ENTRY0( OFFICE, CHART, XML_ETACTION_COPY_CONTENT ),
178*cdf0e10cSrcweir 	ENTRY0( OFFICE, IMAGE, XML_ETACTION_COPY_CONTENT ),
179*cdf0e10cSrcweir 
180*cdf0e10cSrcweir 	// rename <style:page-layout> to <style:page-master>
181*cdf0e10cSrcweir 	// ENTRY1Q( STYLE, PAGE_LAYOUT, RENAME_ELEM,
182*cdf0e10cSrcweir 	//						XML_NAMESPACE_STYLE, XML_PAGE_MASTER ),
183*cdf0e10cSrcweir 	ENTRY1( STYLE, MASTER_PAGE, XML_ETACTION_PROC_ATTRS,
184*cdf0e10cSrcweir 						OASIS_MASTER_PAGE_ACTIONS ),
185*cdf0e10cSrcweir 
186*cdf0e10cSrcweir 	// merge <style:*-properties> into <style:properties> and do other
187*cdf0e10cSrcweir 	// styles processing
188*cdf0e10cSrcweir 	ENTRY1( STYLE, STYLE, XML_ETACTION_STYLE,
189*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_END ),
190*cdf0e10cSrcweir 	ENTRY1( STYLE, DEFAULT_STYLE, XML_ETACTION_STYLE,
191*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_END ),
192*cdf0e10cSrcweir 	ENTRY2QN( STYLE, PAGE_LAYOUT, XML_ETACTION_STYLE_RENAME,
193*cdf0e10cSrcweir 						XML_NAMESPACE_STYLE, XML_PAGE_MASTER,
194*cdf0e10cSrcweir 		  				XML_FAMILY_TYPE_PAGE_LAYOUT ),
195*cdf0e10cSrcweir 	ENTRY1( NUMBER, NUMBER_STYLE, XML_ETACTION_STYLE,
196*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_DATA ),
197*cdf0e10cSrcweir 	ENTRY1( NUMBER, CURRENCY_STYLE, XML_ETACTION_STYLE,
198*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_DATA ),
199*cdf0e10cSrcweir 	ENTRY1( NUMBER, PERCENTAGE_STYLE, XML_ETACTION_STYLE,
200*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_DATA ),
201*cdf0e10cSrcweir 	ENTRY1( NUMBER, DATE_STYLE, XML_ETACTION_STYLE,
202*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_DATA ),
203*cdf0e10cSrcweir 	ENTRY1( NUMBER, TIME_STYLE, XML_ETACTION_STYLE,
204*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_DATA ),
205*cdf0e10cSrcweir 	ENTRY1( NUMBER, BOOLEAN_STYLE, XML_ETACTION_STYLE,
206*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_DATA ),
207*cdf0e10cSrcweir 	ENTRY1( NUMBER, TEXT_STYLE, XML_ETACTION_STYLE,
208*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_DATA ),
209*cdf0e10cSrcweir 	ENTRY1( TEXT, LIST_STYLE, XML_ETACTION_STYLE,
210*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_LIST ),
211*cdf0e10cSrcweir //	ENTRY0( TEXT, OUTLINE_STYLE, STYLE ),
212*cdf0e10cSrcweir 
213*cdf0e10cSrcweir 	ENTRY1( STYLE, HEADER_STYLE, XML_ETACTION_STYLE,
214*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_HEADER_FOOTER ),
215*cdf0e10cSrcweir 	ENTRY1( STYLE, FOOTER_STYLE, XML_ETACTION_STYLE,
216*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_HEADER_FOOTER ),
217*cdf0e10cSrcweir 	ENTRY1( TEXT, LIST_LEVEL_STYLE_NUMBER, XML_ETACTION_STYLE,
218*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_LIST ),
219*cdf0e10cSrcweir 	ENTRY1( TEXT, LIST_LEVEL_STYLE_BULLET, XML_ETACTION_STYLE,
220*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_LIST ),
221*cdf0e10cSrcweir 	ENTRY1( TEXT, LIST_LEVEL_STYLE_IMAGE, XML_ETACTION_STYLE,
222*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_LIST ),
223*cdf0e10cSrcweir 	ENTRY1( TEXT, OUTLINE_LEVEL_STYLE, XML_ETACTION_STYLE,
224*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_LIST ),
225*cdf0e10cSrcweir 	ENTRY1( DRAW, GRADIENT, XML_ETACTION_STYLE,
226*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_GRADIENT ),
227*cdf0e10cSrcweir 	ENTRY1( DRAW, FILL_IMAGE, XML_ETACTION_STYLE,
228*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_FILL_IMAGE ),
229*cdf0e10cSrcweir 	ENTRY2QN( DRAW, OPACITY, XML_ETACTION_STYLE_RENAME,
230*cdf0e10cSrcweir 				XML_NAMESPACE_DRAW, XML_TRANSPARENCY,
231*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_GRADIENT ),
232*cdf0e10cSrcweir 	ENTRY1( DRAW, MARKER, XML_ETACTION_STYLE,
233*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_MARKER ),
234*cdf0e10cSrcweir 	ENTRY1( DRAW, HATCH, XML_ETACTION_STYLE,
235*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_HATCH ),
236*cdf0e10cSrcweir 	ENTRY1( DRAW, STROKE_DASH, XML_ETACTION_STYLE,
237*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_STROKE_DASH ),
238*cdf0e10cSrcweir 
239*cdf0e10cSrcweir 	// process <text:h/p>: process style-name attributes,
240*cdf0e10cSrcweir 	// rename <text:h>'s text:outline-level to text:level,
241*cdf0e10cSrcweir 	ENTRY1( TEXT, H, XML_ETACTION_PROC_ATTRS, OASIS_PARA_ACTIONS ),
242*cdf0e10cSrcweir 	ENTRY1( TEXT, P, XML_ETACTION_PROC_ATTRS, OASIS_PARA_ACTIONS ),
243*cdf0e10cSrcweir 
244*cdf0e10cSrcweir 	// process <test:list>'s text:style-name attributes
245*cdf0e10cSrcweir 	// rename <text:list> to <text:ordered-list> or <text:unordered-list>
246*cdf0e10cSrcweir 	// TODO: All list currenty are renamed to <text:ordered-list>
247*cdf0e10cSrcweir 	ENTRY2QN( TEXT, LIST, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
248*cdf0e10cSrcweir 			XML_NAMESPACE_TEXT, XML_ORDERED_LIST,
249*cdf0e10cSrcweir 		    OASIS_LIST_STYLE_REF_ACTIONS ),
250*cdf0e10cSrcweir 
251*cdf0e10cSrcweir 	// rename <text:note*> to <text:footnote*> or <text:endnote*>
252*cdf0e10cSrcweir 	ENTRY1( TEXT, NOTES_CONFIGURATION, XML_ETACTION_NOTES,
253*cdf0e10cSrcweir 													XML_NOTES_CONFIGURATION),
254*cdf0e10cSrcweir 	ENTRY1( TEXT, NOTE, XML_ETACTION_NOTES, XML_NOTE ),
255*cdf0e10cSrcweir 
256*cdf0e10cSrcweir 	// rename <text:footnote> and <text:endnote> to <text:note>
257*cdf0e10cSrcweir 	ENTRY1( TEXT, NOTE_REF, XML_ETACTION_NOTES, XML_NOTE_REF ),
258*cdf0e10cSrcweir 
259*cdf0e10cSrcweir 	// rename <text:tab> to <text:tab-stop>
260*cdf0e10cSrcweir 	ENTRY1Q( TEXT, TAB, XML_ETACTION_RENAME_ELEM,
261*cdf0e10cSrcweir 						XML_NAMESPACE_TEXT, XML_TAB_STOP ),
262*cdf0e10cSrcweir 
263*cdf0e10cSrcweir 
264*cdf0e10cSrcweir 	// replace <table:table tabke:is-sub-table> with <table:sub-table>
265*cdf0e10cSrcweir 	ENTRY0( TABLE, TABLE, XML_ETACTION_TABLE ),
266*cdf0e10cSrcweir 
267*cdf0e10cSrcweir 	// merge frame element
268*cdf0e10cSrcweir 	ENTRY0( DRAW, FRAME, XML_ETACTION_FRAME ),
269*cdf0e10cSrcweir 
270*cdf0e10cSrcweir 	// process events
271*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, EVENT_LISTENERS, XML_ETACTION_RENAME_ELEM,
272*cdf0e10cSrcweir 		  			XML_NAMESPACE_OFFICE, XML_EVENTS ),
273*cdf0e10cSrcweir 	ENTRY0( SCRIPT, EVENT_LISTENER, XML_ETACTION_EVENT ),
274*cdf0e10cSrcweir 	ENTRY0( SCRIPT, EVENT, XML_ETACTION_EVENT ),
275*cdf0e10cSrcweir 	ENTRY0( PRESENTATION, EVENT_LISTENER, XML_ETACTION_EVENT ),
276*cdf0e10cSrcweir 
277*cdf0e10cSrcweir 	// process Basic dialogs
278*cdf0e10cSrcweir 	ENTRY0( DLG, STYLE, XML_ETACTION_DLG ),
279*cdf0e10cSrcweir 
280*cdf0e10cSrcweir 	// process length attributes
281*cdf0e10cSrcweir 	ENTRY1( DRAW, RECT, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
282*cdf0e10cSrcweir 	ENTRY1( DRAW, LINE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
283*cdf0e10cSrcweir 	ENTRY1( DRAW, POLYLINE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
284*cdf0e10cSrcweir 	ENTRY1( DRAW, POLYGON, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
285*cdf0e10cSrcweir 	ENTRY1( DRAW, PATH, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
286*cdf0e10cSrcweir 	ENTRY1( DRAW, CIRCLE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
287*cdf0e10cSrcweir 	ENTRY1( DRAW, ELLIPSE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
288*cdf0e10cSrcweir 	ENTRY1( DRAW, CONNECTOR, XML_ETACTION_PROC_ATTRS, OASIS_CONNECTOR_ACTIONS ),
289*cdf0e10cSrcweir 	ENTRY1( DRAW, CAPTION, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
290*cdf0e10cSrcweir 	ENTRY1( DRAW, MEASURE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
291*cdf0e10cSrcweir 	ENTRY1( DRAW, CONTROL, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
292*cdf0e10cSrcweir 	ENTRY1( DRAW, PAGE_THUMBNAIL, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
293*cdf0e10cSrcweir 	ENTRY1( DRAW, G, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
294*cdf0e10cSrcweir //	ENTRY1( DRAW, FRAME, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
295*cdf0e10cSrcweir 	ENTRY1( DRAW, TEXT_BOX, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
296*cdf0e10cSrcweir 	ENTRY1( PRESENTATION, PLACEHOLDER, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
297*cdf0e10cSrcweir 	ENTRY1( DRAW, CONTOUR_POLYGON, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
298*cdf0e10cSrcweir 	ENTRY1( DRAW, CONTOUR_PATH, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
299*cdf0e10cSrcweir 	ENTRY1( DRAW, AREA_RECTANGLE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
300*cdf0e10cSrcweir 	ENTRY1( DRAW, AREA_CIRCLE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
301*cdf0e10cSrcweir 	ENTRY1( DRAW, AREA_POLYGON, XML_ETACTION_PROC_ATTRS, OASIS_DRAW_AREA_POLYGON_ACTIONS ),
302*cdf0e10cSrcweir 	ENTRY1( DRAW, GLUE_POINT, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
303*cdf0e10cSrcweir 	ENTRY1( DR3D, SCENE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
304*cdf0e10cSrcweir 	ENTRY1( DR3D, CUBE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
305*cdf0e10cSrcweir 	ENTRY1( DR3D, SPHERE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
306*cdf0e10cSrcweir 	ENTRY1( DR3D, EXTRUDE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
307*cdf0e10cSrcweir 	ENTRY1( DR3D, ROTATE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
308*cdf0e10cSrcweir 	ENTRY1( CHART, TITLE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
309*cdf0e10cSrcweir 	ENTRY1( CHART, SUBTITLE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
310*cdf0e10cSrcweir 	ENTRY1( CHART, FOOTER, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
311*cdf0e10cSrcweir 	ENTRY1( CHART, LEGEND, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
312*cdf0e10cSrcweir 	ENTRY1( CHART, WALL, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
313*cdf0e10cSrcweir 	ENTRY1( CHART, FLOOR, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
314*cdf0e10cSrcweir 	ENTRY1( CHART, AXIS, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
315*cdf0e10cSrcweir 	ENTRY1( CHART, GRID, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
316*cdf0e10cSrcweir 	ENTRY1( CHART, SERIES, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
317*cdf0e10cSrcweir 	ENTRY1( CHART, DATA_POINT, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
318*cdf0e10cSrcweir 	ENTRY1( CHART, MEAN_VALUE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
319*cdf0e10cSrcweir 	ENTRY1( CHART, ERROR_INDICATOR, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
320*cdf0e10cSrcweir 	ENTRY1( CHART, REGRESSION_CURVE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
321*cdf0e10cSrcweir 	ENTRY1( CHART, STOCK_GAIN_MARKER, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
322*cdf0e10cSrcweir 	ENTRY1( CHART, STOCK_LOSS_MARKER, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
323*cdf0e10cSrcweir 	ENTRY1( CHART, STOCK_RANGE_LINE, XML_ETACTION_PROC_ATTRS, OASIS_SHAPE_ACTIONS ),
324*cdf0e10cSrcweir 
325*cdf0e10cSrcweir 	ENTRY0( CHART, CHART, XML_ETACTION_CHART ),
326*cdf0e10cSrcweir     ENTRY0( CHART, PLOT_AREA, XML_ETACTION_CHART_PLOT_AREA ),
327*cdf0e10cSrcweir 
328*cdf0e10cSrcweir 	ENTRY0( CONFIG, CONFIG_ITEM, XML_ETACTION_CONFIG_ITEM ),
329*cdf0e10cSrcweir 	ENTRY1Q( TEXT, TRACKED_CHANGES, XML_ETACTION_TRACKED_CHANGES,
330*cdf0e10cSrcweir 						XML_NAMESPACE_TEXT, XML_PROTECTION_KEY ),
331*cdf0e10cSrcweir 	ENTRY1Q( TABLE, TRACKED_CHANGES, XML_ETACTION_TRACKED_CHANGES,
332*cdf0e10cSrcweir 						XML_NAMESPACE_TABLE, XML_PROTECTION_KEY ),
333*cdf0e10cSrcweir 
334*cdf0e10cSrcweir 	ENTRY1( TEXT, INDEX_ENTRY_TAB_STOP, XML_ETACTION_PROC_ATTRS,
335*cdf0e10cSrcweir 				  OASIS_INDEX_ENTRY_TAB_STOP_ACTIONS ),
336*cdf0e10cSrcweir 	ENTRY0( STYLE, TAB_STOP, XML_ETACTION_TAB_STOP ),
337*cdf0e10cSrcweir 	ENTRY1( STYLE, BACKGROUND_IMAGE, XML_ETACTION_PROC_ATTRS,
338*cdf0e10cSrcweir 		 			OASIS_BACKGROUND_IMAGE_ACTIONS  ),
339*cdf0e10cSrcweir 	ENTRY1( TEXT, LINENUMBERING_CONFIGURATION, XML_ETACTION_PROC_ATTRS,
340*cdf0e10cSrcweir 				  OASIS_LINENUMBERING_ACTIONS ),
341*cdf0e10cSrcweir 	ENTRY1( STYLE, FOOTNOTE_SEP, XML_ETACTION_PROC_ATTRS,
342*cdf0e10cSrcweir 				   OASIS_FOOTNOTE_SEP_ACTIONS ),
343*cdf0e10cSrcweir 	ENTRY1( STYLE, DROP_CAP, XML_ETACTION_PROC_ATTRS, OASIS_DROP_CAP_ACTIONS ),
344*cdf0e10cSrcweir 	ENTRY1( STYLE, COLUMNS, XML_ETACTION_PROC_ATTRS, OASIS_COLUMNS_ACTIONS ),
345*cdf0e10cSrcweir 	ENTRY1( STYLE, COLUMN, XML_ETACTION_PROC_ATTRS, OASIS_COLUMNS_ACTIONS ),
346*cdf0e10cSrcweir 
347*cdf0e10cSrcweir 	// process *:style-name attributes
348*cdf0e10cSrcweir 	ENTRY1( STYLE, MAP, XML_ETACTION_PROC_ATTRS, OASIS_MAP_STYLE_REF_ACTIONS ),
349*cdf0e10cSrcweir 	ENTRY1( TEXT, SPAN, XML_ETACTION_PROC_ATTRS, OASIS_TEXT_STYLE_REF_ACTIONS ),
350*cdf0e10cSrcweir 	ENTRY1( TEXT, A, XML_ETACTION_PROC_ATTRS, OASIS_TEXT_STYLE_REF_ACTIONS ),
351*cdf0e10cSrcweir 	ENTRY1( TEXT, RUBY_TEXT, XML_ETACTION_PROC_ATTRS,
352*cdf0e10cSrcweir 				OASIS_TEXT_STYLE_REF_ACTIONS ),
353*cdf0e10cSrcweir 	ENTRY1( TEXT, TABLE_OF_CONTENT_ENTRY_TEMPLATE, XML_ETACTION_PROC_ATTRS,
354*cdf0e10cSrcweir 				OASIS_PARA_STYLE_REF_ACTIONS ), /* generated entry */
355*cdf0e10cSrcweir 	ENTRY1( TEXT, ILLUSTRATION_INDEX_ENTRY_TEMPLATE, XML_ETACTION_PROC_ATTRS,
356*cdf0e10cSrcweir 				OASIS_PARA_STYLE_REF_ACTIONS ), /* generated entry */
357*cdf0e10cSrcweir 	ENTRY1( TEXT, TABLE_INDEX_ENTRY_TEMPLATE, XML_ETACTION_PROC_ATTRS,
358*cdf0e10cSrcweir 				OASIS_PARA_STYLE_REF_ACTIONS ), /* generated entry */
359*cdf0e10cSrcweir 	ENTRY1( TEXT, OBJECT_INDEX_ENTRY_TEMPLATE, XML_ETACTION_PROC_ATTRS,
360*cdf0e10cSrcweir 				OASIS_PARA_STYLE_REF_ACTIONS ), /* generated entry */
361*cdf0e10cSrcweir 	ENTRY1( TEXT, USER_INDEX_ENTRY_TEMPLATE, XML_ETACTION_PROC_ATTRS,
362*cdf0e10cSrcweir 				OASIS_PARA_STYLE_REF_ACTIONS ), /* generated entry */
363*cdf0e10cSrcweir 	ENTRY1( TEXT, ALPHABETICAL_INDEX_ENTRY_TEMPLATE, XML_ETACTION_PROC_ATTRS,
364*cdf0e10cSrcweir 				OASIS_PARA_STYLE_REF_ACTIONS ), /* generated entry */
365*cdf0e10cSrcweir 	ENTRY1( TEXT, BIBLIOGRAPHY_ENTRY_TEMPLATE, XML_ETACTION_PROC_ATTRS,
366*cdf0e10cSrcweir 				OASIS_PARA_STYLE_REF_ACTIONS ), /* generated entry */
367*cdf0e10cSrcweir 	ENTRY1( TEXT, INDEX_SOURCE_STYLE, XML_ETACTION_PROC_ATTRS,
368*cdf0e10cSrcweir 				OASIS_PARA_STYLE_REF_ACTIONS ), /* generated entry */
369*cdf0e10cSrcweir 	ENTRY1( TEXT, INDEX_TITLE_TEMPLATE, XML_ETACTION_PROC_ATTRS,
370*cdf0e10cSrcweir 				OASIS_PARA_STYLE_REF_ACTIONS ), /* generated entry */
371*cdf0e10cSrcweir 	ENTRY3QNQ( TEXT, INDEX_ENTRY_CHAPTER,
372*cdf0e10cSrcweir 			XML_ETACTION_RENAME_ELEM_PROC_ATTRS_COND,
373*cdf0e10cSrcweir 			XML_NAMESPACE_TEXT, XML_INDEX_ENTRY_CHAPTER_NUMBER,
374*cdf0e10cSrcweir 			OASIS_TEXT_STYLE_REF_ACTIONS ,
375*cdf0e10cSrcweir 		   	XML_NAMESPACE_TEXT, XML_TABLE_OF_CONTENT_ENTRY_TEMPLATE),
376*cdf0e10cSrcweir 	ENTRY1( TEXT, INDEX_ENTRY_TEXT, XML_ETACTION_PROC_ATTRS,
377*cdf0e10cSrcweir 				OASIS_TEXT_STYLE_REF_ACTIONS ), /* generated entry */
378*cdf0e10cSrcweir 	ENTRY1( TEXT, INDEX_ENTRY_PAGE_NUMBER, XML_ETACTION_PROC_ATTRS,
379*cdf0e10cSrcweir 				OASIS_TEXT_STYLE_REF_ACTIONS ), /* generated entry */
380*cdf0e10cSrcweir 	ENTRY1( TEXT, INDEX_ENTRY_SPAN, XML_ETACTION_PROC_ATTRS,
381*cdf0e10cSrcweir 				OASIS_TEXT_STYLE_REF_ACTIONS ), /* generated entry */
382*cdf0e10cSrcweir 	ENTRY1( TEXT, INDEX_ENTRY_BIBLIOGRAPHY, XML_ETACTION_PROC_ATTRS,
383*cdf0e10cSrcweir 				OASIS_TEXT_STYLE_REF_ACTIONS ), /* generated entry */
384*cdf0e10cSrcweir 	ENTRY1( TEXT, INDEX_ENTRY_LINK_START, XML_ETACTION_PROC_ATTRS,
385*cdf0e10cSrcweir 				OASIS_TEXT_STYLE_REF_ACTIONS ), /* generated entry */
386*cdf0e10cSrcweir 	ENTRY1( TEXT, INDEX_ENTRY_LINK_END, XML_ETACTION_PROC_ATTRS,
387*cdf0e10cSrcweir 				OASIS_TEXT_STYLE_REF_ACTIONS ), /* generated entry */
388*cdf0e10cSrcweir 	ENTRY1( DRAW, PAGE, XML_ETACTION_PROC_ATTRS,
389*cdf0e10cSrcweir 				OASIS_MASTER_PAGE_REF_ACTIONS ), /* generated entry */
390*cdf0e10cSrcweir     // --> OD 2005-01-10 #i40011#, #i40015#
391*cdf0e10cSrcweir     // - conversion of attribute <table:style-name> for <table:table-row> and
392*cdf0e10cSrcweir     //   <table:table-column>
393*cdf0e10cSrcweir     ENTRY1( TABLE, TABLE_ROW, XML_ETACTION_PROC_ATTRS,
394*cdf0e10cSrcweir                 OASIS_TABLE_STYLE_REF_ACTIONS ),
395*cdf0e10cSrcweir     ENTRY1( TABLE, TABLE_COLUMN, XML_ETACTION_PROC_ATTRS,
396*cdf0e10cSrcweir                 OASIS_TABLE_STYLE_REF_ACTIONS ),
397*cdf0e10cSrcweir     // <--
398*cdf0e10cSrcweir 
399*cdf0e10cSrcweir 	// rename office:value-* to *:value-*
400*cdf0e10cSrcweir 	ENTRY1( TEXT, VARIABLE_DECL, XML_ETACTION_PROC_ATTRS,
401*cdf0e10cSrcweir 			OASIS_TEXT_VALUE_TYPE_ACTIONS ), /* generated entry */
402*cdf0e10cSrcweir 	ENTRY1( TEXT, VARIABLE_SET, XML_ETACTION_PROC_ATTRS,
403*cdf0e10cSrcweir 			OASIS_TEXT_VALUE_TYPE_ACTIONS), /* generated entry */
404*cdf0e10cSrcweir 	ENTRY1( TEXT, VARIABLE_INPUT, XML_ETACTION_PROC_ATTRS,
405*cdf0e10cSrcweir 			OASIS_TEXT_VALUE_TYPE_ACTIONS), /* generated entry */
406*cdf0e10cSrcweir 	ENTRY1( TEXT, USER_FIELD_DECL, XML_ETACTION_PROC_ATTRS,
407*cdf0e10cSrcweir 			OASIS_TEXT_VALUE_TYPE_ACTIONS), /* generated entry */
408*cdf0e10cSrcweir 	ENTRY1( TEXT, EXPRESSION, XML_ETACTION_PROC_ATTRS,
409*cdf0e10cSrcweir 			OASIS_TEXT_VALUE_TYPE_ACTIONS), /* generated entry */
410*cdf0e10cSrcweir     ENTRY1( TEXT, USER_DEFINED, XML_ETACTION_PROC_ATTRS,
411*cdf0e10cSrcweir 			OASIS_DATETIME_ACTIONS ), // Add OASIS_TEXT_VALUE_TYPE_ACTIONS if attrs are added to text:user-defined
412*cdf0e10cSrcweir 	ENTRY1( TABLE, TABLE_CELL, XML_ETACTION_PROC_ATTRS,
413*cdf0e10cSrcweir 			OASIS_TABLE_VALUE_TYPE_ACTIONS), /* generated entry */
414*cdf0e10cSrcweir 	ENTRY1( TABLE, COVERED_TABLE_CELL, XML_ETACTION_PROC_ATTRS,
415*cdf0e10cSrcweir 			OASIS_TABLE_VALUE_TYPE_ACTIONS), /* generated entry */
416*cdf0e10cSrcweir 	ENTRY1( TABLE, CHANGE_TRACK_TABLE_CELL, XML_ETACTION_PROC_ATTRS,
417*cdf0e10cSrcweir 			OASIS_TABLE_VALUE_TYPE_ACTIONS), /* generated entry */
418*cdf0e10cSrcweir //	ENTRY1( FORM, PROPERTY, XML_ETACTION_PROC_ATTRS,
419*cdf0e10cSrcweir //			OASIS_VALUE_TYPE_ACTIONS), /* TODO: generated entry */
420*cdf0e10cSrcweir //	ENTRY1( FORM, LIST_PROPERTY, XML_ETACTION_PROC_ATTRS,
421*cdf0e10cSrcweir //			OASIS_VALUE_TYPE_ACTIONS), /* generated entry */
422*cdf0e10cSrcweir 
423*cdf0e10cSrcweir 	ENTRY1( OFFICE, ANNOTATION, XML_ETACTION_MOVE_ELEMS_TO_ATTRS,
424*cdf0e10cSrcweir 			OASIS_ANNOTATION_ACTIONS ), /* generated entry */
425*cdf0e10cSrcweir 	ENTRY1( OFFICE, CHANGE_INFO, XML_ETACTION_MOVE_ELEMS_TO_ATTRS,
426*cdf0e10cSrcweir 			OASIS_CHANGE_INFO_ACTIONS ), /* generated entry */
427*cdf0e10cSrcweir 
428*cdf0e10cSrcweir 	ENTRY1( TEXT, DDE_CONNECTION_DECL, XML_ETACTION_PROC_ATTRS,
429*cdf0e10cSrcweir 		 			OASIS_DDE_CONNECTION_DECL_ACTIONS  ),
430*cdf0e10cSrcweir 
431*cdf0e10cSrcweir 	ENTRY0( FORM, TEXT, XML_ETACTION_FORM_CONTROL ),
432*cdf0e10cSrcweir 	ENTRY0( FORM, TEXTAREA, XML_ETACTION_FORM_CONTROL ),
433*cdf0e10cSrcweir 	ENTRY0( FORM, FIXED_TEXT, XML_ETACTION_FORM_CONTROL ),
434*cdf0e10cSrcweir 	ENTRY0( FORM, FILE, XML_ETACTION_FORM_CONTROL ),
435*cdf0e10cSrcweir 	ENTRY0( FORM, PASSWORD, XML_ETACTION_FORM_CONTROL ),
436*cdf0e10cSrcweir 	ENTRY0( FORM, FORMATTED_TEXT, XML_ETACTION_FORM_CONTROL ),
437*cdf0e10cSrcweir 	ENTRY0( FORM, BUTTON, XML_ETACTION_FORM_CONTROL ),
438*cdf0e10cSrcweir 	ENTRY0( FORM, IMAGE, XML_ETACTION_FORM_CONTROL ),
439*cdf0e10cSrcweir 	ENTRY0( FORM, CHECKBOX, XML_ETACTION_FORM_CONTROL ),
440*cdf0e10cSrcweir 	ENTRY0( FORM, RADIO, XML_ETACTION_FORM_CONTROL ),
441*cdf0e10cSrcweir 	ENTRY0( FORM, LISTBOX, XML_ETACTION_FORM_CONTROL ),
442*cdf0e10cSrcweir 	ENTRY0( FORM, COMBOBOX, XML_ETACTION_FORM_CONTROL ),
443*cdf0e10cSrcweir 	ENTRY0( FORM, FRAME, XML_ETACTION_FORM_CONTROL ),
444*cdf0e10cSrcweir 	ENTRY0( FORM, HIDDEN, XML_ETACTION_FORM_CONTROL ),
445*cdf0e10cSrcweir 	ENTRY0( FORM, IMAGE_FRAME, XML_ETACTION_FORM_CONTROL ),
446*cdf0e10cSrcweir 	ENTRY0( FORM, GRID, XML_ETACTION_FORM_CONTROL ),
447*cdf0e10cSrcweir 	ENTRY0( FORM, VALUE_RANGE, XML_ETACTION_FORM_CONTROL ),
448*cdf0e10cSrcweir 	ENTRY0( FORM, GENERIC_CONTROL, XML_ETACTION_FORM_CONTROL ),
449*cdf0e10cSrcweir 	ENTRY1( FORM, COLUMN, XML_ETACTION_PROC_ATTRS,
450*cdf0e10cSrcweir 		 			OASIS_FORM_COLUMN_ACTIONS  ),
451*cdf0e10cSrcweir 	ENTRY1( FORM, PROPERTY, XML_ETACTION_FORM_PROPERTY, XML_PROPERTY ),
452*cdf0e10cSrcweir 	ENTRY1( FORM, LIST_PROPERTY, XML_ETACTION_FORM_PROPERTY,
453*cdf0e10cSrcweir 					XML_LIST_PROPERTY ),
454*cdf0e10cSrcweir 	ENTRY1( FORM, LIST_VALUE, XML_ETACTION_FORM_PROPERTY, XML_LIST_VALUE ),
455*cdf0e10cSrcweir 
456*cdf0e10cSrcweir 	// process xlink:href
457*cdf0e10cSrcweir 	ENTRY1( META, TEMPLATE, XML_ETACTION_PROC_ATTRS,
458*cdf0e10cSrcweir 		OASIS_XLINK_ACTIONS ), /* generated entry */
459*cdf0e10cSrcweir 	ENTRY1( META, AUTO_RELOAD, XML_ETACTION_PROC_ATTRS,
460*cdf0e10cSrcweir 		OASIS_XLINK_ACTIONS ), /* generated entry */
461*cdf0e10cSrcweir 	ENTRY1( TEXT, SECTION_SOURCE, XML_ETACTION_PROC_ATTRS,
462*cdf0e10cSrcweir 		OASIS_XLINK_ACTIONS ), /* generated entry */
463*cdf0e10cSrcweir 	ENTRY1( TEXT, SCRIPT, XML_ETACTION_PROC_ATTRS,
464*cdf0e10cSrcweir 		OASIS_XLINK_ACTIONS ), /* generated entry */
465*cdf0e10cSrcweir 	ENTRY1( TEXT, ALPHABETICAL_INDEX_AUTO_MARK_FILE, XML_ETACTION_PROC_ATTRS,
466*cdf0e10cSrcweir 		OASIS_XLINK_ACTIONS ), /* generated entry */
467*cdf0e10cSrcweir 	ENTRY1( TABLE, TABLE_SOURCE, XML_ETACTION_PROC_ATTRS,
468*cdf0e10cSrcweir 		OASIS_XLINK_ACTIONS ), /* generated entry */
469*cdf0e10cSrcweir 	ENTRY1( TABLE, CELL_RANGE_SOURCE, XML_ETACTION_PROC_ATTRS,
470*cdf0e10cSrcweir 		OASIS_XLINK_ACTIONS ), /* generated entry */
471*cdf0e10cSrcweir 	ENTRY1( DRAW, A, XML_ETACTION_PROC_ATTRS,
472*cdf0e10cSrcweir 		OASIS_XLINK_ACTIONS ), /* generated entry */
473*cdf0e10cSrcweir 	ENTRY1( PRESENTATION, SOUND, XML_ETACTION_PROC_ATTRS,
474*cdf0e10cSrcweir 		OASIS_XLINK_ACTIONS ), /* generated entry */
475*cdf0e10cSrcweir 	ENTRY1( FORM, FORM, XML_ETACTION_PROC_ATTRS,
476*cdf0e10cSrcweir 		OASIS_FORM_ACTIONS ), /* generated entry */
477*cdf0e10cSrcweir //	ENTRY1( SVG, FONT_FACE_URI, XML_ETACTION_PROC_ATTRS,
478*cdf0e10cSrcweir //		OASIS_XLINK_ACTIONS ), /* generated entry */
479*cdf0e10cSrcweir //	ENTRY1( SVG, DEFINITION_SRC, XML_ETACTION_PROC_ATTRS,
480*cdf0e10cSrcweir //		OASIS_XLINK_ACTIONS ), /* generated entry */
481*cdf0e10cSrcweir 	ENTRY2QN( CHART, SYMBOL_IMAGE, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
482*cdf0e10cSrcweir               XML_NAMESPACE_STYLE, XML_SYMBOL_IMAGE,
483*cdf0e10cSrcweir               OASIS_BACKGROUND_IMAGE_ACTIONS ),
484*cdf0e10cSrcweir //		OASIS_XLINK_ACTIONS ), /* generated entry */
485*cdf0e10cSrcweir //  events don't have real URIs
486*cdf0e10cSrcweir //	ENTRY1( PRESENTATION, EVENT_LISTENER, XML_ETACTION_PROC_ATTRS,
487*cdf0e10cSrcweir //		OASIS_XLINK_ACTIONS ), /* generated entry */
488*cdf0e10cSrcweir //	ENTRY1( SCRIPT, EVENT_LISTENER, XML_ETACTION_PROC_ATTRS,
489*cdf0e10cSrcweir //		OASIS_XLINK_ACTIONS ), /* generated entry */
490*cdf0e10cSrcweir 
491*cdf0e10cSrcweir 	// add namespace prefix to name
492*cdf0e10cSrcweir 	ENTRY1( CONFIG, CONFIG_ITEM_SET, XML_ETACTION_PROC_ATTRS,
493*cdf0e10cSrcweir 		OASIS_CONFIG_ITEM_SET_ACTIONS ),
494*cdf0e10cSrcweir 
495*cdf0e10cSrcweir 	// add namespace prefix to formula and condition
496*cdf0e10cSrcweir 	//  text:condition
497*cdf0e10cSrcweir 	ENTRY1( TEXT, SECTION, XML_ETACTION_PROC_ATTRS,
498*cdf0e10cSrcweir 		OASIS_FORMULA_ACTIONS ), /* generated entry */
499*cdf0e10cSrcweir 	//  text:formula
500*cdf0e10cSrcweir 	ENTRY1( TEXT, SEQUENCE, XML_ETACTION_PROC_ATTRS,
501*cdf0e10cSrcweir 		OASIS_FORMULA_ACTIONS ), /* generated entry */
502*cdf0e10cSrcweir 	//  text:condition
503*cdf0e10cSrcweir 	ENTRY1( TEXT, DATABASE_NEXT, XML_ETACTION_PROC_ATTRS,
504*cdf0e10cSrcweir 		OASIS_FORMULA_ACTIONS ), /* generated entry */
505*cdf0e10cSrcweir 	//  text:condition
506*cdf0e10cSrcweir 	ENTRY2QN( TEXT, DATABASE_ROW_SELECT, XML_ETACTION_RENAME_ELEM_PROC_ATTRS,
507*cdf0e10cSrcweir 		XML_NAMESPACE_TEXT, XML_DATABASE_SELECT,
508*cdf0e10cSrcweir 		OASIS_FORMULA_ACTIONS ), /* generated entry */
509*cdf0e10cSrcweir 	//  text:condition
510*cdf0e10cSrcweir 	ENTRY1( TEXT, CONDITIONAL_TEXT, XML_ETACTION_PROC_ATTRS,
511*cdf0e10cSrcweir 		OASIS_FORMULA_ACTIONS ), /* generated entry */
512*cdf0e10cSrcweir 	//  text:condition
513*cdf0e10cSrcweir 	ENTRY1( TEXT, HIDDEN_TEXT, XML_ETACTION_PROC_ATTRS,
514*cdf0e10cSrcweir 		OASIS_FORMULA_ACTIONS ), /* generated entry */
515*cdf0e10cSrcweir 	//  text:condition
516*cdf0e10cSrcweir 	ENTRY1( TEXT, HIDDEN_PARAGRAPH, XML_ETACTION_PROC_ATTRS,
517*cdf0e10cSrcweir 		OASIS_FORMULA_ACTIONS ), /* generated entry */
518*cdf0e10cSrcweir 	//  text:formula
519*cdf0e10cSrcweir 	ENTRY1( TEXT, TABLE_FORMULA, XML_ETACTION_PROC_ATTRS,
520*cdf0e10cSrcweir 		OASIS_FORMULA_ACTIONS ), /* generated entry */
521*cdf0e10cSrcweir 
522*cdf0e10cSrcweir     //  process table::content-validation
523*cdf0e10cSrcweir 	ENTRY1( TABLE, CONTENT_VALIDATION, XML_ETACTION_PROC_ATTRS,
524*cdf0e10cSrcweir 		OASIS_CONTENT_VALIDATION_ACTIONS ),
525*cdf0e10cSrcweir 
526*cdf0e10cSrcweir 	// rename <table:dependencies> to <table:dependences>
527*cdf0e10cSrcweir 	ENTRY1Q( TABLE, DEPENDENCIES, XML_ETACTION_RENAME_ELEM,
528*cdf0e10cSrcweir 						XML_NAMESPACE_TABLE, XML_DEPENDENCES ),
529*cdf0e10cSrcweir     ENTRY1Q( TABLE, DEPENDENCY, XML_ETACTION_RENAME_ELEM,
530*cdf0e10cSrcweir                         XML_NAMESPACE_TABLE, XML_DEPENDENCE ),
531*cdf0e10cSrcweir 
532*cdf0e10cSrcweir     // process table::conversion-mode
533*cdf0e10cSrcweir 	ENTRY1( TABLE, CONVERSION_MODE, XML_ETACTION_PROC_ATTRS,
534*cdf0e10cSrcweir 			OASIS_DDE_CONV_MODE_ACTIONS ),
535*cdf0e10cSrcweir 
536*cdf0e10cSrcweir     // process table::data-pilot-member
537*cdf0e10cSrcweir 	ENTRY1( TABLE, DATA_PILOT_MEMBER, XML_ETACTION_PROC_ATTRS,
538*cdf0e10cSrcweir 			OASIS_DATAPILOT_MEMBER_ACTIONS ),
539*cdf0e10cSrcweir 
540*cdf0e10cSrcweir     // process table::data-pilot-level
541*cdf0e10cSrcweir 	ENTRY1( TABLE, DATA_PILOT_LEVEL, XML_ETACTION_PROC_ATTRS,
542*cdf0e10cSrcweir 			OASIS_DATAPILOT_LEVEL_ACTIONS ),
543*cdf0e10cSrcweir 
544*cdf0e10cSrcweir     // process table::source-service
545*cdf0e10cSrcweir 	ENTRY1( TABLE, SOURCE_SERVICE, XML_ETACTION_PROC_ATTRS,
546*cdf0e10cSrcweir 			OASIS_SOURCE_SERVICE_ACTIONS ),
547*cdf0e10cSrcweir 
548*cdf0e10cSrcweir     // entries for date time change (#i36576#)
549*cdf0e10cSrcweir     ENTRY1( TEXT, DATE, XML_ETACTION_PROC_ATTRS, OASIS_DATETIME_ACTIONS ),
550*cdf0e10cSrcweir     ENTRY1( TEXT, CREATION_DATE, XML_ETACTION_PROC_ATTRS,
551*cdf0e10cSrcweir 					OASIS_DATETIME_ACTIONS ),
552*cdf0e10cSrcweir     ENTRY1( TEXT, TIME, XML_ETACTION_PROC_ATTRS, OASIS_DATETIME_ACTIONS ),
553*cdf0e10cSrcweir     ENTRY1( TEXT, CREATION_TIME, XML_ETACTION_PROC_ATTRS,
554*cdf0e10cSrcweir 					OASIS_DATETIME_ACTIONS ),
555*cdf0e10cSrcweir     ENTRY1( TEXT, PRINT_TIME, XML_ETACTION_PROC_ATTRS, OASIS_DATETIME_ACTIONS ),
556*cdf0e10cSrcweir     ENTRY1( TEXT, MODIFICATION_TIME, XML_ETACTION_PROC_ATTRS,
557*cdf0e10cSrcweir 					OASIS_DATETIME_ACTIONS ),
558*cdf0e10cSrcweir     ENTRY1( TEXT, EDITING_DURATION, XML_ETACTION_PROC_ATTRS,
559*cdf0e10cSrcweir 					OASIS_DATETIME_ACTIONS ),
560*cdf0e10cSrcweir     ENTRY1( FORM, TIME, XML_ETACTION_PROC_ATTRS, OASIS_DATETIME_ACTIONS ),
561*cdf0e10cSrcweir     ENTRY1( PRESENTATION, SETTINGS, XML_ETACTION_PROC_ATTRS,
562*cdf0e10cSrcweir 					OASIS_DATETIME_ACTIONS ),
563*cdf0e10cSrcweir 
564*cdf0e10cSrcweir     // fix <text:alphabatical-index-mark text:main-etry>
565*cdf0e10cSrcweir 	ENTRY1( TEXT, ALPHABETICAL_INDEX_MARK, XML_ETACTION_PROC_ATTRS,
566*cdf0e10cSrcweir             OASIS_ALPHABETICAL_INDEX_MARK_ACTIONS ),
567*cdf0e10cSrcweir 	ENTRY1( TEXT, ALPHABETICAL_INDEX_MARK_START, XML_ETACTION_PROC_ATTRS,
568*cdf0e10cSrcweir             OASIS_ALPHABETICAL_INDEX_MARK_ACTIONS ),
569*cdf0e10cSrcweir 
570*cdf0e10cSrcweir 	// fix id strings in old animation elements
571*cdf0e10cSrcweir 	ENTRY1( PRESENTATION, DIM, XML_ETACTION_PROC_ATTRS, OASIS_ANIMATION_ACTIONS ),
572*cdf0e10cSrcweir 	ENTRY1( PRESENTATION, PLAY, XML_ETACTION_PROC_ATTRS, OASIS_ANIMATION_ACTIONS ),
573*cdf0e10cSrcweir 	ENTRY1( PRESENTATION, SHOW_TEXT, XML_ETACTION_PROC_ATTRS, OASIS_ANIMATION_ACTIONS ),
574*cdf0e10cSrcweir 	ENTRY1( PRESENTATION, SHOW_SHAPE, XML_ETACTION_PROC_ATTRS, OASIS_ANIMATION_ACTIONS ),
575*cdf0e10cSrcweir 	ENTRY1( PRESENTATION, HIDE_TEXT, XML_ETACTION_PROC_ATTRS, OASIS_ANIMATION_ACTIONS ),
576*cdf0e10cSrcweir 	ENTRY1( PRESENTATION, HIDE_SHAPE, XML_ETACTION_PROC_ATTRS, OASIS_ANIMATION_ACTIONS ),
577*cdf0e10cSrcweir 
578*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ETACTION_EOT )
579*cdf0e10cSrcweir };
580*cdf0e10cSrcweir 
581*cdf0e10cSrcweir // XML_ETACTION_STYLE
582*cdf0e10cSrcweir static XMLTransformerActionInit aStyleActionTable[] =
583*cdf0e10cSrcweir {
584*cdf0e10cSrcweir 	ENTRY0( STYLE, FAMILY, XML_ATACTION_STYLE_FAMILY ),
585*cdf0e10cSrcweir 	ENTRY1( STYLE, NAME, XML_ATACTION_DECODE_STYLE_NAME,
586*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_END ),
587*cdf0e10cSrcweir 	ENTRY1( STYLE, DISPLAY_NAME, XML_ATACTION_STYLE_DISPLAY_NAME,
588*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_END ),
589*cdf0e10cSrcweir 	ENTRY1( STYLE, PARENT_STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
590*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_END ),
591*cdf0e10cSrcweir 	ENTRY1( STYLE, NEXT_STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
592*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_END ),
593*cdf0e10cSrcweir 	ENTRY1( STYLE, LIST_STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
594*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_LIST ),
595*cdf0e10cSrcweir 	ENTRY1( STYLE, MASTER_PAGE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
596*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_MASTER_PAGE ),
597*cdf0e10cSrcweir 	ENTRY0( STYLE, DEFAULT_OUTLINE_LEVEL, XML_ATACTION_REMOVE ),
598*cdf0e10cSrcweir 	ENTRY1( TEXT, STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
599*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_TEXT ),	// list level styles
600*cdf0e10cSrcweir 	ENTRY1( DRAW, NAME, XML_ATACTION_DECODE_STYLE_NAME,
601*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_END ),
602*cdf0e10cSrcweir 	ENTRY1( DRAW, DISPLAY_NAME, XML_ATACTION_STYLE_DISPLAY_NAME,
603*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_END ),
604*cdf0e10cSrcweir 	ENTRY0( DRAW, DISTANCE, XML_ATACTION_IN2INCH ),
605*cdf0e10cSrcweir 	ENTRY0( DRAW, DOTS1_LENGTH, XML_ATACTION_IN2INCH ),
606*cdf0e10cSrcweir 	ENTRY0( DRAW, DOTS2_LENGTH, XML_ATACTION_IN2INCH ),
607*cdf0e10cSrcweir 	ENTRY0( SVG, WIDTH, XML_ATACTION_IN2INCH ),
608*cdf0e10cSrcweir 	ENTRY0( SVG, HEIGHT, XML_ATACTION_IN2INCH ),
609*cdf0e10cSrcweir 	ENTRY0( DRAW, START, XML_ATACTION_NEG_PERCENT ),
610*cdf0e10cSrcweir 	ENTRY0( DRAW, END, XML_ATACTION_NEG_PERCENT ),
611*cdf0e10cSrcweir 	ENTRY1( XLINK, HREF, XML_ATACTION_URI_OASIS, sal_True ),
612*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
613*cdf0e10cSrcweir };
614*cdf0e10cSrcweir 
615*cdf0e10cSrcweir // OASIS_FRAME_ELEM_ACTIONS
616*cdf0e10cSrcweir static XMLTransformerActionInit aFrameActionTable[] =
617*cdf0e10cSrcweir {
618*cdf0e10cSrcweir 	ENTRY0( DRAW, TEXT_BOX, XML_ETACTION_COPY ),
619*cdf0e10cSrcweir 	ENTRY0( DRAW, IMAGE, XML_ETACTION_COPY ),
620*cdf0e10cSrcweir 	ENTRY0( DRAW, OBJECT, XML_ETACTION_COPY ),
621*cdf0e10cSrcweir 	ENTRY0( DRAW, OBJECT_OLE, XML_ETACTION_COPY ),
622*cdf0e10cSrcweir 	ENTRY0( DRAW, APPLET, XML_ETACTION_COPY ),
623*cdf0e10cSrcweir 	ENTRY0( DRAW, PLUGIN, XML_ETACTION_COPY ),
624*cdf0e10cSrcweir 	ENTRY0( DRAW, FLOATING_FRAME, XML_ETACTION_COPY ),
625*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
626*cdf0e10cSrcweir };
627*cdf0e10cSrcweir 
628*cdf0e10cSrcweir // OASIS_EVENT_ELEM_ACTIONS
629*cdf0e10cSrcweir static XMLTransformerActionInit aEventActionTable[] =
630*cdf0e10cSrcweir {
631*cdf0e10cSrcweir 	ENTRY0( XLINK, HREF, XML_ATACTION_HREF ),
632*cdf0e10cSrcweir 	ENTRY1( SCRIPT, LANGUAGE, XML_ATACTION_REMOVE_NAMESPACE_PREFIX,
633*cdf0e10cSrcweir 					XML_NAMESPACE_OOO ),
634*cdf0e10cSrcweir 	ENTRY0( SCRIPT, EVENT_NAME, XML_ATACTION_EVENT_NAME ),
635*cdf0e10cSrcweir 	ENTRY0( SCRIPT, MACRO_NAME, XML_ATACTION_MACRO_NAME ),
636*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
637*cdf0e10cSrcweir };
638*cdf0e10cSrcweir 
639*cdf0e10cSrcweir // OASIS_EVENT_ELEM_ACTIONS
640*cdf0e10cSrcweir static XMLTransformerActionInit aDlgActionTable[] =
641*cdf0e10cSrcweir {
642*cdf0e10cSrcweir 	ENTRY0( DLG, BORDER, XML_ATACTION_DLG_BORDER )
643*cdf0e10cSrcweir };
644*cdf0e10cSrcweir 
645*cdf0e10cSrcweir // action table for OASIS_MASTER_PAGE_ACTIONS
646*cdf0e10cSrcweir static XMLTransformerActionInit aMasterPageActionTable[] =
647*cdf0e10cSrcweir {
648*cdf0e10cSrcweir 	ENTRY1( STYLE, NAME, XML_ATACTION_DECODE_STYLE_NAME,
649*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_MASTER_PAGE ),
650*cdf0e10cSrcweir 	ENTRY1( STYLE, DISPLAY_NAME, XML_ATACTION_STYLE_DISPLAY_NAME,
651*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_MASTER_PAGE ),
652*cdf0e10cSrcweir 	ENTRY1( STYLE, NEXT_STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
653*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_MASTER_PAGE ),
654*cdf0e10cSrcweir 	ENTRY1Q( STYLE, PAGE_LAYOUT_NAME, XML_ATACTION_RENAME,
655*cdf0e10cSrcweir 						XML_NAMESPACE_STYLE, XML_PAGE_MASTER_NAME ),
656*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
657*cdf0e10cSrcweir };
658*cdf0e10cSrcweir 
659*cdf0e10cSrcweir // action table for OASIS_TEXT_STYLE_REF_ACTIONS
660*cdf0e10cSrcweir static XMLTransformerActionInit aTextStyleRefActionTable[] =
661*cdf0e10cSrcweir {
662*cdf0e10cSrcweir 	ENTRY1( TEXT, STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
663*cdf0e10cSrcweir 				XML_FAMILY_TYPE_TEXT ),
664*cdf0e10cSrcweir 	ENTRY1( TEXT, VISITED_STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
665*cdf0e10cSrcweir 		  		XML_FAMILY_TYPE_TEXT ),
666*cdf0e10cSrcweir 	ENTRY1( XLINK, HREF, XML_ATACTION_URI_OASIS, sal_False ),
667*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
668*cdf0e10cSrcweir };
669*cdf0e10cSrcweir 
670*cdf0e10cSrcweir // action table for OASIS_PARA_STYLE_REF_ACTIONS
671*cdf0e10cSrcweir static XMLTransformerActionInit aParaStyleRefActionTable[] =
672*cdf0e10cSrcweir {
673*cdf0e10cSrcweir 	ENTRY1( TEXT, STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
674*cdf0e10cSrcweir 				XML_FAMILY_TYPE_PARAGRAPH ),
675*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
676*cdf0e10cSrcweir };
677*cdf0e10cSrcweir 
678*cdf0e10cSrcweir 
679*cdf0e10cSrcweir // action table for OASIS_LIST_STYLE_REF_ACTIONS
680*cdf0e10cSrcweir static XMLTransformerActionInit aListStyleRefActionTable[] =
681*cdf0e10cSrcweir {
682*cdf0e10cSrcweir 	ENTRY1( TEXT, STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
683*cdf0e10cSrcweir 				XML_FAMILY_TYPE_LIST ),
684*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
685*cdf0e10cSrcweir };
686*cdf0e10cSrcweir 
687*cdf0e10cSrcweir // action table for OASIS_MASTER_PAGE_REF_ACTIONS
688*cdf0e10cSrcweir static XMLTransformerActionInit aMasterPageRefActionTable[] =
689*cdf0e10cSrcweir {
690*cdf0e10cSrcweir 	ENTRY1( DRAW, MASTER_PAGE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
691*cdf0e10cSrcweir 				XML_FAMILY_TYPE_MASTER_PAGE ),
692*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
693*cdf0e10cSrcweir };
694*cdf0e10cSrcweir 
695*cdf0e10cSrcweir // action table for OASIS_MAP_STYLE_REF_ACTIONS
696*cdf0e10cSrcweir static XMLTransformerActionInit aMapStyleRefActionTable[] =
697*cdf0e10cSrcweir {
698*cdf0e10cSrcweir 	ENTRY1( STYLE, APPLY_STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
699*cdf0e10cSrcweir 				XML_FAMILY_TYPE_END ),
700*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
701*cdf0e10cSrcweir };
702*cdf0e10cSrcweir 
703*cdf0e10cSrcweir // --> OD 2005-01-10 #i40011#, #i40015#
704*cdf0e10cSrcweir // action table for OASIS_TABLE_STYLE_REF_ACTIONS
705*cdf0e10cSrcweir static XMLTransformerActionInit aTableStyleRefActionTable[] =
706*cdf0e10cSrcweir {
707*cdf0e10cSrcweir     ENTRY1( TABLE, STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
708*cdf0e10cSrcweir                 XML_FAMILY_TYPE_END ),
709*cdf0e10cSrcweir     ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
710*cdf0e10cSrcweir };
711*cdf0e10cSrcweir // <--
712*cdf0e10cSrcweir 
713*cdf0e10cSrcweir 
714*cdf0e10cSrcweir static XMLTransformerActionInit aFontFaceActionTable[] =
715*cdf0e10cSrcweir {
716*cdf0e10cSrcweir 	ENTRY1Q( SVG, FONT_FAMILY, XML_ATACTION_RENAME,
717*cdf0e10cSrcweir 						XML_NAMESPACE_FO, XML_FONT_FAMILY ),
718*cdf0e10cSrcweir 	ENTRY1Q( STYLE, FONT_ADORNMENTS, XML_ATACTION_RENAME,
719*cdf0e10cSrcweir 						XML_NAMESPACE_STYLE, XML_FONT_STYLE_NAME ),
720*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
721*cdf0e10cSrcweir };
722*cdf0e10cSrcweir 
723*cdf0e10cSrcweir // action table for OASIS_PARA_ACTIONS
724*cdf0e10cSrcweir static XMLTransformerActionInit aParaActionTable[] =
725*cdf0e10cSrcweir {
726*cdf0e10cSrcweir 	ENTRY1( TEXT, STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
727*cdf0e10cSrcweir 				XML_FAMILY_TYPE_PARAGRAPH ),
728*cdf0e10cSrcweir 	ENTRY1( TEXT, COND_STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
729*cdf0e10cSrcweir 				XML_FAMILY_TYPE_PARAGRAPH ),
730*cdf0e10cSrcweir 	ENTRY1Q( TEXT, OUTLINE_LEVEL, XML_ATACTION_RENAME,
731*cdf0e10cSrcweir 						XML_NAMESPACE_TEXT, XML_LEVEL ),
732*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
733*cdf0e10cSrcweir };
734*cdf0e10cSrcweir 
735*cdf0e10cSrcweir // !!ATTENTION!! If you change something here, please also change
736*cdf0e10cSrcweir // aConnectorActionTable if apropriate
737*cdf0e10cSrcweir static XMLTransformerActionInit aShapeActionTable[] =
738*cdf0e10cSrcweir {
739*cdf0e10cSrcweir 	ENTRY1( DRAW, STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
740*cdf0e10cSrcweir 				XML_FAMILY_TYPE_GRAPHIC ),
741*cdf0e10cSrcweir 	ENTRY1( DRAW, TEXT_STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
742*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_PARAGRAPH ),
743*cdf0e10cSrcweir 	ENTRY1( PRESENTATION, STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
744*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_PRESENTATION ),
745*cdf0e10cSrcweir 	ENTRY0( SVG, X, XML_ATACTION_IN2INCH ),
746*cdf0e10cSrcweir 	ENTRY0( SVG, Y, XML_ATACTION_IN2INCH ),
747*cdf0e10cSrcweir 	ENTRY0( SVG, X1, XML_ATACTION_IN2INCH ),
748*cdf0e10cSrcweir 	ENTRY0( SVG, Y1, XML_ATACTION_IN2INCH ),
749*cdf0e10cSrcweir 	ENTRY0( SVG, X2, XML_ATACTION_IN2INCH ),
750*cdf0e10cSrcweir 	ENTRY0( SVG, Y2, XML_ATACTION_IN2INCH ),
751*cdf0e10cSrcweir 	ENTRY0( SVG, CX, XML_ATACTION_IN2INCH ),
752*cdf0e10cSrcweir 	ENTRY0( SVG, CY, XML_ATACTION_IN2INCH ),
753*cdf0e10cSrcweir 	ENTRY0( DRAW, END_X, XML_ATACTION_IN2INCH ),
754*cdf0e10cSrcweir 	ENTRY0( DRAW, END_Y, XML_ATACTION_IN2INCH ),
755*cdf0e10cSrcweir 	ENTRY0( SVG, R, XML_ATACTION_IN2INCH ),
756*cdf0e10cSrcweir 	ENTRY0( SVG, RX, XML_ATACTION_IN2INCH ),
757*cdf0e10cSrcweir 	ENTRY0( SVG, RY, XML_ATACTION_IN2INCH ),
758*cdf0e10cSrcweir 	ENTRY0( SVG, WIDTH, XML_ATACTION_SVG_WIDTH_HEIGHT_OASIS ),
759*cdf0e10cSrcweir 	ENTRY0( SVG, HEIGHT, XML_ATACTION_SVG_WIDTH_HEIGHT_OASIS ),
760*cdf0e10cSrcweir 	ENTRY0( FO, MIN_WIDTH, XML_ATACTION_IN2INCH ),
761*cdf0e10cSrcweir 	ENTRY0( FO, MIN_HEIGHT, XML_ATACTION_IN2INCH ),
762*cdf0e10cSrcweir 	ENTRY0( FO, MAX_WIDTH, XML_ATACTION_IN2INCH ),
763*cdf0e10cSrcweir 	ENTRY0( FO, MAX_HEIGHT, XML_ATACTION_IN2INCH ),
764*cdf0e10cSrcweir 	ENTRY0( DRAW, CORNER_RADIUS, XML_ATACTION_IN2INCH ),
765*cdf0e10cSrcweir 	ENTRY0( DRAW, LINE_SKEW, XML_ATACTION_INS2INCHS ),
766*cdf0e10cSrcweir 	ENTRY0( DRAW, CAPTION_POINT_X, XML_ATACTION_IN2INCH ),
767*cdf0e10cSrcweir 	ENTRY0( DRAW, CAPTION_POINT_Y, XML_ATACTION_IN2INCH ),
768*cdf0e10cSrcweir 	ENTRY0( DR3D, DISTANCE, XML_ATACTION_IN2INCH ),
769*cdf0e10cSrcweir 	ENTRY0( DR3D, FOCAL_LENGTH, XML_ATACTION_IN2INCH ),
770*cdf0e10cSrcweir 	ENTRY1Q( DRAW, CONTROL, XML_ATACTION_RENAME,
771*cdf0e10cSrcweir 					XML_NAMESPACE_FORM, XML_ID ),
772*cdf0e10cSrcweir 	ENTRY1( XLINK, HREF, XML_ATACTION_URI_OASIS, sal_True ),
773*cdf0e10cSrcweir 
774*cdf0e10cSrcweir     // BM: needed by chart:legend.  The legend needs also the draw actions.  As
775*cdf0e10cSrcweir     // there is no merge mechanism, all actions have to be in the same table
776*cdf0e10cSrcweir     ENTRY2( CHART, LEGEND_POSITION, XML_ATACTION_RENAME_ATTRIBUTE,
777*cdf0e10cSrcweir             RENAME_ENTRY( XML_START, XML_LEFT ),
778*cdf0e10cSrcweir             RENAME_ENTRY( XML_END, XML_RIGHT )),
779*cdf0e10cSrcweir 
780*cdf0e10cSrcweir 	ENTRY0( DRAW, ID, XML_ATACTION_DECODE_ID ),
781*cdf0e10cSrcweir 
782*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
783*cdf0e10cSrcweir };
784*cdf0e10cSrcweir 
785*cdf0e10cSrcweir // OASIS_ANIMATION_ACTIONS
786*cdf0e10cSrcweir static XMLTransformerActionInit aAnimationActionTable[] =
787*cdf0e10cSrcweir {
788*cdf0e10cSrcweir 	ENTRY0( DRAW, SHAPE_ID, XML_ATACTION_DECODE_ID ),
789*cdf0e10cSrcweir     ENTRY0( PRESENTATION, DELAY,       XML_ATACTION_RNG2ISO_DATETIME ),
790*cdf0e10cSrcweir     ENTRY0( PRESENTATION, PAUSE,       XML_ATACTION_RNG2ISO_DATETIME ),
791*cdf0e10cSrcweir 
792*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
793*cdf0e10cSrcweir };
794*cdf0e10cSrcweir 
795*cdf0e10cSrcweir // OOO_CONNECTOR_ACTIONS
796*cdf0e10cSrcweir static XMLTransformerActionInit aConnectorActionTable[] =
797*cdf0e10cSrcweir {
798*cdf0e10cSrcweir 	ENTRY1( DRAW, STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
799*cdf0e10cSrcweir 				XML_FAMILY_TYPE_GRAPHIC ),
800*cdf0e10cSrcweir 	ENTRY1( DRAW, TEXT_STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
801*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_PARAGRAPH ),
802*cdf0e10cSrcweir 	ENTRY1( PRESENTATION, STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
803*cdf0e10cSrcweir 		 		XML_FAMILY_TYPE_PRESENTATION ),
804*cdf0e10cSrcweir 	ENTRY0( SVG, X1, XML_ATACTION_IN2TWIPS ),
805*cdf0e10cSrcweir 	ENTRY0( SVG, Y1, XML_ATACTION_IN2TWIPS ),
806*cdf0e10cSrcweir 	ENTRY0( SVG, X2, XML_ATACTION_IN2TWIPS ),
807*cdf0e10cSrcweir 	ENTRY0( SVG, Y2, XML_ATACTION_IN2TWIPS ),
808*cdf0e10cSrcweir 	ENTRY0( DRAW, END_X, XML_ATACTION_IN2INCH ),
809*cdf0e10cSrcweir 	ENTRY0( DRAW, END_Y, XML_ATACTION_IN2INCH ),
810*cdf0e10cSrcweir 	ENTRY0( SVG, WIDTH, XML_ATACTION_SVG_WIDTH_HEIGHT_OASIS ),
811*cdf0e10cSrcweir 	ENTRY0( SVG, HEIGHT, XML_ATACTION_SVG_WIDTH_HEIGHT_OASIS ),
812*cdf0e10cSrcweir 	ENTRY0( FO, MIN_WIDTH, XML_ATACTION_IN2INCH ),
813*cdf0e10cSrcweir 	ENTRY0( FO, MIN_HEIGHT, XML_ATACTION_IN2INCH ),
814*cdf0e10cSrcweir 	ENTRY0( FO, MAX_WIDTH, XML_ATACTION_IN2INCH ),
815*cdf0e10cSrcweir 	ENTRY0( FO, MAX_HEIGHT, XML_ATACTION_IN2INCH ),
816*cdf0e10cSrcweir 	ENTRY0( DRAW, LINE_SKEW, XML_ATACTION_INS2INCHS ),
817*cdf0e10cSrcweir 	ENTRY1Q( DRAW, CONTROL, XML_ATACTION_RENAME,
818*cdf0e10cSrcweir 					XML_NAMESPACE_FORM, XML_ID ),
819*cdf0e10cSrcweir 	ENTRY1( XLINK, HREF, XML_ATACTION_URI_OASIS, sal_True ),
820*cdf0e10cSrcweir 	ENTRY0( DRAW, START_SHAPE, XML_ATACTION_DECODE_ID ),
821*cdf0e10cSrcweir 	ENTRY0( DRAW, END_SHAPE, XML_ATACTION_DECODE_ID ),
822*cdf0e10cSrcweir 
823*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
824*cdf0e10cSrcweir };
825*cdf0e10cSrcweir 
826*cdf0e10cSrcweir // OASIS_INDEX_ENTRY_TAB_STOP_ACTIONS
827*cdf0e10cSrcweir static XMLTransformerActionInit aIndexEntryTabStopActionTable[] =
828*cdf0e10cSrcweir {
829*cdf0e10cSrcweir 	ENTRY0( STYLE, POSITION, XML_ATACTION_IN2INCH ),
830*cdf0e10cSrcweir 	ENTRY1( TEXT, STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
831*cdf0e10cSrcweir 		  		XML_FAMILY_TYPE_TEXT ),
832*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
833*cdf0e10cSrcweir };
834*cdf0e10cSrcweir 
835*cdf0e10cSrcweir // OASIS_TAB_STOP_ACTIONS
836*cdf0e10cSrcweir static XMLTransformerActionInit aTabStopActionTable[] =
837*cdf0e10cSrcweir {
838*cdf0e10cSrcweir 	ENTRY0( STYLE, POSITION, XML_ATACTION_IN2INCH ),
839*cdf0e10cSrcweir 	ENTRY1Q( STYLE, LEADER_TEXT, XML_ATACTION_RENAME,
840*cdf0e10cSrcweir 		  		XML_NAMESPACE_STYLE, XML_LEADER_CHAR ),
841*cdf0e10cSrcweir 	ENTRY0( STYLE, LEADER_STYLE, XML_ATACTION_REMOVE ),
842*cdf0e10cSrcweir 	ENTRY0( STYLE, LEADER_TYPE, XML_ATACTION_REMOVE ),
843*cdf0e10cSrcweir 	ENTRY0( STYLE, LEADER_WIDTH, XML_ATACTION_REMOVE ),
844*cdf0e10cSrcweir 	ENTRY0( STYLE, LEADER_COLOR, XML_ATACTION_REMOVE ),
845*cdf0e10cSrcweir 	ENTRY0( STYLE, LEADER_TEXT_STYLE, XML_ATACTION_REMOVE ),
846*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
847*cdf0e10cSrcweir };
848*cdf0e10cSrcweir 
849*cdf0e10cSrcweir // OASIS_LINENUMBERING_ACTIONS
850*cdf0e10cSrcweir static XMLTransformerActionInit aLineNumberingActionTable[] =
851*cdf0e10cSrcweir {
852*cdf0e10cSrcweir 	ENTRY0( TEXT, OFFSET, XML_ATACTION_IN2INCH ),
853*cdf0e10cSrcweir 	ENTRY1( TEXT, STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
854*cdf0e10cSrcweir 				XML_FAMILY_TYPE_TEXT ),
855*cdf0e10cSrcweir 	ENTRY1Q( TEXT, COUNT_IN_TEXT_BOXES , XML_ATACTION_RENAME,
856*cdf0e10cSrcweir 					XML_NAMESPACE_TEXT, XML_COUNT_IN_FLOATING_FRAMES),
857*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
858*cdf0e10cSrcweir };
859*cdf0e10cSrcweir 
860*cdf0e10cSrcweir static XMLTransformerActionInit aFootnoteSepActionTable[] =
861*cdf0e10cSrcweir {
862*cdf0e10cSrcweir 	ENTRY0( STYLE, WIDTH, XML_ATACTION_IN2INCH ),
863*cdf0e10cSrcweir 	ENTRY0( STYLE, DISTANCE_BEFORE_SEP, XML_ATACTION_IN2INCH ),
864*cdf0e10cSrcweir 	ENTRY0( STYLE, DISTANCE_AFTER_SEP, XML_ATACTION_IN2INCH ),
865*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
866*cdf0e10cSrcweir };
867*cdf0e10cSrcweir 
868*cdf0e10cSrcweir // OASIS_NOTES_ACTIONS (processed by special context)
869*cdf0e10cSrcweir static XMLTransformerActionInit aNotesActionTable[] =
870*cdf0e10cSrcweir {
871*cdf0e10cSrcweir 	ENTRY0( TEXT, NOTE_CLASS, XML_ATACTION_STYLE_FAMILY ),
872*cdf0e10cSrcweir 	ENTRY1( TEXT, CITATION_STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
873*cdf0e10cSrcweir 				XML_FAMILY_TYPE_TEXT ),
874*cdf0e10cSrcweir 	ENTRY1( TEXT, CITATION_BODY_STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
875*cdf0e10cSrcweir 				XML_FAMILY_TYPE_TEXT ),
876*cdf0e10cSrcweir 	ENTRY1( TEXT, DEFAULT_STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
877*cdf0e10cSrcweir 				XML_FAMILY_TYPE_PARAGRAPH ),
878*cdf0e10cSrcweir 	ENTRY1( TEXT, MASTER_PAGE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
879*cdf0e10cSrcweir 				XML_FAMILY_TYPE_MASTER_PAGE ),
880*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
881*cdf0e10cSrcweir };
882*cdf0e10cSrcweir 
883*cdf0e10cSrcweir // OASIS_DROP_CAP_ACTIONS
884*cdf0e10cSrcweir static XMLTransformerActionInit aDropCapActionTable[] =
885*cdf0e10cSrcweir {
886*cdf0e10cSrcweir 	ENTRY0( STYLE, DISTANCE, XML_ATACTION_IN2INCH ),
887*cdf0e10cSrcweir 	ENTRY1( STYLE, STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
888*cdf0e10cSrcweir 				XML_FAMILY_TYPE_TEXT ),
889*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
890*cdf0e10cSrcweir };
891*cdf0e10cSrcweir 
892*cdf0e10cSrcweir static XMLTransformerActionInit aColumnsActionTable[] =
893*cdf0e10cSrcweir {
894*cdf0e10cSrcweir 	ENTRY0( STYLE, COLUMN_GAP, XML_ATACTION_IN2INCH ),
895*cdf0e10cSrcweir 	ENTRY0( STYLE, SPACE_BEFORE, XML_ATACTION_REMOVE ),
896*cdf0e10cSrcweir 	ENTRY0( STYLE, SPACE_AFTER, XML_ATACTION_REMOVE ),
897*cdf0e10cSrcweir 	ENTRY1Q( FO, START_INDENT, XML_ATACTION_RENAME_IN2INCH,
898*cdf0e10cSrcweir 		   XML_NAMESPACE_FO, XML_MARGIN_LEFT ),
899*cdf0e10cSrcweir 	ENTRY1Q( FO, END_INDENT, XML_ATACTION_RENAME_IN2INCH,
900*cdf0e10cSrcweir 		   XML_NAMESPACE_FO, XML_MARGIN_RIGHT ),
901*cdf0e10cSrcweir 	ENTRY0( STYLE, WIDTH, XML_ATACTION_IN2INCH ),
902*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
903*cdf0e10cSrcweir };
904*cdf0e10cSrcweir 
905*cdf0e10cSrcweir // OASIS_TEXT_VALUE_TYPE_ACTIONS
906*cdf0e10cSrcweir static XMLTransformerActionInit aTextValueTypeActionTable[] =
907*cdf0e10cSrcweir {
908*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, VALUE_TYPE, XML_ATACTION_RENAME,
909*cdf0e10cSrcweir 		   XML_NAMESPACE_TEXT, XML_VALUE_TYPE ),
910*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, VALUE, XML_ATACTION_RENAME,
911*cdf0e10cSrcweir 		   XML_NAMESPACE_TEXT, XML_VALUE ),
912*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, CURRENCY, XML_ATACTION_RENAME,
913*cdf0e10cSrcweir 		   XML_NAMESPACE_TEXT, XML_CURRENCY ),
914*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, DATE_VALUE, XML_ATACTION_RENAME_RNG2ISO_DATETIME,
915*cdf0e10cSrcweir 		   XML_NAMESPACE_TEXT, XML_DATE_VALUE ),
916*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, TIME_VALUE, XML_ATACTION_RENAME_RNG2ISO_DATETIME,
917*cdf0e10cSrcweir 		   XML_NAMESPACE_TEXT, XML_TIME_VALUE ),
918*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, BOOLEAN_VALUE, XML_ATACTION_RENAME,
919*cdf0e10cSrcweir 		   XML_NAMESPACE_TEXT, XML_BOOLEAN_VALUE ),
920*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, STRING_VALUE, XML_ATACTION_RENAME,
921*cdf0e10cSrcweir 		   XML_NAMESPACE_TEXT, XML_STRING_VALUE ),
922*cdf0e10cSrcweir 	ENTRY0( TEXT, FORMULA, XML_ATACTION_REMOVE_ANY_NAMESPACE_PREFIX ),
923*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
924*cdf0e10cSrcweir };
925*cdf0e10cSrcweir 
926*cdf0e10cSrcweir // OASIS_TABLE_VALUE_TYPE_ACTIONS
927*cdf0e10cSrcweir static XMLTransformerActionInit aTableValueTypeActionTable[] =
928*cdf0e10cSrcweir {
929*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, VALUE_TYPE, XML_ATACTION_RENAME,
930*cdf0e10cSrcweir 		   XML_NAMESPACE_TABLE, XML_VALUE_TYPE ),
931*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, VALUE, XML_ATACTION_RENAME,
932*cdf0e10cSrcweir 		   XML_NAMESPACE_TABLE, XML_VALUE ),
933*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, CURRENCY, XML_ATACTION_RENAME,
934*cdf0e10cSrcweir 		   XML_NAMESPACE_TABLE, XML_CURRENCY ),
935*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, DATE_VALUE, XML_ATACTION_RENAME_RNG2ISO_DATETIME,
936*cdf0e10cSrcweir 		   XML_NAMESPACE_TABLE, XML_DATE_VALUE ),
937*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, TIME_VALUE, XML_ATACTION_RENAME_RNG2ISO_DATETIME,
938*cdf0e10cSrcweir 		   XML_NAMESPACE_TABLE, XML_TIME_VALUE ),
939*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, BOOLEAN_VALUE, XML_ATACTION_RENAME,
940*cdf0e10cSrcweir 		   XML_NAMESPACE_TABLE, XML_BOOLEAN_VALUE ),
941*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, STRING_VALUE, XML_ATACTION_RENAME,
942*cdf0e10cSrcweir 		   XML_NAMESPACE_TABLE, XML_STRING_VALUE ),
943*cdf0e10cSrcweir 	ENTRY1( TABLE, STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
944*cdf0e10cSrcweir 				XML_FAMILY_TYPE_TABLE_CELL ),
945*cdf0e10cSrcweir 	ENTRY0( TABLE, FORMULA, XML_ATACTION_REMOVE_ANY_NAMESPACE_PREFIX ),
946*cdf0e10cSrcweir 	ENTRY1Q( TABLE, CONTENT_VALIDATION_NAME, XML_ATACTION_RENAME,
947*cdf0e10cSrcweir 		   XML_NAMESPACE_TABLE, XML_VALIDATION_NAME ),
948*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
949*cdf0e10cSrcweir };
950*cdf0e10cSrcweir 
951*cdf0e10cSrcweir // action table for OASIS_ANNOTATION_ACTIONS
952*cdf0e10cSrcweir static XMLTransformerActionInit aAnnotationActionTable[] =
953*cdf0e10cSrcweir {
954*cdf0e10cSrcweir 	ENTRY1Q( DC, CREATOR, XML_ATACTION_MOVE_FROM_ELEM,
955*cdf0e10cSrcweir 				XML_NAMESPACE_OFFICE, XML_AUTHOR ),
956*cdf0e10cSrcweir 	ENTRY1Q( DC, DATE, XML_ATACTION_MOVE_FROM_ELEM_RNG2ISO_DATETIME,
957*cdf0e10cSrcweir 				XML_NAMESPACE_OFFICE, XML_CREATE_DATE ),
958*cdf0e10cSrcweir 	ENTRY1Q( META, DATE_STRING, XML_ATACTION_MOVE_FROM_ELEM,
959*cdf0e10cSrcweir 				XML_NAMESPACE_OFFICE, XML_CREATE_DATE_STRING ),
960*cdf0e10cSrcweir     ENTRY0( TEXT, P, XML_ETACTION_EXTRACT_CHARACTERS ),
961*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
962*cdf0e10cSrcweir };
963*cdf0e10cSrcweir 
964*cdf0e10cSrcweir // action table for OASIS_CHANGE_INFO_ACTIONS
965*cdf0e10cSrcweir static XMLTransformerActionInit aChangeInfoActionTable[] =
966*cdf0e10cSrcweir {
967*cdf0e10cSrcweir 	ENTRY1Q( DC, CREATOR, XML_ATACTION_MOVE_FROM_ELEM,
968*cdf0e10cSrcweir 				XML_NAMESPACE_OFFICE, XML_CHG_AUTHOR ),
969*cdf0e10cSrcweir 	ENTRY1Q( DC, DATE, XML_ATACTION_MOVE_FROM_ELEM_RNG2ISO_DATETIME,
970*cdf0e10cSrcweir 				XML_NAMESPACE_OFFICE, XML_CHG_DATE_TIME ),
971*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
972*cdf0e10cSrcweir };
973*cdf0e10cSrcweir 
974*cdf0e10cSrcweir // OASIS_BACKGROUND_IMAGE_ACTIONS
975*cdf0e10cSrcweir static XMLTransformerActionInit aBackgroundImageActionTable[] =
976*cdf0e10cSrcweir {
977*cdf0e10cSrcweir 	ENTRY1Q( DRAW, OPACITY, XML_ATACTION_RENAME_NEG_PERCENT,
978*cdf0e10cSrcweir 		 			XML_NAMESPACE_DRAW, XML_TRANSPARENCY ),
979*cdf0e10cSrcweir 	ENTRY1( XLINK, HREF, XML_ATACTION_URI_OASIS, sal_True ),
980*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
981*cdf0e10cSrcweir };
982*cdf0e10cSrcweir 
983*cdf0e10cSrcweir // OASIS_DDE_CONNECTION_DECL
984*cdf0e10cSrcweir static XMLTransformerActionInit aDDEConnectionDeclActionTable[] =
985*cdf0e10cSrcweir {
986*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, NAME, XML_ATACTION_RENAME,
987*cdf0e10cSrcweir 		 			XML_NAMESPACE_TEXT, XML_NAME ),
988*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
989*cdf0e10cSrcweir };
990*cdf0e10cSrcweir 
991*cdf0e10cSrcweir 
992*cdf0e10cSrcweir // OASIS_FORM_CONTROL_ACTIONS
993*cdf0e10cSrcweir static XMLTransformerActionInit aFormControlActionTable[] =
994*cdf0e10cSrcweir {
995*cdf0e10cSrcweir 	ENTRY0( FORM, NAME, XML_ATACTION_MOVE_TO_ELEM ),
996*cdf0e10cSrcweir 	ENTRY2QN( FORM, CONTROL_IMPLEMENTATION,
997*cdf0e10cSrcweir 					XML_ATACTION_RENAME_REMOVE_NAMESPACE_PREFIX,
998*cdf0e10cSrcweir 		   			XML_NAMESPACE_FORM, XML_SERVICE_NAME,
999*cdf0e10cSrcweir 					XML_NAMESPACE_OOO ),
1000*cdf0e10cSrcweir 	ENTRY0( FORM, ID, XML_ATACTION_MOVE_TO_ELEM ),
1001*cdf0e10cSrcweir 	ENTRY1( XLINK, HREF, XML_ATACTION_URI_OASIS, sal_False ),
1002*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1003*cdf0e10cSrcweir };
1004*cdf0e10cSrcweir 
1005*cdf0e10cSrcweir // OASIS_FORM_COLUMN_ACTIONS
1006*cdf0e10cSrcweir static XMLTransformerActionInit aFormColumnActionTable[] =
1007*cdf0e10cSrcweir {
1008*cdf0e10cSrcweir 	ENTRY1Q( FORM, TEXT_STYLE_NAME, XML_ATACTION_RENAME_DECODE_STYLE_NAME_REF,
1009*cdf0e10cSrcweir 						XML_NAMESPACE_FORM, XML_COLUMN_STYLE_NAME ),
1010*cdf0e10cSrcweir 	ENTRY2QN( FORM, CONTROL_IMPLEMENTATION,
1011*cdf0e10cSrcweir 					XML_ATACTION_RENAME_REMOVE_NAMESPACE_PREFIX,
1012*cdf0e10cSrcweir 		   			XML_NAMESPACE_FORM, XML_SERVICE_NAME,
1013*cdf0e10cSrcweir 					XML_NAMESPACE_OOO ),
1014*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1015*cdf0e10cSrcweir };
1016*cdf0e10cSrcweir 
1017*cdf0e10cSrcweir // OASIS_FORM_PROP_ACTIONS
1018*cdf0e10cSrcweir static XMLTransformerActionInit aFormPropActionTable[] =
1019*cdf0e10cSrcweir {
1020*cdf0e10cSrcweir 	ENTRY1Q( OFFICE, VALUE_TYPE, XML_ATACTION_RENAME,
1021*cdf0e10cSrcweir 		  				XML_NAMESPACE_FORM, XML_PROPERTY_TYPE ),
1022*cdf0e10cSrcweir 	ENTRY0( OFFICE, VALUE, XML_ATACTION_REMOVE ),
1023*cdf0e10cSrcweir 	ENTRY0( OFFICE, STRING_VALUE, XML_ATACTION_REMOVE ),
1024*cdf0e10cSrcweir 	ENTRY0( OFFICE, BOOLEAN_VALUE, XML_ATACTION_REMOVE ),
1025*cdf0e10cSrcweir 	ENTRY0( OFFICE, DATE_VALUE, XML_ATACTION_REMOVE ),
1026*cdf0e10cSrcweir 	ENTRY0( OFFICE, TIME_VALUE, XML_ATACTION_REMOVE ),
1027*cdf0e10cSrcweir 	ENTRY0( OFFICE, CURRENCY, XML_ATACTION_REMOVE ),
1028*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1029*cdf0e10cSrcweir };
1030*cdf0e10cSrcweir 
1031*cdf0e10cSrcweir // OASIS_XLINK_ACTIONS
1032*cdf0e10cSrcweir static XMLTransformerActionInit aXLinkActionTable[] =
1033*cdf0e10cSrcweir {
1034*cdf0e10cSrcweir 	ENTRY1( XLINK, HREF, XML_ATACTION_URI_OASIS, sal_False ),
1035*cdf0e10cSrcweir     ENTRY0( TABLE, REFRESH_DELAY, XML_ATACTION_RNG2ISO_DATETIME ),
1036*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1037*cdf0e10cSrcweir };
1038*cdf0e10cSrcweir 
1039*cdf0e10cSrcweir // OASIS_CONFIG_ITEM_SET_ACTIONS
1040*cdf0e10cSrcweir static XMLTransformerActionInit aConfigItemSetActionTable[] =
1041*cdf0e10cSrcweir {
1042*cdf0e10cSrcweir 	ENTRY1( CONFIG, NAME, XML_ATACTION_REMOVE_NAMESPACE_PREFIX,
1043*cdf0e10cSrcweir 					XML_NAMESPACE_OOO ),
1044*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1045*cdf0e10cSrcweir };
1046*cdf0e10cSrcweir 
1047*cdf0e10cSrcweir // OASIS_FORMULA_ACTIONS
1048*cdf0e10cSrcweir static XMLTransformerActionInit aFormulaActionTable[] =
1049*cdf0e10cSrcweir {
1050*cdf0e10cSrcweir 	ENTRY0( TEXT, CONDITION, XML_ATACTION_REMOVE_ANY_NAMESPACE_PREFIX ),
1051*cdf0e10cSrcweir 	ENTRY0( TEXT, FORMULA, XML_ATACTION_REMOVE_ANY_NAMESPACE_PREFIX ),
1052*cdf0e10cSrcweir 	ENTRY0( TABLE, CONDITION, XML_ATACTION_REMOVE_ANY_NAMESPACE_PREFIX ),
1053*cdf0e10cSrcweir 	ENTRY0( TABLE, FORMULA, XML_ATACTION_REMOVE_ANY_NAMESPACE_PREFIX ),
1054*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1055*cdf0e10cSrcweir };
1056*cdf0e10cSrcweir 
1057*cdf0e10cSrcweir // OASIS_CONTENT_VALIDATION_ACTIONS
1058*cdf0e10cSrcweir static XMLTransformerActionInit aContentValidationActionTable[] =
1059*cdf0e10cSrcweir {
1060*cdf0e10cSrcweir 	ENTRY0( TABLE, CONDITION, XML_ATACTION_REMOVE_ANY_NAMESPACE_PREFIX ),
1061*cdf0e10cSrcweir     ENTRY0( TABLE, DISPLAY_LIST, XML_ATACTION_REMOVE ),
1062*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1063*cdf0e10cSrcweir };
1064*cdf0e10cSrcweir 
1065*cdf0e10cSrcweir // OASIS_DDE_CONV_MODE_ACTIONS
1066*cdf0e10cSrcweir static XMLTransformerActionInit aDDEConvModeActionTable[] =
1067*cdf0e10cSrcweir {
1068*cdf0e10cSrcweir 	ENTRY1Q( TABLE, KEEP_TEXT, XML_ATACTION_RENAME,
1069*cdf0e10cSrcweir 						XML_NAMESPACE_TABLE, XML_LET_TEXT ),
1070*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1071*cdf0e10cSrcweir };
1072*cdf0e10cSrcweir 
1073*cdf0e10cSrcweir // OASIS_DATAPILOT_MEMBER_ACTIONS
1074*cdf0e10cSrcweir static XMLTransformerActionInit aDataPilotMemberActionTable[] =
1075*cdf0e10cSrcweir {
1076*cdf0e10cSrcweir 	ENTRY1Q( TABLE, SHOW_DETAILS, XML_ATACTION_RENAME,
1077*cdf0e10cSrcweir 						XML_NAMESPACE_TABLE, XML_DISPLAY_DETAILS ),
1078*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1079*cdf0e10cSrcweir };
1080*cdf0e10cSrcweir 
1081*cdf0e10cSrcweir // OASIS_DATAPILOT_LEVEL_ACTIONS
1082*cdf0e10cSrcweir static XMLTransformerActionInit aDataPilotLevelActionTable[] =
1083*cdf0e10cSrcweir {
1084*cdf0e10cSrcweir 	ENTRY1Q( TABLE, SHOW_EMPTY, XML_ATACTION_RENAME,
1085*cdf0e10cSrcweir 						XML_NAMESPACE_TABLE, XML_DISPLAY_EMPTY ),
1086*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1087*cdf0e10cSrcweir };
1088*cdf0e10cSrcweir 
1089*cdf0e10cSrcweir // OASIS_SOURCE_SERVICE_ACTIONS
1090*cdf0e10cSrcweir static XMLTransformerActionInit aSourceServiceActionTable[] =
1091*cdf0e10cSrcweir {
1092*cdf0e10cSrcweir 	ENTRY1Q( TABLE, USER_NAME, XML_ATACTION_RENAME,
1093*cdf0e10cSrcweir 						XML_NAMESPACE_TABLE, XML_USERNAME ),
1094*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1095*cdf0e10cSrcweir };
1096*cdf0e10cSrcweir 
1097*cdf0e10cSrcweir // OASIS_CHART_ACTIONS
1098*cdf0e10cSrcweir static XMLTransformerActionInit aChartActionTable[] =
1099*cdf0e10cSrcweir {
1100*cdf0e10cSrcweir 	ENTRY0( CHART, CLASS, XML_ATACTION_REMOVE_ANY_NAMESPACE_PREFIX ),
1101*cdf0e10cSrcweir 	ENTRY1( DRAW, STYLE_NAME, XML_ATACTION_DECODE_STYLE_NAME_REF,
1102*cdf0e10cSrcweir 				XML_FAMILY_TYPE_GRAPHIC ),
1103*cdf0e10cSrcweir 	ENTRY0( SVG, WIDTH, XML_ATACTION_IN2INCH ),
1104*cdf0e10cSrcweir 	ENTRY0( SVG, HEIGHT, XML_ATACTION_IN2INCH ),
1105*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1106*cdf0e10cSrcweir };
1107*cdf0e10cSrcweir 
1108*cdf0e10cSrcweir // OASIS_FORM_ACTIONS
1109*cdf0e10cSrcweir static XMLTransformerActionInit aFormActionTable[] =
1110*cdf0e10cSrcweir {
1111*cdf0e10cSrcweir 	ENTRY2QN( FORM, CONTROL_IMPLEMENTATION,
1112*cdf0e10cSrcweir 					XML_ATACTION_RENAME_REMOVE_NAMESPACE_PREFIX,
1113*cdf0e10cSrcweir 		   			XML_NAMESPACE_FORM, XML_SERVICE_NAME,
1114*cdf0e10cSrcweir 					XML_NAMESPACE_OOO ),
1115*cdf0e10cSrcweir 	ENTRY1( XLINK, HREF, XML_ATACTION_URI_OASIS, sal_False ),
1116*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1117*cdf0e10cSrcweir };
1118*cdf0e10cSrcweir 
1119*cdf0e10cSrcweir // OASIS_ALPHABETICAL_INDEX_MARK_ACTIONS
1120*cdf0e10cSrcweir static XMLTransformerActionInit aAlphabeticalIndexMarkActionTable[] =
1121*cdf0e10cSrcweir {
1122*cdf0e10cSrcweir 	ENTRY1Q( TEXT, MAIN_ENTRY, XML_ATACTION_RENAME,
1123*cdf0e10cSrcweir 						XML_NAMESPACE_TEXT, XML_MAIN_ETRY ),
1124*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1125*cdf0e10cSrcweir };
1126*cdf0e10cSrcweir 
1127*cdf0e10cSrcweir // OASIS_DRAW_AREA_POLYGON_ACTIONS (to be added to OASIS_SHAPE_ACTIONS)
1128*cdf0e10cSrcweir static XMLTransformerActionInit aDrawAreaPolygonActionTable[] =
1129*cdf0e10cSrcweir {
1130*cdf0e10cSrcweir 	ENTRY1Q( DRAW, POINTS, XML_ATACTION_RENAME,
1131*cdf0e10cSrcweir              XML_NAMESPACE_SVG, XML_POINTS ),
1132*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1133*cdf0e10cSrcweir };
1134*cdf0e10cSrcweir 
1135*cdf0e10cSrcweir // OASIS_SCRIPT_ACTIONS
1136*cdf0e10cSrcweir static XMLTransformerActionInit aScriptActionTable[] =
1137*cdf0e10cSrcweir {
1138*cdf0e10cSrcweir     ENTRY1( SCRIPT, LANGUAGE, XML_ATACTION_REMOVE_NAMESPACE_PREFIX, XML_NAMESPACE_OOO ),
1139*cdf0e10cSrcweir     ENTRY1Q( OOO, NAME, XML_ATACTION_RENAME, XML_NAMESPACE_SCRIPT, XML_NAME ),
1140*cdf0e10cSrcweir     ENTRY1Q( OOO, READONLY, XML_ATACTION_RENAME, XML_NAMESPACE_SCRIPT, XML_READONLY ),
1141*cdf0e10cSrcweir     ENTRY0( OFFICE, TOKEN_INVALID, XML_ATACTION_EOT )
1142*cdf0e10cSrcweir };
1143*cdf0e10cSrcweir 
1144*cdf0e10cSrcweir // OASIS_DATETIME_ACTIONS
1145*cdf0e10cSrcweir static XMLTransformerActionInit aDateTimeActionTable[] =
1146*cdf0e10cSrcweir {
1147*cdf0e10cSrcweir 	ENTRY0( TEXT,   DATE_VALUE,        XML_ATACTION_RNG2ISO_DATETIME ),
1148*cdf0e10cSrcweir     ENTRY0( TEXT,   TIME_VALUE,        XML_ATACTION_RNG2ISO_DATETIME ),
1149*cdf0e10cSrcweir 	ENTRY0( TEXT,   DATE_ADJUST,       XML_ATACTION_RNG2ISO_DATETIME ),
1150*cdf0e10cSrcweir 	ENTRY0( TEXT,   TIME_ADJUST,       XML_ATACTION_RNG2ISO_DATETIME ),
1151*cdf0e10cSrcweir 	ENTRY0( TEXT,   DURATION,          XML_ATACTION_RNG2ISO_DATETIME ),
1152*cdf0e10cSrcweir 	ENTRY0( OFFICE, DATE_VALUE,        XML_ATACTION_RNG2ISO_DATETIME ),
1153*cdf0e10cSrcweir 	ENTRY0( OFFICE, TIME_VALUE,        XML_ATACTION_RNG2ISO_DATETIME ),
1154*cdf0e10cSrcweir     ENTRY0( FORM,   VALUE,             XML_ATACTION_RNG2ISO_DATETIME ),
1155*cdf0e10cSrcweir     ENTRY0( FORM,   CURRENT_VALUE,     XML_ATACTION_RNG2ISO_DATETIME ),
1156*cdf0e10cSrcweir     ENTRY0( TABLE,  DATE_START,        XML_ATACTION_RNG2ISO_DATETIME ),
1157*cdf0e10cSrcweir     ENTRY0( TABLE,  DATE_END,          XML_ATACTION_RNG2ISO_DATETIME ),
1158*cdf0e10cSrcweir     ENTRY0( TABLE,  REFRESH_DELAY,     XML_ATACTION_RNG2ISO_DATETIME ),
1159*cdf0e10cSrcweir     ENTRY0( PRESENTATION, DELAY,       XML_ATACTION_RNG2ISO_DATETIME ),
1160*cdf0e10cSrcweir     ENTRY0( PRESENTATION, PAUSE,       XML_ATACTION_RNG2ISO_DATETIME ),
1161*cdf0e10cSrcweir 	ENTRY0( OFFICE, TOKEN_INVALID,     XML_ATACTION_EOT )
1162*cdf0e10cSrcweir };
1163*cdf0e10cSrcweir 
1164*cdf0e10cSrcweir static XMLTokenEnum aTokenMap[] =
1165*cdf0e10cSrcweir {
1166*cdf0e10cSrcweir 	XML_NONE, XML_SOLID, XML_DOTTED, XML_DASH, XML_LONG_DASH, XML_DOT_DASH,
1167*cdf0e10cSrcweir 	XML_DOT_DOT_DASH, XML_WAVE, XML_SMALL_WAVE, XML_TOKEN_END
1168*cdf0e10cSrcweir };
1169*cdf0e10cSrcweir 
1170*cdf0e10cSrcweir // -----------------------------------------------------------------------------
1171*cdf0e10cSrcweir 
1172*cdf0e10cSrcweir class XMLTableTransformerContext_Impl : public XMLTransformerContext
1173*cdf0e10cSrcweir {
1174*cdf0e10cSrcweir 	::rtl::OUString m_aElemQName;
1175*cdf0e10cSrcweir 
1176*cdf0e10cSrcweir public:
1177*cdf0e10cSrcweir 	TYPEINFO();
1178*cdf0e10cSrcweir 
1179*cdf0e10cSrcweir 	XMLTableTransformerContext_Impl( XMLTransformerBase& rTransformer,
1180*cdf0e10cSrcweir 						   const ::rtl::OUString& rQName );
1181*cdf0e10cSrcweir 
1182*cdf0e10cSrcweir 	virtual ~XMLTableTransformerContext_Impl();
1183*cdf0e10cSrcweir 
1184*cdf0e10cSrcweir 	virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList );
1185*cdf0e10cSrcweir 	virtual void EndElement();
1186*cdf0e10cSrcweir };
1187*cdf0e10cSrcweir 
1188*cdf0e10cSrcweir TYPEINIT1( XMLTableTransformerContext_Impl, XMLTransformerContext );
1189*cdf0e10cSrcweir 
1190*cdf0e10cSrcweir XMLTableTransformerContext_Impl::XMLTableTransformerContext_Impl(
1191*cdf0e10cSrcweir 		XMLTransformerBase& rImp,
1192*cdf0e10cSrcweir 	    const OUString& rQName ) :
1193*cdf0e10cSrcweir 	XMLTransformerContext( rImp, rQName ),
1194*cdf0e10cSrcweir 	m_aElemQName( rQName )
1195*cdf0e10cSrcweir {
1196*cdf0e10cSrcweir }
1197*cdf0e10cSrcweir 
1198*cdf0e10cSrcweir XMLTableTransformerContext_Impl::~XMLTableTransformerContext_Impl()
1199*cdf0e10cSrcweir {
1200*cdf0e10cSrcweir }
1201*cdf0e10cSrcweir 
1202*cdf0e10cSrcweir void XMLTableTransformerContext_Impl::StartElement(
1203*cdf0e10cSrcweir 		const Reference< XAttributeList >& rAttrList )
1204*cdf0e10cSrcweir {
1205*cdf0e10cSrcweir 	Reference< XAttributeList > xAttrList( rAttrList );
1206*cdf0e10cSrcweir 
1207*cdf0e10cSrcweir     XMLMutableAttributeList *pMutableAttrList = 0;
1208*cdf0e10cSrcweir     // <--
1209*cdf0e10cSrcweir 
1210*cdf0e10cSrcweir     sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
1211*cdf0e10cSrcweir 	for( sal_Int16 i=0; i < nAttrCount; i++ )
1212*cdf0e10cSrcweir 	{
1213*cdf0e10cSrcweir 		const OUString& rAttrName = xAttrList->getNameByIndex( i );
1214*cdf0e10cSrcweir 		OUString aLocalName;
1215*cdf0e10cSrcweir 		sal_uInt16 nPrefix =
1216*cdf0e10cSrcweir 			GetTransformer().GetNamespaceMap().GetKeyByAttrName( rAttrName,
1217*cdf0e10cSrcweir 																 &aLocalName );
1218*cdf0e10cSrcweir         if( XML_NAMESPACE_TABLE == nPrefix )
1219*cdf0e10cSrcweir         {
1220*cdf0e10cSrcweir             if ( IsXMLToken( aLocalName, XML_IS_SUB_TABLE ) )
1221*cdf0e10cSrcweir             {
1222*cdf0e10cSrcweir                 const OUString& rValue = xAttrList->getValueByIndex( i );
1223*cdf0e10cSrcweir                 if( IsXMLToken( rValue, XML_TRUE ) )
1224*cdf0e10cSrcweir                 {
1225*cdf0e10cSrcweir                     m_aElemQName = GetTransformer().GetNamespaceMap().GetQNameByKey(
1226*cdf0e10cSrcweir                                 XML_NAMESPACE_TABLE,
1227*cdf0e10cSrcweir                                 ::xmloff::token::GetXMLToken( XML_SUB_TABLE ) );
1228*cdf0e10cSrcweir                     if ( !pMutableAttrList )
1229*cdf0e10cSrcweir                     {
1230*cdf0e10cSrcweir                         pMutableAttrList =
1231*cdf0e10cSrcweir                             new XMLMutableAttributeList( xAttrList );
1232*cdf0e10cSrcweir                         xAttrList = pMutableAttrList;
1233*cdf0e10cSrcweir                     }
1234*cdf0e10cSrcweir                     pMutableAttrList->RemoveAttributeByIndex( i );
1235*cdf0e10cSrcweir                 }
1236*cdf0e10cSrcweir                 // OD 2005-07-05 #i50521# - no break here for savety reason.
1237*cdf0e10cSrcweir             }
1238*cdf0e10cSrcweir             // --> OD 2005-01-10 #i40011#, #i40015#
1239*cdf0e10cSrcweir             // - convert attribute table:style-name for <table:table>
1240*cdf0e10cSrcweir             else if ( IsXMLToken( aLocalName, XML_STYLE_NAME ) )
1241*cdf0e10cSrcweir             {
1242*cdf0e10cSrcweir                 const OUString& rValue = xAttrList->getValueByIndex( i );
1243*cdf0e10cSrcweir                 OUString aAttrValue( rValue );
1244*cdf0e10cSrcweir                 if( GetTransformer().DecodeStyleName(aAttrValue) )
1245*cdf0e10cSrcweir                 {
1246*cdf0e10cSrcweir                     if ( !pMutableAttrList )
1247*cdf0e10cSrcweir                     {
1248*cdf0e10cSrcweir                         pMutableAttrList =
1249*cdf0e10cSrcweir                             new XMLMutableAttributeList( xAttrList );
1250*cdf0e10cSrcweir                         xAttrList = pMutableAttrList;
1251*cdf0e10cSrcweir                     }
1252*cdf0e10cSrcweir                     pMutableAttrList->SetValueByIndex( i, aAttrValue );
1253*cdf0e10cSrcweir                 }
1254*cdf0e10cSrcweir             }
1255*cdf0e10cSrcweir             // <--
1256*cdf0e10cSrcweir             else if( IsXMLToken( aLocalName, XML_PRINT ) )
1257*cdf0e10cSrcweir             {
1258*cdf0e10cSrcweir                 if ( !pMutableAttrList )
1259*cdf0e10cSrcweir                 {
1260*cdf0e10cSrcweir                     pMutableAttrList =
1261*cdf0e10cSrcweir                         new XMLMutableAttributeList( xAttrList );
1262*cdf0e10cSrcweir                     xAttrList = pMutableAttrList;
1263*cdf0e10cSrcweir                 }
1264*cdf0e10cSrcweir     			pMutableAttrList->RemoveAttributeByIndex( i );
1265*cdf0e10cSrcweir             }
1266*cdf0e10cSrcweir         }
1267*cdf0e10cSrcweir 	}
1268*cdf0e10cSrcweir 
1269*cdf0e10cSrcweir 	GetTransformer().GetDocHandler()->startElement( m_aElemQName, xAttrList );
1270*cdf0e10cSrcweir }
1271*cdf0e10cSrcweir 
1272*cdf0e10cSrcweir void XMLTableTransformerContext_Impl::EndElement()
1273*cdf0e10cSrcweir {
1274*cdf0e10cSrcweir 	GetTransformer().GetDocHandler()->endElement( m_aElemQName );
1275*cdf0e10cSrcweir }
1276*cdf0e10cSrcweir 
1277*cdf0e10cSrcweir // -----------------------------------------------------------------------------
1278*cdf0e10cSrcweir 
1279*cdf0e10cSrcweir class XMLBodyOASISTransformerContext_Impl : public XMLTransformerContext
1280*cdf0e10cSrcweir {
1281*cdf0e10cSrcweir 	sal_Bool m_bFirstChild;
1282*cdf0e10cSrcweir 
1283*cdf0e10cSrcweir public:
1284*cdf0e10cSrcweir 	TYPEINFO();
1285*cdf0e10cSrcweir 
1286*cdf0e10cSrcweir 	XMLBodyOASISTransformerContext_Impl( XMLTransformerBase& rTransformer,
1287*cdf0e10cSrcweir 						   const ::rtl::OUString& rQName );
1288*cdf0e10cSrcweir 
1289*cdf0e10cSrcweir 	virtual ~XMLBodyOASISTransformerContext_Impl();
1290*cdf0e10cSrcweir 
1291*cdf0e10cSrcweir 	virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList );
1292*cdf0e10cSrcweir 
1293*cdf0e10cSrcweir 	virtual XMLTransformerContext *CreateChildContext( sal_uInt16 nPrefix,
1294*cdf0e10cSrcweir 								   const ::rtl::OUString& rLocalName,
1295*cdf0e10cSrcweir 								   const ::rtl::OUString& rQName,
1296*cdf0e10cSrcweir 								   const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList );
1297*cdf0e10cSrcweir 	virtual void EndElement();
1298*cdf0e10cSrcweir };
1299*cdf0e10cSrcweir 
1300*cdf0e10cSrcweir TYPEINIT1( XMLBodyOASISTransformerContext_Impl, XMLTransformerContext );
1301*cdf0e10cSrcweir 
1302*cdf0e10cSrcweir XMLBodyOASISTransformerContext_Impl::XMLBodyOASISTransformerContext_Impl(
1303*cdf0e10cSrcweir 		XMLTransformerBase& rImp,
1304*cdf0e10cSrcweir 	    const OUString& rQName ) :
1305*cdf0e10cSrcweir 	XMLTransformerContext( rImp, rQName ),
1306*cdf0e10cSrcweir 	m_bFirstChild( sal_False )
1307*cdf0e10cSrcweir {
1308*cdf0e10cSrcweir }
1309*cdf0e10cSrcweir 
1310*cdf0e10cSrcweir XMLBodyOASISTransformerContext_Impl::~XMLBodyOASISTransformerContext_Impl()
1311*cdf0e10cSrcweir {
1312*cdf0e10cSrcweir }
1313*cdf0e10cSrcweir 
1314*cdf0e10cSrcweir void XMLBodyOASISTransformerContext_Impl::StartElement(
1315*cdf0e10cSrcweir 		const Reference< XAttributeList >& )
1316*cdf0e10cSrcweir {
1317*cdf0e10cSrcweir }
1318*cdf0e10cSrcweir 
1319*cdf0e10cSrcweir XMLTransformerContext* XMLBodyOASISTransformerContext_Impl::CreateChildContext( sal_uInt16 nPrefix,
1320*cdf0e10cSrcweir 								   const ::rtl::OUString& rLocalName,
1321*cdf0e10cSrcweir 								   const ::rtl::OUString& rQName,
1322*cdf0e10cSrcweir 								   const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList )
1323*cdf0e10cSrcweir {
1324*cdf0e10cSrcweir     if (!m_bFirstChild)
1325*cdf0e10cSrcweir     {
1326*cdf0e10cSrcweir         m_bFirstChild = sal_True;
1327*cdf0e10cSrcweir         XMLTransformerContext::StartElement(xAttrList);
1328*cdf0e10cSrcweir     }
1329*cdf0e10cSrcweir 
1330*cdf0e10cSrcweir     return XMLTransformerContext::CreateChildContext(nPrefix, rLocalName, rQName, xAttrList);
1331*cdf0e10cSrcweir }
1332*cdf0e10cSrcweir 
1333*cdf0e10cSrcweir void XMLBodyOASISTransformerContext_Impl::EndElement()
1334*cdf0e10cSrcweir {
1335*cdf0e10cSrcweir     if (!m_bFirstChild)
1336*cdf0e10cSrcweir         XMLTransformerContext::StartElement(Reference< XAttributeList >());
1337*cdf0e10cSrcweir 
1338*cdf0e10cSrcweir     XMLTransformerContext::EndElement();
1339*cdf0e10cSrcweir }
1340*cdf0e10cSrcweir 
1341*cdf0e10cSrcweir //-----------------------------------------------------------------------------
1342*cdf0e10cSrcweir 
1343*cdf0e10cSrcweir class XMLTabStopOASISTContext_Impl : public XMLPersElemContentTContext
1344*cdf0e10cSrcweir {
1345*cdf0e10cSrcweir public:
1346*cdf0e10cSrcweir 	TYPEINFO();
1347*cdf0e10cSrcweir 
1348*cdf0e10cSrcweir 	XMLTabStopOASISTContext_Impl( XMLTransformerBase& rTransformer,
1349*cdf0e10cSrcweir 						   const ::rtl::OUString& rQName );
1350*cdf0e10cSrcweir 
1351*cdf0e10cSrcweir 	virtual ~XMLTabStopOASISTContext_Impl();
1352*cdf0e10cSrcweir 
1353*cdf0e10cSrcweir 	virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList );
1354*cdf0e10cSrcweir };
1355*cdf0e10cSrcweir 
1356*cdf0e10cSrcweir TYPEINIT1( XMLTabStopOASISTContext_Impl, XMLPersElemContentTContext );
1357*cdf0e10cSrcweir 
1358*cdf0e10cSrcweir XMLTabStopOASISTContext_Impl::XMLTabStopOASISTContext_Impl(
1359*cdf0e10cSrcweir 		XMLTransformerBase& rImp,
1360*cdf0e10cSrcweir 		const OUString& rQName ) :
1361*cdf0e10cSrcweir 	XMLPersElemContentTContext( rImp, rQName )
1362*cdf0e10cSrcweir {
1363*cdf0e10cSrcweir }
1364*cdf0e10cSrcweir 
1365*cdf0e10cSrcweir XMLTabStopOASISTContext_Impl::~XMLTabStopOASISTContext_Impl()
1366*cdf0e10cSrcweir {
1367*cdf0e10cSrcweir }
1368*cdf0e10cSrcweir 
1369*cdf0e10cSrcweir void XMLTabStopOASISTContext_Impl::StartElement(
1370*cdf0e10cSrcweir 		const Reference< XAttributeList >& rAttrList )
1371*cdf0e10cSrcweir {
1372*cdf0e10cSrcweir 	XMLTransformerActions *pActions =
1373*cdf0e10cSrcweir 		GetTransformer().GetUserDefinedActions( OASIS_TAB_STOP_ACTIONS  );
1374*cdf0e10cSrcweir 	OSL_ENSURE( pActions, "go no actions" );
1375*cdf0e10cSrcweir 
1376*cdf0e10cSrcweir 	sal_Unicode cStyleLeaderChar = 0;
1377*cdf0e10cSrcweir 	sal_Int16 nLeaderText = -1;
1378*cdf0e10cSrcweir 	Reference< XAttributeList > xAttrList( rAttrList );
1379*cdf0e10cSrcweir 	XMLMutableAttributeList *pMutableAttrList = 0;
1380*cdf0e10cSrcweir 	sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
1381*cdf0e10cSrcweir 	for( sal_Int16 i=0; i < nAttrCount; i++ )
1382*cdf0e10cSrcweir 	{
1383*cdf0e10cSrcweir 		const OUString& rAttrName = xAttrList->getNameByIndex( i );
1384*cdf0e10cSrcweir 		OUString aLocalName;
1385*cdf0e10cSrcweir 		sal_uInt16 nPrefix =
1386*cdf0e10cSrcweir 			GetTransformer().GetNamespaceMap().GetKeyByAttrName( rAttrName,
1387*cdf0e10cSrcweir 																 &aLocalName );
1388*cdf0e10cSrcweir 		XMLTransformerActions::key_type aKey( nPrefix, aLocalName );
1389*cdf0e10cSrcweir 		XMLTransformerActions::const_iterator aIter =
1390*cdf0e10cSrcweir 			pActions->find( aKey );
1391*cdf0e10cSrcweir 		if( !(aIter == pActions->end() ) )
1392*cdf0e10cSrcweir 		{
1393*cdf0e10cSrcweir 			if( !pMutableAttrList )
1394*cdf0e10cSrcweir 			{
1395*cdf0e10cSrcweir 				pMutableAttrList =
1396*cdf0e10cSrcweir 					new XMLMutableAttributeList( xAttrList );
1397*cdf0e10cSrcweir 				xAttrList = pMutableAttrList;
1398*cdf0e10cSrcweir 			}
1399*cdf0e10cSrcweir 			const OUString& rAttrValue = xAttrList->getValueByIndex( i );
1400*cdf0e10cSrcweir 			switch( (*aIter).second.m_nActionType )
1401*cdf0e10cSrcweir 			{
1402*cdf0e10cSrcweir 			case XML_ATACTION_REMOVE:
1403*cdf0e10cSrcweir 				if( IsXMLToken( aLocalName, XML_LEADER_STYLE ) )
1404*cdf0e10cSrcweir 				{
1405*cdf0e10cSrcweir 					if( IsXMLToken( rAttrValue, XML_NONE ) )
1406*cdf0e10cSrcweir 						cStyleLeaderChar = ' ';
1407*cdf0e10cSrcweir 					else if( IsXMLToken( rAttrValue, XML_DOTTED ) )
1408*cdf0e10cSrcweir 						cStyleLeaderChar = '.';
1409*cdf0e10cSrcweir 					else
1410*cdf0e10cSrcweir 						cStyleLeaderChar = 0;
1411*cdf0e10cSrcweir 					pMutableAttrList->RemoveAttributeByIndex( i );
1412*cdf0e10cSrcweir 					--i;
1413*cdf0e10cSrcweir 					--nAttrCount;
1414*cdf0e10cSrcweir 				}
1415*cdf0e10cSrcweir 				break;
1416*cdf0e10cSrcweir 			case XML_ATACTION_RENAME:
1417*cdf0e10cSrcweir 				{
1418*cdf0e10cSrcweir 					OUString aNewAttrQName(
1419*cdf0e10cSrcweir 						GetTransformer().GetNamespaceMap().GetQNameByKey(
1420*cdf0e10cSrcweir 							(*aIter).second.GetQNamePrefixFromParam1(),
1421*cdf0e10cSrcweir 							::xmloff::token::GetXMLToken(
1422*cdf0e10cSrcweir 							(*aIter).second.GetQNameTokenFromParam1()) ) );
1423*cdf0e10cSrcweir 					pMutableAttrList->RenameAttributeByIndex( i,
1424*cdf0e10cSrcweir 															  aNewAttrQName );
1425*cdf0e10cSrcweir 				}
1426*cdf0e10cSrcweir 				if( IsXMLToken( aLocalName, XML_LEADER_TEXT ) )
1427*cdf0e10cSrcweir 				{
1428*cdf0e10cSrcweir 					if( rAttrValue.getLength() > 1 )
1429*cdf0e10cSrcweir 					{
1430*cdf0e10cSrcweir 						OUString aAttrValue( rAttrValue.copy( 0, 1 ) );
1431*cdf0e10cSrcweir 						pMutableAttrList->SetValueByIndex( i, aAttrValue );
1432*cdf0e10cSrcweir 						nLeaderText = i;
1433*cdf0e10cSrcweir 					}
1434*cdf0e10cSrcweir 				}
1435*cdf0e10cSrcweir 				break;
1436*cdf0e10cSrcweir 			case XML_ATACTION_IN2INCH:
1437*cdf0e10cSrcweir 				{
1438*cdf0e10cSrcweir 					OUString aAttrValue( rAttrValue );
1439*cdf0e10cSrcweir 					if( XMLTransformerBase::ReplaceSingleInWithInch(
1440*cdf0e10cSrcweir 								aAttrValue ) )
1441*cdf0e10cSrcweir 						pMutableAttrList->SetValueByIndex( i, aAttrValue );
1442*cdf0e10cSrcweir 				}
1443*cdf0e10cSrcweir 				break;
1444*cdf0e10cSrcweir 			default:
1445*cdf0e10cSrcweir 				OSL_ENSURE( !this, "unknown action" );
1446*cdf0e10cSrcweir 				break;
1447*cdf0e10cSrcweir 			}
1448*cdf0e10cSrcweir 		}
1449*cdf0e10cSrcweir 	}
1450*cdf0e10cSrcweir 
1451*cdf0e10cSrcweir 	if( cStyleLeaderChar && ' ' != cStyleLeaderChar )
1452*cdf0e10cSrcweir 	{
1453*cdf0e10cSrcweir 		if( nLeaderText != -1 )
1454*cdf0e10cSrcweir 		{
1455*cdf0e10cSrcweir 			OUString aNewAttrQName(
1456*cdf0e10cSrcweir 				GetTransformer().GetNamespaceMap().GetQNameByKey(
1457*cdf0e10cSrcweir 							XML_NAMESPACE_STYLE,
1458*cdf0e10cSrcweir 							::xmloff::token::GetXMLToken( XML_LEADER_CHAR ) ) );
1459*cdf0e10cSrcweir 			pMutableAttrList->AddAttribute( aNewAttrQName,
1460*cdf0e10cSrcweir 									OUString::valueOf( cStyleLeaderChar ) );
1461*cdf0e10cSrcweir 		}
1462*cdf0e10cSrcweir 	}
1463*cdf0e10cSrcweir 	else
1464*cdf0e10cSrcweir 	{
1465*cdf0e10cSrcweir 		if( nLeaderText != -1 )
1466*cdf0e10cSrcweir 			pMutableAttrList->RemoveAttributeByIndex( nLeaderText );
1467*cdf0e10cSrcweir 	}
1468*cdf0e10cSrcweir 
1469*cdf0e10cSrcweir 	XMLPersElemContentTContext::StartElement( xAttrList );
1470*cdf0e10cSrcweir }
1471*cdf0e10cSrcweir 
1472*cdf0e10cSrcweir // -----------------------------------------------------------------------------
1473*cdf0e10cSrcweir 
1474*cdf0e10cSrcweir class XMLConfigItemTContext_Impl : public XMLTransformerContext
1475*cdf0e10cSrcweir {
1476*cdf0e10cSrcweir 	::rtl::OUString m_aContent;
1477*cdf0e10cSrcweir 	sal_Bool m_bIsRedlineProtectionKey;
1478*cdf0e10cSrcweir     sal_Bool m_bIsCursorX;
1479*cdf0e10cSrcweir     sal_Bool m_bIsCursorY;
1480*cdf0e10cSrcweir 
1481*cdf0e10cSrcweir public:
1482*cdf0e10cSrcweir 
1483*cdf0e10cSrcweir 	TYPEINFO();
1484*cdf0e10cSrcweir 
1485*cdf0e10cSrcweir 	XMLConfigItemTContext_Impl( XMLTransformerBase& rTransformer,
1486*cdf0e10cSrcweir 						   const ::rtl::OUString& rQName );
1487*cdf0e10cSrcweir 
1488*cdf0e10cSrcweir 	virtual ~XMLConfigItemTContext_Impl();
1489*cdf0e10cSrcweir 
1490*cdf0e10cSrcweir 	virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList );
1491*cdf0e10cSrcweir 	virtual void EndElement();
1492*cdf0e10cSrcweir 
1493*cdf0e10cSrcweir 	virtual void Characters( const ::rtl::OUString& rChars );
1494*cdf0e10cSrcweir };
1495*cdf0e10cSrcweir 
1496*cdf0e10cSrcweir TYPEINIT1( XMLConfigItemTContext_Impl, XMLTransformerContext );
1497*cdf0e10cSrcweir 
1498*cdf0e10cSrcweir XMLConfigItemTContext_Impl::XMLConfigItemTContext_Impl(
1499*cdf0e10cSrcweir 		XMLTransformerBase& rImp,
1500*cdf0e10cSrcweir 	    const OUString& rQName ) :
1501*cdf0e10cSrcweir 	XMLTransformerContext( rImp, rQName ),
1502*cdf0e10cSrcweir 	m_bIsRedlineProtectionKey( sal_False ),
1503*cdf0e10cSrcweir     m_bIsCursorX( sal_False ),
1504*cdf0e10cSrcweir     m_bIsCursorY( sal_False )
1505*cdf0e10cSrcweir {
1506*cdf0e10cSrcweir }
1507*cdf0e10cSrcweir 
1508*cdf0e10cSrcweir XMLConfigItemTContext_Impl::~XMLConfigItemTContext_Impl()
1509*cdf0e10cSrcweir {
1510*cdf0e10cSrcweir }
1511*cdf0e10cSrcweir 
1512*cdf0e10cSrcweir void XMLConfigItemTContext_Impl::StartElement(
1513*cdf0e10cSrcweir 		const Reference< XAttributeList >& rAttrList )
1514*cdf0e10cSrcweir {
1515*cdf0e10cSrcweir 	Reference< XAttributeList > xAttrList( rAttrList );
1516*cdf0e10cSrcweir 
1517*cdf0e10cSrcweir 	sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0;
1518*cdf0e10cSrcweir 	for( sal_Int16 i=0; i < nAttrCount; i++ )
1519*cdf0e10cSrcweir 	{
1520*cdf0e10cSrcweir 		const OUString& rAttrName = xAttrList->getNameByIndex( i );
1521*cdf0e10cSrcweir 		OUString aLocalName;
1522*cdf0e10cSrcweir 		sal_uInt16 nPrefix =
1523*cdf0e10cSrcweir 			GetTransformer().GetNamespaceMap().GetKeyByAttrName( rAttrName,
1524*cdf0e10cSrcweir 																 &aLocalName );
1525*cdf0e10cSrcweir 		if( XML_NAMESPACE_CONFIG == nPrefix )
1526*cdf0e10cSrcweir         {
1527*cdf0e10cSrcweir 			if ( IsXMLToken( aLocalName, XML_NAME ) )
1528*cdf0e10cSrcweir 		    {
1529*cdf0e10cSrcweir 			    const OUString& rValue = xAttrList->getValueByIndex( i );
1530*cdf0e10cSrcweir 			    const sal_Char sRedlineProtectionKey[] = "RedlineProtectionKey";
1531*cdf0e10cSrcweir                 const sal_Char sCursorX[] = "CursorPositionX";
1532*cdf0e10cSrcweir                 const sal_Char sCursorY[] = "CursorPositionY";
1533*cdf0e10cSrcweir 			    if( rValue.equalsAsciiL( sRedlineProtectionKey, sizeof(sRedlineProtectionKey)-1 ) )
1534*cdf0e10cSrcweir 				    m_bIsRedlineProtectionKey = sal_True;
1535*cdf0e10cSrcweir                 else if( rValue.equalsAsciiL( sCursorX, sizeof(sCursorX)-1 ) )
1536*cdf0e10cSrcweir                     m_bIsCursorX = sal_True;
1537*cdf0e10cSrcweir                 else if( rValue.equalsAsciiL( sCursorY, sizeof(sCursorY)-1 ) )
1538*cdf0e10cSrcweir                     m_bIsCursorY = sal_True;
1539*cdf0e10cSrcweir 
1540*cdf0e10cSrcweir 			    break;
1541*cdf0e10cSrcweir 		    }
1542*cdf0e10cSrcweir         }
1543*cdf0e10cSrcweir 	}
1544*cdf0e10cSrcweir 
1545*cdf0e10cSrcweir 	XMLTransformerContext::StartElement( xAttrList );
1546*cdf0e10cSrcweir }
1547*cdf0e10cSrcweir 
1548*cdf0e10cSrcweir void XMLConfigItemTContext_Impl::Characters( const ::rtl::OUString& rChars )
1549*cdf0e10cSrcweir {
1550*cdf0e10cSrcweir     rtl::OUString sChars(rChars);
1551*cdf0e10cSrcweir     if (m_bIsRedlineProtectionKey)
1552*cdf0e10cSrcweir 	    m_aContent += rChars;
1553*cdf0e10cSrcweir     else if (m_bIsCursorX || m_bIsCursorY)
1554*cdf0e10cSrcweir     {
1555*cdf0e10cSrcweir         sal_Int32 nPos = rChars.toInt32();
1556*cdf0e10cSrcweir         if (m_bIsCursorX && nPos > 255)
1557*cdf0e10cSrcweir             nPos = 255;
1558*cdf0e10cSrcweir         else if (m_bIsCursorY && nPos > 31999)
1559*cdf0e10cSrcweir             nPos = 31999;
1560*cdf0e10cSrcweir 
1561*cdf0e10cSrcweir         sChars = ::rtl::OUString::valueOf(nPos);
1562*cdf0e10cSrcweir     }
1563*cdf0e10cSrcweir 
1564*cdf0e10cSrcweir 	XMLTransformerContext::Characters( sChars );
1565*cdf0e10cSrcweir }
1566*cdf0e10cSrcweir 
1567*cdf0e10cSrcweir void XMLConfigItemTContext_Impl::EndElement()
1568*cdf0e10cSrcweir {
1569*cdf0e10cSrcweir 
1570*cdf0e10cSrcweir 	if( m_bIsRedlineProtectionKey )
1571*cdf0e10cSrcweir 	{
1572*cdf0e10cSrcweir 		const Reference< XPropertySet > rPropSet =
1573*cdf0e10cSrcweir 			GetTransformer().GetPropertySet();
1574*cdf0e10cSrcweir 		if( rPropSet.is() )
1575*cdf0e10cSrcweir 		{
1576*cdf0e10cSrcweir 			const sal_Char sRedlineProtectionKey[] = "RedlineProtectionKey";
1577*cdf0e10cSrcweir 			OUString aPropName(RTL_CONSTASCII_USTRINGPARAM(sRedlineProtectionKey));
1578*cdf0e10cSrcweir 			Reference< XPropertySetInfo > xPropSetInfo(
1579*cdf0e10cSrcweir 						rPropSet->getPropertySetInfo() );
1580*cdf0e10cSrcweir 			if( xPropSetInfo.is() &&
1581*cdf0e10cSrcweir 				xPropSetInfo->hasPropertyByName( aPropName ) )
1582*cdf0e10cSrcweir 			{
1583*cdf0e10cSrcweir 				Sequence < sal_Int8 > aKey;
1584*cdf0e10cSrcweir 				SvXMLUnitConverter::decodeBase64( aKey, m_aContent );
1585*cdf0e10cSrcweir 				rPropSet->setPropertyValue( aPropName, makeAny( aKey ) );
1586*cdf0e10cSrcweir 			}
1587*cdf0e10cSrcweir 		}
1588*cdf0e10cSrcweir 	}
1589*cdf0e10cSrcweir 	XMLTransformerContext::EndElement();
1590*cdf0e10cSrcweir }
1591*cdf0e10cSrcweir 
1592*cdf0e10cSrcweir // -----------------------------------------------------------------------------
1593*cdf0e10cSrcweir 
1594*cdf0e10cSrcweir class XMLTrackedChangesOASISTContext_Impl : public XMLTransformerContext
1595*cdf0e10cSrcweir {
1596*cdf0e10cSrcweir 	::rtl::OUString m_aAttrQName;
1597*cdf0e10cSrcweir 
1598*cdf0e10cSrcweir public:
1599*cdf0e10cSrcweir 
1600*cdf0e10cSrcweir 	TYPEINFO();
1601*cdf0e10cSrcweir 
1602*cdf0e10cSrcweir 	XMLTrackedChangesOASISTContext_Impl( XMLTransformerBase& rTransformer,
1603*cdf0e10cSrcweir 						   const ::rtl::OUString& rQName,
1604*cdf0e10cSrcweir 		   					sal_uInt16 nPrefix,
1605*cdf0e10cSrcweir 							XMLTokenEnum eToken	);
1606*cdf0e10cSrcweir 
1607*cdf0e10cSrcweir 	virtual ~XMLTrackedChangesOASISTContext_Impl();
1608*cdf0e10cSrcweir 
1609*cdf0e10cSrcweir 	virtual void StartElement( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList );
1610*cdf0e10cSrcweir };
1611*cdf0e10cSrcweir 
1612*cdf0e10cSrcweir TYPEINIT1( XMLTrackedChangesOASISTContext_Impl, XMLTransformerContext );
1613*cdf0e10cSrcweir 
1614*cdf0e10cSrcweir XMLTrackedChangesOASISTContext_Impl::XMLTrackedChangesOASISTContext_Impl(
1615*cdf0e10cSrcweir 		XMLTransformerBase& rImp,
1616*cdf0e10cSrcweir 	    const OUString& rQName,
1617*cdf0e10cSrcweir 		sal_uInt16 nPrefix,
1618*cdf0e10cSrcweir 		XMLTokenEnum eToken	) :
1619*cdf0e10cSrcweir 	XMLTransformerContext( rImp, rQName ),
1620*cdf0e10cSrcweir 	m_aAttrQName( rImp.GetNamespaceMap().GetQNameByKey( nPrefix,
1621*cdf0e10cSrcweir 														GetXMLToken(eToken)) )
1622*cdf0e10cSrcweir {
1623*cdf0e10cSrcweir }
1624*cdf0e10cSrcweir 
1625*cdf0e10cSrcweir XMLTrackedChangesOASISTContext_Impl::~XMLTrackedChangesOASISTContext_Impl()
1626*cdf0e10cSrcweir {
1627*cdf0e10cSrcweir }
1628*cdf0e10cSrcweir 
1629*cdf0e10cSrcweir void XMLTrackedChangesOASISTContext_Impl::StartElement(
1630*cdf0e10cSrcweir 		const Reference< XAttributeList >& rAttrList )
1631*cdf0e10cSrcweir {
1632*cdf0e10cSrcweir 	Reference< XAttributeList > xAttrList( rAttrList );
1633*cdf0e10cSrcweir 	const Reference< XPropertySet > rPropSet =
1634*cdf0e10cSrcweir 		GetTransformer().GetPropertySet();
1635*cdf0e10cSrcweir 	if( rPropSet.is() )
1636*cdf0e10cSrcweir 	{
1637*cdf0e10cSrcweir 		const sal_Char sRedlineProtectionKey[] = "RedlineProtectionKey";
1638*cdf0e10cSrcweir 		OUString aPropName(RTL_CONSTASCII_USTRINGPARAM(sRedlineProtectionKey));
1639*cdf0e10cSrcweir 		Reference< XPropertySetInfo > xPropSetInfo(
1640*cdf0e10cSrcweir 					rPropSet->getPropertySetInfo() );
1641*cdf0e10cSrcweir 		if( xPropSetInfo.is() &&
1642*cdf0e10cSrcweir 			xPropSetInfo->hasPropertyByName( aPropName ) )
1643*cdf0e10cSrcweir 		{
1644*cdf0e10cSrcweir 			Any aAny = rPropSet->getPropertyValue( aPropName);
1645*cdf0e10cSrcweir 			Sequence < sal_Int8 > aKey;
1646*cdf0e10cSrcweir 			aAny >>= aKey;
1647*cdf0e10cSrcweir 			if( aKey.getLength() )
1648*cdf0e10cSrcweir 			{
1649*cdf0e10cSrcweir 				OUStringBuffer aBuffer;
1650*cdf0e10cSrcweir 				SvXMLUnitConverter::encodeBase64( aBuffer, aKey );
1651*cdf0e10cSrcweir 				XMLMutableAttributeList *pMutableAttrList =
1652*cdf0e10cSrcweir 					new XMLMutableAttributeList( xAttrList );
1653*cdf0e10cSrcweir 				xAttrList = pMutableAttrList;
1654*cdf0e10cSrcweir 				pMutableAttrList->AddAttribute( m_aAttrQName,
1655*cdf0e10cSrcweir 												aBuffer.makeStringAndClear() );
1656*cdf0e10cSrcweir 			}
1657*cdf0e10cSrcweir 		}
1658*cdf0e10cSrcweir 	}
1659*cdf0e10cSrcweir 	XMLTransformerContext::StartElement( xAttrList );
1660*cdf0e10cSrcweir }
1661*cdf0e10cSrcweir 
1662*cdf0e10cSrcweir // -----------------------------------------------------------------------------
1663*cdf0e10cSrcweir 
1664*cdf0e10cSrcweir XMLTransformerContext *Oasis2OOoTransformer::CreateUserDefinedContext(
1665*cdf0e10cSrcweir 							  const TransformerAction_Impl& rAction,
1666*cdf0e10cSrcweir 							  const OUString& rQName,
1667*cdf0e10cSrcweir 	   						  sal_Bool bPersistent )
1668*cdf0e10cSrcweir {
1669*cdf0e10cSrcweir 	switch( rAction.m_nActionType )
1670*cdf0e10cSrcweir 	{
1671*cdf0e10cSrcweir 	case XML_ETACTION_META:
1672*cdf0e10cSrcweir 		return new XMLMetaTransformerContext( *this, rQName );
1673*cdf0e10cSrcweir 	case XML_ETACTION_DOCUMENT:
1674*cdf0e10cSrcweir 		return new XMLDocumentTransformerContext( *this, rQName );
1675*cdf0e10cSrcweir 	case XML_ETACTION_BODY:
1676*cdf0e10cSrcweir 		return new XMLBodyOASISTransformerContext_Impl( *this, rQName );
1677*cdf0e10cSrcweir 	case XML_ETACTION_NOTES:
1678*cdf0e10cSrcweir 		return new XMLNotesTransformerContext( *this, rQName,
1679*cdf0e10cSrcweir 				static_cast< XMLTokenEnum>( rAction.m_nParam1 ), bPersistent );
1680*cdf0e10cSrcweir 	case XML_ETACTION_TABLE:
1681*cdf0e10cSrcweir 		return new XMLTableTransformerContext_Impl( *this, rQName );
1682*cdf0e10cSrcweir 	case XML_ETACTION_STYLE:
1683*cdf0e10cSrcweir 		return new XMLStyleOASISTContext( *this, rQName, bPersistent );
1684*cdf0e10cSrcweir 	case XML_ETACTION_STYLE_RENAME:
1685*cdf0e10cSrcweir 		return new XMLStyleOASISTContext( *this, rQName,
1686*cdf0e10cSrcweir 					rAction.GetQNamePrefixFromParam1(),
1687*cdf0e10cSrcweir 					rAction.GetQNameTokenFromParam1(), bPersistent );
1688*cdf0e10cSrcweir 	case XML_ETACTION_FRAME:
1689*cdf0e10cSrcweir 		return new XMLFrameOASISTransformerContext( *this, rQName );
1690*cdf0e10cSrcweir 	case XML_ETACTION_EVENT:
1691*cdf0e10cSrcweir 		return new XMLEventOASISTransformerContext( *this, rQName );
1692*cdf0e10cSrcweir 	case XML_ETACTION_DLG:
1693*cdf0e10cSrcweir 		return new XMLDlgOASISTransformerContext( *this, rQName );
1694*cdf0e10cSrcweir 	case XML_ETACTION_TAB_STOP:
1695*cdf0e10cSrcweir 		return new XMLTabStopOASISTContext_Impl( *this, rQName );
1696*cdf0e10cSrcweir 	case XML_ETACTION_FORM_CONTROL:
1697*cdf0e10cSrcweir 		{
1698*cdf0e10cSrcweir 			const XMLTransformerContext *pCurrent = GetCurrentContext();
1699*cdf0e10cSrcweir 			return new XMLControlOASISTransformerContext( *this, rQName,
1700*cdf0e10cSrcweir 						pCurrent ? pCurrent->HasQName( XML_NAMESPACE_FORM,
1701*cdf0e10cSrcweir 										   XML_FORM ) : sal_False  );
1702*cdf0e10cSrcweir 		}
1703*cdf0e10cSrcweir 	case XML_ETACTION_FORM_PROPERTY:
1704*cdf0e10cSrcweir 		return new XMLFormPropOASISTransformerContext( *this, rQName,
1705*cdf0e10cSrcweir 				static_cast< XMLTokenEnum >( rAction.m_nParam1 ) );
1706*cdf0e10cSrcweir 	case XML_ETACTION_CHART:
1707*cdf0e10cSrcweir 		return new XMLChartOASISTransformerContext( *this, rQName );
1708*cdf0e10cSrcweir 	case XML_ETACTION_CONFIG_ITEM:
1709*cdf0e10cSrcweir 		return new XMLConfigItemTContext_Impl( *this, rQName );
1710*cdf0e10cSrcweir 	case XML_ETACTION_TRACKED_CHANGES:
1711*cdf0e10cSrcweir 		return new XMLTrackedChangesOASISTContext_Impl( *this, rQName,
1712*cdf0e10cSrcweir 			   				rAction.GetQNamePrefixFromParam1(),
1713*cdf0e10cSrcweir 							rAction.GetQNameTokenFromParam1() );
1714*cdf0e10cSrcweir 	case XML_ETACTION_CHART_PLOT_AREA:
1715*cdf0e10cSrcweir         return new XMLChartPlotAreaOASISTContext( *this, rQName );
1716*cdf0e10cSrcweir 	default:
1717*cdf0e10cSrcweir 		OSL_ENSURE( !this, "no user defined context found!" );
1718*cdf0e10cSrcweir 		break;
1719*cdf0e10cSrcweir 	}
1720*cdf0e10cSrcweir 
1721*cdf0e10cSrcweir 	// default is copying
1722*cdf0e10cSrcweir 	return new XMLTransformerContext( *this, rQName );
1723*cdf0e10cSrcweir }
1724*cdf0e10cSrcweir 
1725*cdf0e10cSrcweir XMLTransformerActions *Oasis2OOoTransformer::GetUserDefinedActions(
1726*cdf0e10cSrcweir 		sal_uInt16 n )
1727*cdf0e10cSrcweir {
1728*cdf0e10cSrcweir 	XMLTransformerActions *pActions = 0;
1729*cdf0e10cSrcweir 	if( n < MAX_OASIS_ACTIONS )
1730*cdf0e10cSrcweir 	{
1731*cdf0e10cSrcweir 		if( !m_aActions[n] )
1732*cdf0e10cSrcweir 		{
1733*cdf0e10cSrcweir 			if( n<MAX_OASIS_PROP_ACTIONS )
1734*cdf0e10cSrcweir 			{
1735*cdf0e10cSrcweir 				m_aActions[n] =
1736*cdf0e10cSrcweir 					XMLStyleOASISTContext::CreateTransformerActions( n );
1737*cdf0e10cSrcweir 			}
1738*cdf0e10cSrcweir 			else switch( n )
1739*cdf0e10cSrcweir 			{
1740*cdf0e10cSrcweir 			case OASIS_STYLE_ACTIONS:
1741*cdf0e10cSrcweir 				m_aActions[OASIS_STYLE_ACTIONS] =
1742*cdf0e10cSrcweir 					new XMLTransformerActions( aStyleActionTable );
1743*cdf0e10cSrcweir 				break;
1744*cdf0e10cSrcweir 			case OASIS_FONT_FACE_ACTIONS:
1745*cdf0e10cSrcweir 				m_aActions[OASIS_FONT_FACE_ACTIONS] =
1746*cdf0e10cSrcweir 					new XMLTransformerActions( aFontFaceActionTable );
1747*cdf0e10cSrcweir 				break;
1748*cdf0e10cSrcweir 			case OASIS_SHAPE_ACTIONS:
1749*cdf0e10cSrcweir 				m_aActions[OASIS_SHAPE_ACTIONS] =
1750*cdf0e10cSrcweir 					new XMLTransformerActions( aShapeActionTable );
1751*cdf0e10cSrcweir 				break;
1752*cdf0e10cSrcweir 			case OASIS_CONNECTOR_ACTIONS:
1753*cdf0e10cSrcweir 				m_aActions[OASIS_CONNECTOR_ACTIONS] =
1754*cdf0e10cSrcweir 					new XMLTransformerActions( aConnectorActionTable );
1755*cdf0e10cSrcweir 				break;
1756*cdf0e10cSrcweir 			case OASIS_INDEX_ENTRY_TAB_STOP_ACTIONS:
1757*cdf0e10cSrcweir 				m_aActions[OASIS_INDEX_ENTRY_TAB_STOP_ACTIONS] =
1758*cdf0e10cSrcweir 					new XMLTransformerActions( aIndexEntryTabStopActionTable );
1759*cdf0e10cSrcweir 				break;
1760*cdf0e10cSrcweir 			case OASIS_TAB_STOP_ACTIONS:
1761*cdf0e10cSrcweir 				m_aActions[OASIS_TAB_STOP_ACTIONS] =
1762*cdf0e10cSrcweir 					new XMLTransformerActions( aTabStopActionTable );
1763*cdf0e10cSrcweir 				break;
1764*cdf0e10cSrcweir 			case OASIS_LINENUMBERING_ACTIONS:
1765*cdf0e10cSrcweir 				m_aActions[OASIS_LINENUMBERING_ACTIONS] =
1766*cdf0e10cSrcweir 					new XMLTransformerActions( aLineNumberingActionTable );
1767*cdf0e10cSrcweir 				break;
1768*cdf0e10cSrcweir 			case OASIS_FOOTNOTE_SEP_ACTIONS:
1769*cdf0e10cSrcweir 				m_aActions[OASIS_FOOTNOTE_SEP_ACTIONS] =
1770*cdf0e10cSrcweir 					new XMLTransformerActions( aFootnoteSepActionTable );
1771*cdf0e10cSrcweir 				break;
1772*cdf0e10cSrcweir 			case OASIS_DROP_CAP_ACTIONS:
1773*cdf0e10cSrcweir 				m_aActions[OASIS_DROP_CAP_ACTIONS] =
1774*cdf0e10cSrcweir 					new XMLTransformerActions( aDropCapActionTable );
1775*cdf0e10cSrcweir 				break;
1776*cdf0e10cSrcweir 			case OASIS_COLUMNS_ACTIONS:
1777*cdf0e10cSrcweir 				m_aActions[OASIS_COLUMNS_ACTIONS] =
1778*cdf0e10cSrcweir 					new XMLTransformerActions( aColumnsActionTable );
1779*cdf0e10cSrcweir 				break;
1780*cdf0e10cSrcweir 			case OASIS_TEXT_VALUE_TYPE_ACTIONS:
1781*cdf0e10cSrcweir 				m_aActions[OASIS_TEXT_VALUE_TYPE_ACTIONS] =
1782*cdf0e10cSrcweir 					new XMLTransformerActions( aTextValueTypeActionTable );
1783*cdf0e10cSrcweir 				break;
1784*cdf0e10cSrcweir 			case OASIS_TABLE_VALUE_TYPE_ACTIONS:
1785*cdf0e10cSrcweir 				m_aActions[OASIS_TABLE_VALUE_TYPE_ACTIONS] =
1786*cdf0e10cSrcweir 					new XMLTransformerActions( aTableValueTypeActionTable );
1787*cdf0e10cSrcweir 				break;
1788*cdf0e10cSrcweir 			case OASIS_PARA_ACTIONS:
1789*cdf0e10cSrcweir 				m_aActions[OASIS_PARA_ACTIONS] =
1790*cdf0e10cSrcweir 					new XMLTransformerActions( aParaActionTable );
1791*cdf0e10cSrcweir 				break;
1792*cdf0e10cSrcweir 			case OASIS_LIST_STYLE_REF_ACTIONS:
1793*cdf0e10cSrcweir 				m_aActions[OASIS_LIST_STYLE_REF_ACTIONS] =
1794*cdf0e10cSrcweir 					new XMLTransformerActions( aListStyleRefActionTable );
1795*cdf0e10cSrcweir 				break;
1796*cdf0e10cSrcweir 			case OASIS_TEXT_STYLE_REF_ACTIONS:
1797*cdf0e10cSrcweir 				m_aActions[OASIS_TEXT_STYLE_REF_ACTIONS] =
1798*cdf0e10cSrcweir 					new XMLTransformerActions( aTextStyleRefActionTable );
1799*cdf0e10cSrcweir 				break;
1800*cdf0e10cSrcweir 			case OASIS_PARA_STYLE_REF_ACTIONS:
1801*cdf0e10cSrcweir 				m_aActions[OASIS_PARA_STYLE_REF_ACTIONS] =
1802*cdf0e10cSrcweir 					new XMLTransformerActions( aParaStyleRefActionTable );
1803*cdf0e10cSrcweir 				break;
1804*cdf0e10cSrcweir 			case OASIS_MASTER_PAGE_REF_ACTIONS:
1805*cdf0e10cSrcweir 				m_aActions[OASIS_MASTER_PAGE_REF_ACTIONS] =
1806*cdf0e10cSrcweir 					new XMLTransformerActions( aMasterPageRefActionTable );
1807*cdf0e10cSrcweir 				break;
1808*cdf0e10cSrcweir 			case OASIS_MAP_STYLE_REF_ACTIONS:
1809*cdf0e10cSrcweir 				m_aActions[OASIS_MAP_STYLE_REF_ACTIONS] =
1810*cdf0e10cSrcweir 					new XMLTransformerActions( aMapStyleRefActionTable );
1811*cdf0e10cSrcweir 				break;
1812*cdf0e10cSrcweir 			case OASIS_MASTER_PAGE_ACTIONS:
1813*cdf0e10cSrcweir 				m_aActions[OASIS_MASTER_PAGE_ACTIONS] =
1814*cdf0e10cSrcweir 					new XMLTransformerActions( aMasterPageActionTable );
1815*cdf0e10cSrcweir 				break;
1816*cdf0e10cSrcweir 			case OASIS_NOTES_ACTIONS:
1817*cdf0e10cSrcweir 				m_aActions[OASIS_NOTES_ACTIONS] =
1818*cdf0e10cSrcweir 					new XMLTransformerActions( aNotesActionTable );
1819*cdf0e10cSrcweir 				break;
1820*cdf0e10cSrcweir 			case OASIS_ANNOTATION_ACTIONS:
1821*cdf0e10cSrcweir 				m_aActions[OASIS_ANNOTATION_ACTIONS] =
1822*cdf0e10cSrcweir 					new XMLTransformerActions( aAnnotationActionTable );
1823*cdf0e10cSrcweir 				break;
1824*cdf0e10cSrcweir 			case OASIS_CHANGE_INFO_ACTIONS:
1825*cdf0e10cSrcweir 				m_aActions[OASIS_CHANGE_INFO_ACTIONS] =
1826*cdf0e10cSrcweir 					new XMLTransformerActions( aChangeInfoActionTable );
1827*cdf0e10cSrcweir 				break;
1828*cdf0e10cSrcweir 			case OASIS_FRAME_ELEM_ACTIONS:
1829*cdf0e10cSrcweir 				m_aActions[OASIS_FRAME_ELEM_ACTIONS] =
1830*cdf0e10cSrcweir 					new XMLTransformerActions( aFrameActionTable );
1831*cdf0e10cSrcweir 				break;
1832*cdf0e10cSrcweir 			case OASIS_BACKGROUND_IMAGE_ACTIONS:
1833*cdf0e10cSrcweir 				m_aActions[OASIS_BACKGROUND_IMAGE_ACTIONS] =
1834*cdf0e10cSrcweir 					new XMLTransformerActions( aBackgroundImageActionTable );
1835*cdf0e10cSrcweir 				break;
1836*cdf0e10cSrcweir 			case OASIS_DDE_CONNECTION_DECL_ACTIONS:
1837*cdf0e10cSrcweir 				m_aActions[OASIS_DDE_CONNECTION_DECL_ACTIONS] =
1838*cdf0e10cSrcweir 					new XMLTransformerActions( aDDEConnectionDeclActionTable );
1839*cdf0e10cSrcweir 				break;
1840*cdf0e10cSrcweir 			case OASIS_EVENT_ACTIONS:
1841*cdf0e10cSrcweir 				m_aActions[OASIS_EVENT_ACTIONS] =
1842*cdf0e10cSrcweir 					new XMLTransformerActions( aEventActionTable );
1843*cdf0e10cSrcweir                 break;
1844*cdf0e10cSrcweir 			case OASIS_DLG_ACTIONS:
1845*cdf0e10cSrcweir 				m_aActions[OASIS_DLG_ACTIONS] =
1846*cdf0e10cSrcweir 					new XMLTransformerActions( aDlgActionTable );
1847*cdf0e10cSrcweir 				break;
1848*cdf0e10cSrcweir 			case OASIS_FORM_CONTROL_ACTIONS:
1849*cdf0e10cSrcweir 				m_aActions[OASIS_FORM_CONTROL_ACTIONS] =
1850*cdf0e10cSrcweir 					new XMLTransformerActions( aFormControlActionTable );
1851*cdf0e10cSrcweir 				break;
1852*cdf0e10cSrcweir 			case OASIS_FORM_COLUMN_ACTIONS:
1853*cdf0e10cSrcweir 				m_aActions[OASIS_FORM_COLUMN_ACTIONS] =
1854*cdf0e10cSrcweir 					new XMLTransformerActions( aFormColumnActionTable );
1855*cdf0e10cSrcweir 				break;
1856*cdf0e10cSrcweir 			case OASIS_FORM_PROP_ACTIONS:
1857*cdf0e10cSrcweir 				m_aActions[OASIS_FORM_PROP_ACTIONS] =
1858*cdf0e10cSrcweir 					new XMLTransformerActions( aFormPropActionTable );
1859*cdf0e10cSrcweir 				break;
1860*cdf0e10cSrcweir 			case OASIS_XLINK_ACTIONS:
1861*cdf0e10cSrcweir 				m_aActions[OASIS_XLINK_ACTIONS] =
1862*cdf0e10cSrcweir 					new XMLTransformerActions( aXLinkActionTable );
1863*cdf0e10cSrcweir 				break;
1864*cdf0e10cSrcweir 			case OASIS_CONFIG_ITEM_SET_ACTIONS:
1865*cdf0e10cSrcweir 				m_aActions[OASIS_CONFIG_ITEM_SET_ACTIONS] =
1866*cdf0e10cSrcweir 					new XMLTransformerActions( aConfigItemSetActionTable );
1867*cdf0e10cSrcweir 				break;
1868*cdf0e10cSrcweir 			case OASIS_FORMULA_ACTIONS:
1869*cdf0e10cSrcweir 				m_aActions[OASIS_FORMULA_ACTIONS] =
1870*cdf0e10cSrcweir 					new XMLTransformerActions( aFormulaActionTable );
1871*cdf0e10cSrcweir 				break;
1872*cdf0e10cSrcweir 			case OASIS_CHART_ACTIONS:
1873*cdf0e10cSrcweir 				m_aActions[OASIS_CHART_ACTIONS] =
1874*cdf0e10cSrcweir 					new XMLTransformerActions( aChartActionTable );
1875*cdf0e10cSrcweir 				break;
1876*cdf0e10cSrcweir 			case OASIS_FORM_ACTIONS:
1877*cdf0e10cSrcweir 				m_aActions[OASIS_FORM_ACTIONS] =
1878*cdf0e10cSrcweir 					new XMLTransformerActions( aFormActionTable );
1879*cdf0e10cSrcweir 				break;
1880*cdf0e10cSrcweir             case OASIS_ALPHABETICAL_INDEX_MARK_ACTIONS:
1881*cdf0e10cSrcweir                 m_aActions[OASIS_ALPHABETICAL_INDEX_MARK_ACTIONS] =
1882*cdf0e10cSrcweir                     new XMLTransformerActions(
1883*cdf0e10cSrcweir                         aAlphabeticalIndexMarkActionTable );
1884*cdf0e10cSrcweir                 break;
1885*cdf0e10cSrcweir             case OASIS_CONTENT_VALIDATION_ACTIONS:
1886*cdf0e10cSrcweir                 m_aActions[OASIS_CONTENT_VALIDATION_ACTIONS] =
1887*cdf0e10cSrcweir                     new XMLTransformerActions( aContentValidationActionTable );
1888*cdf0e10cSrcweir 			case OASIS_DDE_CONV_MODE_ACTIONS:
1889*cdf0e10cSrcweir 				m_aActions[OASIS_DDE_CONV_MODE_ACTIONS] =
1890*cdf0e10cSrcweir 					new XMLTransformerActions( aDDEConvModeActionTable );
1891*cdf0e10cSrcweir 				break;
1892*cdf0e10cSrcweir 			case OASIS_DATAPILOT_MEMBER_ACTIONS:
1893*cdf0e10cSrcweir 				m_aActions[OASIS_DATAPILOT_MEMBER_ACTIONS] =
1894*cdf0e10cSrcweir 					new XMLTransformerActions( aDataPilotMemberActionTable );
1895*cdf0e10cSrcweir 				break;
1896*cdf0e10cSrcweir 			case OASIS_DATAPILOT_LEVEL_ACTIONS:
1897*cdf0e10cSrcweir 				m_aActions[OASIS_DATAPILOT_LEVEL_ACTIONS] =
1898*cdf0e10cSrcweir 					new XMLTransformerActions( aDataPilotLevelActionTable );
1899*cdf0e10cSrcweir 				break;
1900*cdf0e10cSrcweir 			case OASIS_SOURCE_SERVICE_ACTIONS:
1901*cdf0e10cSrcweir 				m_aActions[OASIS_SOURCE_SERVICE_ACTIONS] =
1902*cdf0e10cSrcweir 					new XMLTransformerActions( aSourceServiceActionTable );
1903*cdf0e10cSrcweir 				break;
1904*cdf0e10cSrcweir             case OASIS_DRAW_AREA_POLYGON_ACTIONS:
1905*cdf0e10cSrcweir                 m_aActions[OASIS_DRAW_AREA_POLYGON_ACTIONS] =
1906*cdf0e10cSrcweir                     new XMLTransformerActions( aShapeActionTable );
1907*cdf0e10cSrcweir                 m_aActions[OASIS_DRAW_AREA_POLYGON_ACTIONS]
1908*cdf0e10cSrcweir                     ->Add( aDrawAreaPolygonActionTable );
1909*cdf0e10cSrcweir                 break;
1910*cdf0e10cSrcweir             case OASIS_SCRIPT_ACTIONS:
1911*cdf0e10cSrcweir 				m_aActions[OASIS_SCRIPT_ACTIONS] =
1912*cdf0e10cSrcweir 					new XMLTransformerActions( aScriptActionTable );
1913*cdf0e10cSrcweir 				break;
1914*cdf0e10cSrcweir             case OASIS_DATETIME_ACTIONS:
1915*cdf0e10cSrcweir                 m_aActions[OASIS_DATETIME_ACTIONS] =
1916*cdf0e10cSrcweir                     new XMLTransformerActions( aDateTimeActionTable );
1917*cdf0e10cSrcweir                 break;
1918*cdf0e10cSrcweir             // --> OD 2005-01-10 #i40011#, #i40015#
1919*cdf0e10cSrcweir             case OASIS_TABLE_STYLE_REF_ACTIONS:
1920*cdf0e10cSrcweir                 m_aActions[OASIS_TABLE_STYLE_REF_ACTIONS] =
1921*cdf0e10cSrcweir                     new XMLTransformerActions( aTableStyleRefActionTable );
1922*cdf0e10cSrcweir                 break;
1923*cdf0e10cSrcweir             // <--
1924*cdf0e10cSrcweir 			case OASIS_ANIMATION_ACTIONS:
1925*cdf0e10cSrcweir                 m_aActions[OASIS_ANIMATION_ACTIONS] =
1926*cdf0e10cSrcweir                     new XMLTransformerActions( aAnimationActionTable );
1927*cdf0e10cSrcweir                 break;
1928*cdf0e10cSrcweir 			}
1929*cdf0e10cSrcweir 		}
1930*cdf0e10cSrcweir 		pActions = m_aActions[n];
1931*cdf0e10cSrcweir 	}
1932*cdf0e10cSrcweir 
1933*cdf0e10cSrcweir 	return pActions;
1934*cdf0e10cSrcweir }
1935*cdf0e10cSrcweir 
1936*cdf0e10cSrcweir OUString Oasis2OOoTransformer::GetEventName( const OUString& rName,
1937*cdf0e10cSrcweir 											 sal_Bool bForm )
1938*cdf0e10cSrcweir {
1939*cdf0e10cSrcweir 	if( bForm && !m_pFormEventMap )
1940*cdf0e10cSrcweir 		m_pFormEventMap =
1941*cdf0e10cSrcweir 			XMLEventOASISTransformerContext::CreateFormEventMap();
1942*cdf0e10cSrcweir 	if( !m_pEventMap )
1943*cdf0e10cSrcweir 		m_pEventMap = XMLEventOASISTransformerContext::CreateEventMap();
1944*cdf0e10cSrcweir 
1945*cdf0e10cSrcweir 	OUString aMacroName;
1946*cdf0e10cSrcweir 	sal_uInt16 nPrefix =
1947*cdf0e10cSrcweir 		GetNamespaceMap().GetKeyByAttrName( rName, &aMacroName );
1948*cdf0e10cSrcweir 	return XMLEventOASISTransformerContext::GetEventName(
1949*cdf0e10cSrcweir 				nPrefix, aMacroName, *m_pEventMap,
1950*cdf0e10cSrcweir 		   		bForm ? m_pFormEventMap : 0	);
1951*cdf0e10cSrcweir }
1952*cdf0e10cSrcweir 
1953*cdf0e10cSrcweir Oasis2OOoTransformer::Oasis2OOoTransformer() throw() :
1954*cdf0e10cSrcweir 	XMLTransformerBase( aActionTable, aTokenMap ),
1955*cdf0e10cSrcweir 	m_pEventMap( 0 ),
1956*cdf0e10cSrcweir 	m_pFormEventMap( 0 )
1957*cdf0e10cSrcweir {
1958*cdf0e10cSrcweir 	GetNamespaceMap().Add( GetXMLToken(XML_NP_OFFICE), GetXMLToken(XML_N_OFFICE), XML_NAMESPACE_OFFICE );
1959*cdf0e10cSrcweir 	GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_OFFICE), GetXMLToken(XML_N_OFFICE_OOO), XML_NAMESPACE_OFFICE );
1960*cdf0e10cSrcweir 
1961*cdf0e10cSrcweir 	GetNamespaceMap().Add( GetXMLToken(XML_NP_META), GetXMLToken(XML_N_META), XML_NAMESPACE_META );
1962*cdf0e10cSrcweir 	GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_META), GetXMLToken(XML_N_META_OOO), XML_NAMESPACE_META );
1963*cdf0e10cSrcweir 
1964*cdf0e10cSrcweir 	GetNamespaceMap().Add( GetXMLToken(XML_NP_STYLE), GetXMLToken(XML_N_STYLE), XML_NAMESPACE_STYLE );
1965*cdf0e10cSrcweir 	GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_STYLE), GetXMLToken(XML_N_STYLE_OOO), XML_NAMESPACE_STYLE );
1966*cdf0e10cSrcweir 
1967*cdf0e10cSrcweir 	GetNamespaceMap().Add( GetXMLToken(XML_NP_NUMBER), GetXMLToken(XML_N_NUMBER), XML_NAMESPACE_NUMBER );
1968*cdf0e10cSrcweir 	GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_NUMBER), GetXMLToken(XML_N_NUMBER_OOO), XML_NAMESPACE_NUMBER );
1969*cdf0e10cSrcweir 
1970*cdf0e10cSrcweir 	GetNamespaceMap().Add( GetXMLToken(XML_NP_CONFIG), GetXMLToken(XML_N_CONFIG), XML_NAMESPACE_CONFIG );
1971*cdf0e10cSrcweir 	GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_CONFIG), GetXMLToken(XML_N_CONFIG_OOO), XML_NAMESPACE_CONFIG );
1972*cdf0e10cSrcweir 
1973*cdf0e10cSrcweir 	GetNamespaceMap().Add( GetXMLToken(XML_NP_TEXT), GetXMLToken(XML_N_TEXT), XML_NAMESPACE_TEXT );
1974*cdf0e10cSrcweir 	GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_TEXT), GetXMLToken(XML_N_TEXT_OOO), XML_NAMESPACE_TEXT );
1975*cdf0e10cSrcweir 
1976*cdf0e10cSrcweir 	GetNamespaceMap().Add( GetXMLToken(XML_NP_TABLE), GetXMLToken(XML_N_TABLE), XML_NAMESPACE_TABLE );
1977*cdf0e10cSrcweir 	GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_TABLE), GetXMLToken(XML_N_TABLE_OOO), XML_NAMESPACE_TABLE );
1978*cdf0e10cSrcweir 
1979*cdf0e10cSrcweir 	GetNamespaceMap().Add( GetXMLToken(XML_NP_DRAW), GetXMLToken(XML_N_DRAW), XML_NAMESPACE_DRAW );
1980*cdf0e10cSrcweir 	GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_DRAW), GetXMLToken(XML_N_DRAW_OOO), XML_NAMESPACE_DRAW );
1981*cdf0e10cSrcweir 
1982*cdf0e10cSrcweir 	GetNamespaceMap().Add( GetXMLToken(XML_NP_DR3D), GetXMLToken(XML_N_DR3D), XML_NAMESPACE_DR3D );
1983*cdf0e10cSrcweir 	GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_DR3D), GetXMLToken(XML_N_DR3D_OOO), XML_NAMESPACE_DR3D );
1984*cdf0e10cSrcweir 
1985*cdf0e10cSrcweir 	GetNamespaceMap().Add( GetXMLToken(XML_NP_PRESENTATION), GetXMLToken(XML_N_PRESENTATION), XML_NAMESPACE_PRESENTATION );
1986*cdf0e10cSrcweir 	GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_PRESENTATION), GetXMLToken(XML_N_PRESENTATION_OOO), XML_NAMESPACE_PRESENTATION );
1987*cdf0e10cSrcweir 
1988*cdf0e10cSrcweir 	GetNamespaceMap().Add( GetXMLToken(XML_NP_CHART), GetXMLToken(XML_N_CHART), XML_NAMESPACE_CHART );
1989*cdf0e10cSrcweir 	GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_CHART), GetXMLToken(XML_N_CHART_OOO), XML_NAMESPACE_CHART );
1990*cdf0e10cSrcweir 
1991*cdf0e10cSrcweir 	GetNamespaceMap().Add( GetXMLToken(XML_NP_FORM), GetXMLToken(XML_N_FORM), XML_NAMESPACE_FORM );
1992*cdf0e10cSrcweir 	GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_FORM), GetXMLToken(XML_N_FORM_OOO), XML_NAMESPACE_FORM );
1993*cdf0e10cSrcweir 
1994*cdf0e10cSrcweir 	GetNamespaceMap().Add( GetXMLToken(XML_NP_SCRIPT), GetXMLToken(XML_N_SCRIPT), XML_NAMESPACE_SCRIPT );
1995*cdf0e10cSrcweir 	GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_SCRIPT), GetXMLToken(XML_N_SCRIPT_OOO), XML_NAMESPACE_SCRIPT );
1996*cdf0e10cSrcweir 
1997*cdf0e10cSrcweir 	GetNamespaceMap().Add( GetXMLToken(XML_NP_DLG), GetXMLToken(XML_N_DLG), XML_NAMESPACE_DLG );
1998*cdf0e10cSrcweir 	GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_DLG), GetXMLToken(XML_N_DLG), XML_NAMESPACE_DLG );
1999*cdf0e10cSrcweir 
2000*cdf0e10cSrcweir 	GetNamespaceMap().Add( GetXMLToken(XML_NP_FO), GetXMLToken(XML_N_FO_COMPAT), XML_NAMESPACE_FO );
2001*cdf0e10cSrcweir 	GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_FO), GetXMLToken(XML_N_FO), XML_NAMESPACE_FO );
2002*cdf0e10cSrcweir 
2003*cdf0e10cSrcweir 	GetNamespaceMap().Add( GetXMLToken(XML_NP_SVG), GetXMLToken(XML_N_SVG_COMPAT), XML_NAMESPACE_SVG );
2004*cdf0e10cSrcweir 	GetReplaceNamespaceMap().Add( GetXMLToken(XML_NP_SVG), GetXMLToken(XML_N_SVG),  XML_NAMESPACE_SVG );
2005*cdf0e10cSrcweir 
2006*cdf0e10cSrcweir 
2007*cdf0e10cSrcweir 	for( sal_uInt16 i=0; i<MAX_OASIS_ACTIONS; ++i )
2008*cdf0e10cSrcweir 		m_aActions[i] = 0;
2009*cdf0e10cSrcweir }
2010*cdf0e10cSrcweir 
2011*cdf0e10cSrcweir Oasis2OOoTransformer::~Oasis2OOoTransformer() throw()
2012*cdf0e10cSrcweir {
2013*cdf0e10cSrcweir 	for( sal_uInt16 i=0; i<MAX_OASIS_ACTIONS; ++i )
2014*cdf0e10cSrcweir 		delete m_aActions[i];
2015*cdf0e10cSrcweir 	XMLEventOASISTransformerContext::FlushEventMap( m_pEventMap );
2016*cdf0e10cSrcweir 	XMLEventOASISTransformerContext::FlushEventMap( m_pFormEventMap );
2017*cdf0e10cSrcweir }
2018*cdf0e10cSrcweir 
2019*cdf0e10cSrcweir ::com::sun::star::uno::Sequence< sal_Int8 >  static CreateUnoTunnelId()
2020*cdf0e10cSrcweir {
2021*cdf0e10cSrcweir 	static osl::Mutex aCreateMutex;
2022*cdf0e10cSrcweir 	Guard<osl::Mutex> aGuard( aCreateMutex );
2023*cdf0e10cSrcweir 	Sequence< sal_Int8 > aSeq( 16 );
2024*cdf0e10cSrcweir     rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0,	sal_True );
2025*cdf0e10cSrcweir 	return aSeq;
2026*cdf0e10cSrcweir }
2027*cdf0e10cSrcweir 
2028*cdf0e10cSrcweir const Sequence< sal_Int8 > & Oasis2OOoTransformer::getUnoTunnelId() throw()
2029*cdf0e10cSrcweir {
2030*cdf0e10cSrcweir     static Sequence< sal_Int8 > aSeq = ::CreateUnoTunnelId();
2031*cdf0e10cSrcweir 	return aSeq;
2032*cdf0e10cSrcweir }
2033*cdf0e10cSrcweir 
2034*cdf0e10cSrcweir // XUnoTunnel
2035*cdf0e10cSrcweir sal_Int64 SAL_CALL Oasis2OOoTransformer::getSomething( const Sequence< sal_Int8 >& rId )
2036*cdf0e10cSrcweir 	throw(RuntimeException)
2037*cdf0e10cSrcweir {
2038*cdf0e10cSrcweir     if( rId.getLength() == 16
2039*cdf0e10cSrcweir         && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
2040*cdf0e10cSrcweir 										rId.getConstArray(), 16 ) )
2041*cdf0e10cSrcweir     {
2042*cdf0e10cSrcweir 		return reinterpret_cast< sal_Int64 >( this );
2043*cdf0e10cSrcweir     }
2044*cdf0e10cSrcweir 	else
2045*cdf0e10cSrcweir 	{
2046*cdf0e10cSrcweir 		return (sal_Int64)0;
2047*cdf0e10cSrcweir 	}
2048*cdf0e10cSrcweir }
2049*cdf0e10cSrcweir 
2050*cdf0e10cSrcweir // XServiceInfo
2051*cdf0e10cSrcweir OUString SAL_CALL Oasis2OOoTransformer::getImplementationName()
2052*cdf0e10cSrcweir     throw(RuntimeException)
2053*cdf0e10cSrcweir {
2054*cdf0e10cSrcweir 	return Oasis2OOoTransformer_getImplementationName();
2055*cdf0e10cSrcweir }
2056*cdf0e10cSrcweir 
2057*cdf0e10cSrcweir sal_Bool SAL_CALL Oasis2OOoTransformer::supportsService( const OUString& )
2058*cdf0e10cSrcweir 	throw(RuntimeException)
2059*cdf0e10cSrcweir {
2060*cdf0e10cSrcweir     return sal_False;
2061*cdf0e10cSrcweir }
2062*cdf0e10cSrcweir 
2063*cdf0e10cSrcweir Sequence< OUString > SAL_CALL Oasis2OOoTransformer::getSupportedServiceNames(  )
2064*cdf0e10cSrcweir 	throw(RuntimeException)
2065*cdf0e10cSrcweir {
2066*cdf0e10cSrcweir     Sequence<OUString> aSeq(0);
2067*cdf0e10cSrcweir     return aSeq;
2068*cdf0e10cSrcweir }
2069*cdf0e10cSrcweir 
2070*cdf0e10cSrcweir // Service registration
2071*cdf0e10cSrcweir 
2072*cdf0e10cSrcweir OUString SAL_CALL Oasis2OOoTransformer_getImplementationName() throw()
2073*cdf0e10cSrcweir {
2074*cdf0e10cSrcweir 	return OUString( RTL_CONSTASCII_USTRINGPARAM(
2075*cdf0e10cSrcweir 		"com.sun.star.comp.Oasis2OOoTransformer" ) );
2076*cdf0e10cSrcweir }
2077*cdf0e10cSrcweir 
2078*cdf0e10cSrcweir Sequence< OUString > SAL_CALL Oasis2OOoTransformer_getSupportedServiceNames()
2079*cdf0e10cSrcweir 	throw()
2080*cdf0e10cSrcweir {
2081*cdf0e10cSrcweir 	const OUString aServiceName( Oasis2OOoTransformer_getImplementationName() );
2082*cdf0e10cSrcweir 	const Sequence< OUString > aSeq( &aServiceName, 1 );
2083*cdf0e10cSrcweir 	return aSeq;
2084*cdf0e10cSrcweir }
2085*cdf0e10cSrcweir 
2086*cdf0e10cSrcweir Reference< XInterface > SAL_CALL Oasis2OOoTransformer_createInstance(
2087*cdf0e10cSrcweir 		const Reference< XMultiServiceFactory > &)
2088*cdf0e10cSrcweir 	throw( Exception )
2089*cdf0e10cSrcweir {
2090*cdf0e10cSrcweir 	OSL_TRACE("Creating Oasis2OOoTransformer");
2091*cdf0e10cSrcweir 	return (cppu::OWeakObject*)new Oasis2OOoTransformer;
2092*cdf0e10cSrcweir }
2093