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 #ifndef _SDXMLIMP_IMPL_HXX
29*cdf0e10cSrcweir #define _SDXMLIMP_IMPL_HXX
30*cdf0e10cSrcweir 
31*cdf0e10cSrcweir #include <com/sun/star/drawing/XDrawPage.hpp>
32*cdf0e10cSrcweir #include <com/sun/star/frame/XModel.hpp>
33*cdf0e10cSrcweir #include <com/sun/star/task/XStatusIndicator.hpp>
34*cdf0e10cSrcweir #include <xmloff/xmltkmap.hxx>
35*cdf0e10cSrcweir #include <com/sun/star/container/XNameAccess.hpp>
36*cdf0e10cSrcweir 
37*cdf0e10cSrcweir #ifndef __SGI_STL_VECTOR
38*cdf0e10cSrcweir #include <vector>
39*cdf0e10cSrcweir #endif
40*cdf0e10cSrcweir #include <xmloff/xmlimp.hxx>
41*cdf0e10cSrcweir 
42*cdf0e10cSrcweir //////////////////////////////////////////////////////////////////////////////
43*cdf0e10cSrcweir 
44*cdf0e10cSrcweir enum SdXMLDocElemTokenMap
45*cdf0e10cSrcweir {
46*cdf0e10cSrcweir 	XML_TOK_DOC_FONTDECLS,
47*cdf0e10cSrcweir 	XML_TOK_DOC_STYLES,
48*cdf0e10cSrcweir 	XML_TOK_DOC_AUTOSTYLES,
49*cdf0e10cSrcweir 	XML_TOK_DOC_MASTERSTYLES,
50*cdf0e10cSrcweir 	XML_TOK_DOC_META,
51*cdf0e10cSrcweir 	XML_TOK_DOC_BODY,
52*cdf0e10cSrcweir 	XML_TOK_DOC_SCRIPT,
53*cdf0e10cSrcweir 	XML_TOK_DOC_SETTINGS,
54*cdf0e10cSrcweir 	XML_TOK_OFFICE_END = XML_TOK_UNKNOWN
55*cdf0e10cSrcweir };
56*cdf0e10cSrcweir 
57*cdf0e10cSrcweir enum SdXMLBodyElemTokenMap
58*cdf0e10cSrcweir {
59*cdf0e10cSrcweir 	XML_TOK_BODY_PAGE,
60*cdf0e10cSrcweir 	XML_TOK_BODY_SETTINGS,
61*cdf0e10cSrcweir 	XML_TOK_BODY_HEADER_DECL,
62*cdf0e10cSrcweir 	XML_TOK_BODY_FOOTER_DECL,
63*cdf0e10cSrcweir 	XML_TOK_BODY_DATE_TIME_DECL
64*cdf0e10cSrcweir };
65*cdf0e10cSrcweir 
66*cdf0e10cSrcweir enum SdXMLStylesElemTokenMap
67*cdf0e10cSrcweir {
68*cdf0e10cSrcweir 	XML_TOK_STYLES_MASTER_PAGE,
69*cdf0e10cSrcweir 	XML_TOK_STYLES_STYLE,
70*cdf0e10cSrcweir 	XML_TOK_STYLES_PAGE_MASTER,
71*cdf0e10cSrcweir 	XML_TOK_STYLES_PRESENTATION_PAGE_LAYOUT
72*cdf0e10cSrcweir };
73*cdf0e10cSrcweir 
74*cdf0e10cSrcweir enum SdXMLAutoStylesElemTokenMap
75*cdf0e10cSrcweir {
76*cdf0e10cSrcweir 	XML_TOK_AUTOSTYLES_STYLE
77*cdf0e10cSrcweir };
78*cdf0e10cSrcweir 
79*cdf0e10cSrcweir enum SdXMLMasterPageElemTokenMap
80*cdf0e10cSrcweir {
81*cdf0e10cSrcweir 	XML_TOK_MASTERPAGE_STYLE,
82*cdf0e10cSrcweir 	XML_TOK_MASTERPAGE_NOTES
83*cdf0e10cSrcweir };
84*cdf0e10cSrcweir 
85*cdf0e10cSrcweir enum SdXMLMasterPageAttrTokenMap
86*cdf0e10cSrcweir {
87*cdf0e10cSrcweir 	XML_TOK_MASTERPAGE_NAME,
88*cdf0e10cSrcweir 	XML_TOK_MASTERPAGE_DISPLAY_NAME,
89*cdf0e10cSrcweir 	XML_TOK_MASTERPAGE_PAGE_MASTER_NAME,
90*cdf0e10cSrcweir 	XML_TOK_MASTERPAGE_STYLE_NAME,
91*cdf0e10cSrcweir 	XML_TOK_MASTERPAGE_PAGE_LAYOUT_NAME,
92*cdf0e10cSrcweir 	XML_TOK_MASTERPAGE_USE_HEADER_NAME,
93*cdf0e10cSrcweir 	XML_TOK_MASTERPAGE_USE_FOOTER_NAME,
94*cdf0e10cSrcweir 	XML_TOK_MASTERPAGE_USE_DATE_TIME_NAME
95*cdf0e10cSrcweir };
96*cdf0e10cSrcweir 
97*cdf0e10cSrcweir enum SdXMLPageMasterAttrTokenMap
98*cdf0e10cSrcweir {
99*cdf0e10cSrcweir 	XML_TOK_PAGEMASTER_NAME
100*cdf0e10cSrcweir };
101*cdf0e10cSrcweir 
102*cdf0e10cSrcweir enum SdXMLPageMasterStyleAttrTokenMap
103*cdf0e10cSrcweir {
104*cdf0e10cSrcweir 	XML_TOK_PAGEMASTERSTYLE_MARGIN_TOP,
105*cdf0e10cSrcweir 	XML_TOK_PAGEMASTERSTYLE_MARGIN_BOTTOM,
106*cdf0e10cSrcweir 	XML_TOK_PAGEMASTERSTYLE_MARGIN_LEFT,
107*cdf0e10cSrcweir 	XML_TOK_PAGEMASTERSTYLE_MARGIN_RIGHT,
108*cdf0e10cSrcweir 	XML_TOK_PAGEMASTERSTYLE_PAGE_WIDTH,
109*cdf0e10cSrcweir 	XML_TOK_PAGEMASTERSTYLE_PAGE_HEIGHT,
110*cdf0e10cSrcweir 	XML_TOK_PAGEMASTERSTYLE_PAGE_ORIENTATION
111*cdf0e10cSrcweir };
112*cdf0e10cSrcweir 
113*cdf0e10cSrcweir enum SdXMLDocStyleAttrTokenMap
114*cdf0e10cSrcweir {
115*cdf0e10cSrcweir 	XML_TOK_DOCSTYLE_NAME,
116*cdf0e10cSrcweir 	XML_TOK_DOCSTYLE_FAMILY,
117*cdf0e10cSrcweir 	XML_TOK_DOCSTYLE_PARENT_STYLE_NAME,
118*cdf0e10cSrcweir 	XML_TOK_DOCSTYLE_AUTOMATIC
119*cdf0e10cSrcweir };
120*cdf0e10cSrcweir 
121*cdf0e10cSrcweir enum SdXMLDocStyleElemTokenMap
122*cdf0e10cSrcweir {
123*cdf0e10cSrcweir 	XML_TOK_DOCSTYLE_PROPERTIES,
124*cdf0e10cSrcweir 	XML_TOK_DOCSTYLE_PRESENTATION_PLACEHOLDER
125*cdf0e10cSrcweir };
126*cdf0e10cSrcweir 
127*cdf0e10cSrcweir enum SdXMLDrawPageAttrTokenMap
128*cdf0e10cSrcweir {
129*cdf0e10cSrcweir 	XML_TOK_DRAWPAGE_NAME,
130*cdf0e10cSrcweir 	XML_TOK_DRAWPAGE_STYLE_NAME,
131*cdf0e10cSrcweir 	XML_TOK_DRAWPAGE_MASTER_PAGE_NAME,
132*cdf0e10cSrcweir 	XML_TOK_DRAWPAGE_PAGE_LAYOUT_NAME,
133*cdf0e10cSrcweir     XML_TOK_DRAWPAGE_DRAWID,
134*cdf0e10cSrcweir     XML_TOK_DRAWPAGE_XMLID,
135*cdf0e10cSrcweir 	XML_TOK_DRAWPAGE_HREF,
136*cdf0e10cSrcweir 	XML_TOK_DRAWPAGE_USE_HEADER_NAME,
137*cdf0e10cSrcweir 	XML_TOK_DRAWPAGE_USE_FOOTER_NAME,
138*cdf0e10cSrcweir 	XML_TOK_DRAWPAGE_USE_DATE_TIME_NAME
139*cdf0e10cSrcweir };
140*cdf0e10cSrcweir 
141*cdf0e10cSrcweir enum SdXMLDrawPageElemTokenMap
142*cdf0e10cSrcweir {
143*cdf0e10cSrcweir 	XML_TOK_DRAWPAGE_NOTES,
144*cdf0e10cSrcweir 	XML_TOK_DRAWPAGE_PAR,
145*cdf0e10cSrcweir 	XML_TOK_DRAWPAGE_SEQ
146*cdf0e10cSrcweir };
147*cdf0e10cSrcweir 
148*cdf0e10cSrcweir enum SdXMLPresentationPlaceholderAttrTokenMap
149*cdf0e10cSrcweir {
150*cdf0e10cSrcweir 	XML_TOK_PRESENTATIONPLACEHOLDER_OBJECTNAME,
151*cdf0e10cSrcweir 	XML_TOK_PRESENTATIONPLACEHOLDER_X,
152*cdf0e10cSrcweir 	XML_TOK_PRESENTATIONPLACEHOLDER_Y,
153*cdf0e10cSrcweir 	XML_TOK_PRESENTATIONPLACEHOLDER_WIDTH,
154*cdf0e10cSrcweir 	XML_TOK_PRESENTATIONPLACEHOLDER_HEIGHT
155*cdf0e10cSrcweir };
156*cdf0e10cSrcweir 
157*cdf0e10cSrcweir //////////////////////////////////////////////////////////////////////////////
158*cdf0e10cSrcweir 
159*cdf0e10cSrcweir struct SdXMLltXDrawPageId
160*cdf0e10cSrcweir {
161*cdf0e10cSrcweir   bool operator()(sal_Int32 nId1, sal_Int32 nId2 ) const
162*cdf0e10cSrcweir   {
163*cdf0e10cSrcweir     return nId1 < nId2;
164*cdf0e10cSrcweir   }
165*cdf0e10cSrcweir };
166*cdf0e10cSrcweir 
167*cdf0e10cSrcweir typedef std::map< sal_Int32, com::sun::star::uno::Reference< com::sun::star::drawing::XDrawPage >, SdXMLltXDrawPageId > DrawPageIdMap;
168*cdf0e10cSrcweir 
169*cdf0e10cSrcweir //////////////////////////////////////////////////////////////////////////////
170*cdf0e10cSrcweir 
171*cdf0e10cSrcweir class SvXMLUnitConverter;
172*cdf0e10cSrcweir class SvXMLTokenMap;
173*cdf0e10cSrcweir class XMLSdPropHdlFactory;
174*cdf0e10cSrcweir class XMLPropertySetMapper;
175*cdf0e10cSrcweir class XMLPropStyleContext;
176*cdf0e10cSrcweir class SdXMLStylesContext;
177*cdf0e10cSrcweir class SdXMLMasterStylesContext;
178*cdf0e10cSrcweir 
179*cdf0e10cSrcweir //////////////////////////////////////////////////////////////////////////////
180*cdf0e10cSrcweir 
181*cdf0e10cSrcweir struct DateTimeDeclContextImpl
182*cdf0e10cSrcweir {
183*cdf0e10cSrcweir 	rtl::OUString maStrText;
184*cdf0e10cSrcweir 	sal_Bool mbFixed;
185*cdf0e10cSrcweir 	rtl::OUString maStrDateTimeFormat;
186*cdf0e10cSrcweir 
187*cdf0e10cSrcweir 	DateTimeDeclContextImpl() : mbFixed(sal_True) {}
188*cdf0e10cSrcweir };
189*cdf0e10cSrcweir 
190*cdf0e10cSrcweir DECLARE_STL_USTRINGACCESS_MAP( ::rtl::OUString, HeaderFooterDeclMap );
191*cdf0e10cSrcweir DECLARE_STL_USTRINGACCESS_MAP( DateTimeDeclContextImpl, DateTimeDeclMap );
192*cdf0e10cSrcweir 
193*cdf0e10cSrcweir //////////////////////////////////////////////////////////////////////////////
194*cdf0e10cSrcweir 
195*cdf0e10cSrcweir class SdXMLImport: public SvXMLImport
196*cdf0e10cSrcweir {
197*cdf0e10cSrcweir 	com::sun::star::uno::Reference< com::sun::star::container::XNameAccess > mxDocStyleFamilies;
198*cdf0e10cSrcweir 	com::sun::star::uno::Reference< com::sun::star::container::XIndexAccess > mxDocMasterPages;
199*cdf0e10cSrcweir 	com::sun::star::uno::Reference< com::sun::star::container::XIndexAccess > mxDocDrawPages;
200*cdf0e10cSrcweir 	com::sun::star::uno::Reference< com::sun::star::container::XNameAccess > mxPageLayouts;
201*cdf0e10cSrcweir 
202*cdf0e10cSrcweir 	// contexts for Style and AutoStyle import
203*cdf0e10cSrcweir 	SdXMLMasterStylesContext*	mpMasterStylesContext;
204*cdf0e10cSrcweir 
205*cdf0e10cSrcweir 	// token map lists
206*cdf0e10cSrcweir 	SvXMLTokenMap*				mpDocElemTokenMap;
207*cdf0e10cSrcweir 	SvXMLTokenMap*				mpBodyElemTokenMap;
208*cdf0e10cSrcweir 	SvXMLTokenMap*				mpStylesElemTokenMap;
209*cdf0e10cSrcweir 	SvXMLTokenMap*				mpAutoStylesElemTokenMap;
210*cdf0e10cSrcweir 	SvXMLTokenMap*				mpMasterPageElemTokenMap;
211*cdf0e10cSrcweir 	SvXMLTokenMap*				mpMasterPageAttrTokenMap;
212*cdf0e10cSrcweir 	SvXMLTokenMap*				mpPageMasterAttrTokenMap;
213*cdf0e10cSrcweir 	SvXMLTokenMap*				mpPageMasterStyleAttrTokenMap;
214*cdf0e10cSrcweir 	SvXMLTokenMap*				mpDocStyleAttrTokenMap;
215*cdf0e10cSrcweir 	SvXMLTokenMap*				mpDocStyleElemTokenMap;
216*cdf0e10cSrcweir 	SvXMLTokenMap*				mpDrawPageAttrTokenMap;
217*cdf0e10cSrcweir 	SvXMLTokenMap*				mpDrawPageElemTokenMap;
218*cdf0e10cSrcweir 	SvXMLTokenMap*				mpPresentationPlaceholderAttrTokenMap;
219*cdf0e10cSrcweir 
220*cdf0e10cSrcweir 	sal_uInt16					mnStyleFamilyMask;
221*cdf0e10cSrcweir 
222*cdf0e10cSrcweir 	sal_Int32					mnNewPageCount;
223*cdf0e10cSrcweir 	sal_Int32					mnNewMasterPageCount;
224*cdf0e10cSrcweir 
225*cdf0e10cSrcweir 	sal_Bool					mbIsDraw;
226*cdf0e10cSrcweir 	sal_Bool					mbLoadDoc;
227*cdf0e10cSrcweir 	sal_Bool					mbPreview;
228*cdf0e10cSrcweir 
229*cdf0e10cSrcweir 	DrawPageIdMap				maDrawPageIds;
230*cdf0e10cSrcweir 
231*cdf0e10cSrcweir 	::rtl::OUString				msPageLayouts;
232*cdf0e10cSrcweir 	::rtl::OUString				msPreview;
233*cdf0e10cSrcweir 
234*cdf0e10cSrcweir 	HeaderFooterDeclMap			maHeaderDeclsMap;
235*cdf0e10cSrcweir 	HeaderFooterDeclMap			maFooterDeclsMap;
236*cdf0e10cSrcweir 	DateTimeDeclMap				maDateTimeDeclsMap;
237*cdf0e10cSrcweir 
238*cdf0e10cSrcweir protected:
239*cdf0e10cSrcweir 	// This method is called after the namespace map has been updated, but
240*cdf0e10cSrcweir 	// before a context for the current element has been pushed.
241*cdf0e10cSrcweir 	virtual SvXMLImportContext *CreateContext(sal_uInt16 nPrefix,
242*cdf0e10cSrcweir 	  const rtl::OUString& rLocalName,
243*cdf0e10cSrcweir 	  const com::sun::star::uno::Reference<
244*cdf0e10cSrcweir 		com::sun::star::xml::sax::XAttributeList>& xAttrList);
245*cdf0e10cSrcweir 
246*cdf0e10cSrcweir public:
247*cdf0e10cSrcweir 	// #110680#
248*cdf0e10cSrcweir 	SdXMLImport(
249*cdf0e10cSrcweir 		const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceFactory,
250*cdf0e10cSrcweir 		sal_Bool bIsDraw, sal_uInt16 nImportFlags = IMPORT_ALL );
251*cdf0e10cSrcweir 	~SdXMLImport() throw ();
252*cdf0e10cSrcweir 
253*cdf0e10cSrcweir 	// XImporter
254*cdf0e10cSrcweir 	virtual void SAL_CALL setTargetDocument( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >& xDoc ) throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
255*cdf0e10cSrcweir 
256*cdf0e10cSrcweir 	// XInitialization
257*cdf0e10cSrcweir     virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
258*cdf0e10cSrcweir 
259*cdf0e10cSrcweir 	void SetProgress(sal_Int32 nProg);
260*cdf0e10cSrcweir 
261*cdf0e10cSrcweir 	virtual void SetViewSettings(const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& aViewProps);
262*cdf0e10cSrcweir 	virtual void SetConfigurationSettings(const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>& aConfigProps);
263*cdf0e10cSrcweir 
264*cdf0e10cSrcweir 	// namespace office
265*cdf0e10cSrcweir     // NB: in contrast to other CreateFooContexts, this particular one handles
266*cdf0e10cSrcweir     //     the root element (i.e. office:document-meta)
267*cdf0e10cSrcweir 	SvXMLImportContext* CreateMetaContext(const rtl::OUString& rLocalName,
268*cdf0e10cSrcweir 		const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList);
269*cdf0e10cSrcweir 	SvXMLImportContext* CreateScriptContext( const ::rtl::OUString& rLocalName );
270*cdf0e10cSrcweir 	SvXMLImportContext* CreateBodyContext(const rtl::OUString& rLocalName,
271*cdf0e10cSrcweir 		const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList);
272*cdf0e10cSrcweir 	SvXMLStylesContext* CreateStylesContext(const rtl::OUString& rLocalName,
273*cdf0e10cSrcweir 		const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList);
274*cdf0e10cSrcweir 	SvXMLStylesContext* CreateAutoStylesContext(const rtl::OUString& rLocalName,
275*cdf0e10cSrcweir 		const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList);
276*cdf0e10cSrcweir 	SvXMLImportContext* CreateMasterStylesContext(const rtl::OUString& rLocalName,
277*cdf0e10cSrcweir 		const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList >& xAttrList);
278*cdf0e10cSrcweir 	SvXMLImportContext *CreateFontDeclsContext(const ::rtl::OUString& rLocalName,
279*cdf0e10cSrcweir 		const ::com::sun::star::uno::Reference<	::com::sun::star::xml::sax::XAttributeList > & xAttrList );
280*cdf0e10cSrcweir 
281*cdf0e10cSrcweir 	// Styles and AutoStyles contexts
282*cdf0e10cSrcweir 	const SdXMLMasterStylesContext* GetMasterStylesContext() const { return mpMasterStylesContext; }
283*cdf0e10cSrcweir 
284*cdf0e10cSrcweir 	sal_uInt16 GetStyleFamilyMask() const { return mnStyleFamilyMask; }
285*cdf0e10cSrcweir 	sal_Bool IsStylesOnlyMode() const { return !mbLoadDoc; }
286*cdf0e10cSrcweir 
287*cdf0e10cSrcweir 	const SvXMLTokenMap& GetDocElemTokenMap();
288*cdf0e10cSrcweir 	const SvXMLTokenMap& GetBodyElemTokenMap();
289*cdf0e10cSrcweir 	const SvXMLTokenMap& GetStylesElemTokenMap();
290*cdf0e10cSrcweir 	const SvXMLTokenMap& GetMasterPageElemTokenMap();
291*cdf0e10cSrcweir 	const SvXMLTokenMap& GetMasterPageAttrTokenMap();
292*cdf0e10cSrcweir 	const SvXMLTokenMap& GetPageMasterAttrTokenMap();
293*cdf0e10cSrcweir 	const SvXMLTokenMap& GetPageMasterStyleAttrTokenMap();
294*cdf0e10cSrcweir 	const SvXMLTokenMap& GetDrawPageAttrTokenMap();
295*cdf0e10cSrcweir 	const SvXMLTokenMap& GetDrawPageElemTokenMap();
296*cdf0e10cSrcweir 	const SvXMLTokenMap& GetPresentationPlaceholderAttrTokenMap();
297*cdf0e10cSrcweir 
298*cdf0e10cSrcweir 	// export local parameters concerning page access and similar
299*cdf0e10cSrcweir 	const com::sun::star::uno::Reference<
300*cdf0e10cSrcweir 		com::sun::star::container::XNameAccess >& GetLocalDocStyleFamilies() const { return mxDocStyleFamilies; }
301*cdf0e10cSrcweir 	const com::sun::star::uno::Reference<
302*cdf0e10cSrcweir 		com::sun::star::container::XIndexAccess >& GetLocalMasterPages() const { return mxDocMasterPages; }
303*cdf0e10cSrcweir 	const com::sun::star::uno::Reference<
304*cdf0e10cSrcweir 		com::sun::star::container::XIndexAccess >& GetLocalDrawPages() const { return mxDocDrawPages; }
305*cdf0e10cSrcweir 
306*cdf0e10cSrcweir 	sal_Int32 GetNewPageCount() const { return mnNewPageCount; }
307*cdf0e10cSrcweir 	void IncrementNewPageCount() { mnNewPageCount++; }
308*cdf0e10cSrcweir 	sal_Int32 GetNewMasterPageCount() const { return mnNewMasterPageCount; }
309*cdf0e10cSrcweir 	void IncrementNewMasterPageCount() { mnNewMasterPageCount++; }
310*cdf0e10cSrcweir 
311*cdf0e10cSrcweir 	com::sun::star::uno::Reference< com::sun::star::container::XNameAccess > getPageLayouts() const { return mxPageLayouts; }
312*cdf0e10cSrcweir 
313*cdf0e10cSrcweir 	sal_Bool IsDraw() const { return mbIsDraw; }
314*cdf0e10cSrcweir 	sal_Bool IsImpress() const { return !mbIsDraw; }
315*cdf0e10cSrcweir 
316*cdf0e10cSrcweir 	// import pool defaults. Parameter contains pool defaults read
317*cdf0e10cSrcweir 	// from input data. These data needs to be set at the model.
318*cdf0e10cSrcweir 	void ImportPoolDefaults(const XMLPropStyleContext* pPool);
319*cdf0e10cSrcweir 
320*cdf0e10cSrcweir 	// #80365#
321*cdf0e10cSrcweir     virtual void SetStatistics(
322*cdf0e10cSrcweir         const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue> & i_rStats);
323*cdf0e10cSrcweir 
324*cdf0e10cSrcweir 	sal_Bool IsPreview() const { return mbPreview; }
325*cdf0e10cSrcweir 
326*cdf0e10cSrcweir     // XServiceInfo ( : SvXMLExport )
327*cdf0e10cSrcweir     virtual ::rtl::OUString SAL_CALL getImplementationName() throw( ::com::sun::star::uno::RuntimeException );
328*cdf0e10cSrcweir 
329*cdf0e10cSrcweir 	void AddHeaderDecl( const ::rtl::OUString& rName, const ::rtl::OUString& rText );
330*cdf0e10cSrcweir 	void AddFooterDecl( const ::rtl::OUString& rName, const ::rtl::OUString& rText );
331*cdf0e10cSrcweir 	void AddDateTimeDecl( const ::rtl::OUString& rName, const ::rtl::OUString& rText, sal_Bool bFixed, const ::rtl::OUString& rDateTimeFormat );
332*cdf0e10cSrcweir 
333*cdf0e10cSrcweir 	::rtl::OUString GetHeaderDecl( const ::rtl::OUString& rName ) const;
334*cdf0e10cSrcweir 	::rtl::OUString GetFooterDecl( const ::rtl::OUString& rName ) const;
335*cdf0e10cSrcweir 	::rtl::OUString GetDateTimeDecl( const ::rtl::OUString& rName, sal_Bool& rbFixed, ::rtl::OUString& rDateTimeFormat );
336*cdf0e10cSrcweir 
337*cdf0e10cSrcweir };
338*cdf0e10cSrcweir 
339*cdf0e10cSrcweir #endif	//  _SDXMLIMP_HXX
340