1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef _SCH_XML_CONTEXTS_HXX_
20 #define _SCH_XML_CONTEXTS_HXX_
22 #include "SchXMLImport.hxx"
23 #include "SchXMLTableContext.hxx"
24 #include <xmloff/xmlictxt.hxx>
25 #include <xmloff/xmltkmap.hxx>
27 #include <xmloff/xmlmetai.hxx>
29 namespace com
{ namespace sun
{ namespace star
{ namespace xml
{ namespace sax
{
33 /* ========================================
35 These contexts are only nedded by
36 SchXMLImport not by the SchXMLImportHelper
37 that is also used by other applications
39 ======================================== */
41 class SchXMLDocContext
: public virtual SvXMLImportContext
44 SchXMLImportHelper
& mrImportHelper
;
48 SchXMLImportHelper
& rImpHelper
,
51 const OUString
& rLName
);
52 virtual ~SchXMLDocContext();
56 virtual SvXMLImportContext
* CreateChildContext(
58 const OUString
& rLocalName
,
59 const com::sun::star::uno::Reference
< com::sun::star::xml::sax::XAttributeList
>& xAttrList
);
62 // ========================================
64 // context for flat file xml format
65 class SchXMLFlatDocContext_Impl
66 : public SchXMLDocContext
, public SvXMLMetaDocumentContext
69 SchXMLFlatDocContext_Impl(
70 SchXMLImportHelper
& i_rImpHelper
,
71 SchXMLImport
& i_rImport
,
72 sal_uInt16 i_nPrefix
, const OUString
& i_rLName
,
73 const com::sun::star::uno::Reference
<com::sun::star::document::XDocumentProperties
>& i_xDocProps
);
75 virtual ~SchXMLFlatDocContext_Impl();
77 virtual SvXMLImportContext
*CreateChildContext(
78 sal_uInt16 i_nPrefix
, const OUString
& i_rLocalName
,
79 const com::sun::star::uno::Reference
<com::sun::star::xml::sax::XAttributeList
>& i_xAttrList
);
82 // ========================================
84 class SchXMLBodyContext
: public SvXMLImportContext
87 SchXMLImportHelper
& mrImportHelper
;
91 SchXMLImportHelper
& rImpHelper
,
94 const OUString
& rLName
);
95 virtual ~SchXMLBodyContext();
97 virtual void EndElement();
98 virtual SvXMLImportContext
* CreateChildContext(
100 const OUString
& rLocalName
,
101 const com::sun::star::uno::Reference
< com::sun::star::xml::sax::XAttributeList
>& xAttrList
);
104 // ========================================
106 #endif // _SCH_XML_CONTEXTS_HXX_
108 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */