Update ooo320-m1
[ooovba.git] / xmloff / source / xforms / XFormsInstanceContext.hxx
blobf75925abe0c3c8f2a028426b3c7c4495ba50d7c4
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XFormsInstanceContext.hxx,v $
10 * $Revision: 1.4 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _XMLOFF_XFORMSINSTANCECONTEXT_HXX
32 #define _XMLOFF_XFORMSINSTANCECONTEXT_HXX
36 // include for parent class and members
39 #include "TokenContext.hxx"
40 #include <com/sun/star/uno/Reference.hxx>
44 // forward declarations
47 namespace com { namespace sun { namespace star {
48 namespace xml { namespace sax { class XAttributeList; } }
49 namespace xml { namespace dom { class XDocument; } }
50 namespace beans { class XPropertySet; }
51 namespace xforms { class XModel; }
52 } } }
53 namespace rtl { class OUString; }
54 class SvXMLImport;
55 class SvXMLImportContext;
58 /** import the xforms:instance element */
59 class XFormsInstanceContext : public TokenContext
61 com::sun::star::uno::Reference<com::sun::star::xforms::XModel> mxModel;
62 com::sun::star::uno::Reference<com::sun::star::xml::dom::XDocument> mxInstance;
63 rtl::OUString msId;
64 rtl::OUString msURL;
66 public:
68 XFormsInstanceContext( SvXMLImport& rImport,
69 USHORT nPrfx,
70 const ::rtl::OUString& rLName,
71 com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet> xModel );
72 virtual ~XFormsInstanceContext();
76 // implement SvXMLImportContext & TokenContext methods:
77 // We override CreateChildContext, because we want to read
78 // arbitrary DOM elements. For the attributes, we use the
79 // TokenContext mechanism.
82 virtual SvXMLImportContext* CreateChildContext(
83 USHORT nPrefix,
84 const rtl::OUString& rLocalName,
85 const com::sun::star::uno::Reference<com::sun::star::xml::sax::XAttributeList >& xAttrList );
87 virtual void EndElement();
89 protected:
91 virtual void HandleAttribute(
92 sal_uInt16 nToken,
93 const rtl::OUString& rValue );
95 virtual SvXMLImportContext* HandleChild(
96 sal_uInt16 nToken,
97 sal_uInt16 nNamespace,
98 const rtl::OUString& rLocalName,
99 const com::sun::star::uno::Reference<com::sun::star::xml::sax::XAttributeList>& xAttrList );
102 #endif