1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski #ifndef XMLSCRIPT_XMLBAS_IMPORT_HXX 25*b1cdbd2cSJim Jagielski #define XMLSCRIPT_XMLBAS_IMPORT_HXX 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski #include <com/sun/star/xml/sax/XDocumentHandler.hpp> 28*b1cdbd2cSJim Jagielski #include <com/sun/star/document/XImporter.hpp> 29*b1cdbd2cSJim Jagielski #include <com/sun/star/frame/XModel.hpp> 30*b1cdbd2cSJim Jagielski #include <com/sun/star/lang/XServiceInfo.hpp> 31*b1cdbd2cSJim Jagielski #ifndef _COM_SUN_STAR_SCRIPT_XLIBRYARYCONTAINER2_HPP_ 32*b1cdbd2cSJim Jagielski #include <com/sun/star/script/XLibraryContainer2.hpp> 33*b1cdbd2cSJim Jagielski #endif 34*b1cdbd2cSJim Jagielski #include <com/sun/star/uno/XComponentContext.hpp> 35*b1cdbd2cSJim Jagielski #include <com/sun/star/xml/input/XRoot.hpp> 36*b1cdbd2cSJim Jagielski #include <cppuhelper/implbase1.hxx> 37*b1cdbd2cSJim Jagielski #include <cppuhelper/implbase3.hxx> 38*b1cdbd2cSJim Jagielski #include <osl/mutex.hxx> 39*b1cdbd2cSJim Jagielski #include <rtl/ustrbuf.hxx> 40*b1cdbd2cSJim Jagielski 41*b1cdbd2cSJim Jagielski 42*b1cdbd2cSJim Jagielski //......................................................................... 43*b1cdbd2cSJim Jagielski namespace xmlscript 44*b1cdbd2cSJim Jagielski { 45*b1cdbd2cSJim Jagielski //......................................................................... 46*b1cdbd2cSJim Jagielski 47*b1cdbd2cSJim Jagielski // ============================================================================= 48*b1cdbd2cSJim Jagielski // class BasicElementBase 49*b1cdbd2cSJim Jagielski // ============================================================================= 50*b1cdbd2cSJim Jagielski 51*b1cdbd2cSJim Jagielski class BasicImport; 52*b1cdbd2cSJim Jagielski 53*b1cdbd2cSJim Jagielski typedef ::cppu::WeakImplHelper1< 54*b1cdbd2cSJim Jagielski ::com::sun::star::xml::input::XElement > BasicElementBase_BASE; 55*b1cdbd2cSJim Jagielski 56*b1cdbd2cSJim Jagielski class BasicElementBase : public BasicElementBase_BASE 57*b1cdbd2cSJim Jagielski { 58*b1cdbd2cSJim Jagielski protected: 59*b1cdbd2cSJim Jagielski BasicImport* m_pImport; 60*b1cdbd2cSJim Jagielski BasicElementBase* m_pParent; 61*b1cdbd2cSJim Jagielski ::rtl::OUString m_aLocalName; 62*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes > m_xAttributes; 63*b1cdbd2cSJim Jagielski 64*b1cdbd2cSJim Jagielski bool getBoolAttr( sal_Bool* pRet, const ::rtl::OUString& rAttrName, 65*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes, 66*b1cdbd2cSJim Jagielski sal_Int32 nUid ); 67*b1cdbd2cSJim Jagielski 68*b1cdbd2cSJim Jagielski public: 69*b1cdbd2cSJim Jagielski BasicElementBase( const ::rtl::OUString& rLocalName, 70*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes, 71*b1cdbd2cSJim Jagielski BasicElementBase* pParent, BasicImport* pImport ); 72*b1cdbd2cSJim Jagielski virtual ~BasicElementBase(); 73*b1cdbd2cSJim Jagielski 74*b1cdbd2cSJim Jagielski // XElement 75*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XElement > SAL_CALL getParent() 76*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 77*b1cdbd2cSJim Jagielski virtual ::rtl::OUString SAL_CALL getLocalName() 78*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 79*b1cdbd2cSJim Jagielski virtual sal_Int32 SAL_CALL getUid() 80*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 81*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes > SAL_CALL getAttributes() 82*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 83*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XElement > SAL_CALL startChildElement( 84*b1cdbd2cSJim Jagielski sal_Int32 nUid, const ::rtl::OUString& rLocalName, 85*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes ) 86*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 87*b1cdbd2cSJim Jagielski virtual void SAL_CALL characters( const ::rtl::OUString& rChars ) 88*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 89*b1cdbd2cSJim Jagielski virtual void SAL_CALL ignorableWhitespace( 90*b1cdbd2cSJim Jagielski const ::rtl::OUString& rWhitespaces ) 91*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 92*b1cdbd2cSJim Jagielski virtual void SAL_CALL processingInstruction( 93*b1cdbd2cSJim Jagielski const ::rtl::OUString& rTarget, const ::rtl::OUString& rData ) 94*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 95*b1cdbd2cSJim Jagielski virtual void SAL_CALL endElement() 96*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 97*b1cdbd2cSJim Jagielski }; 98*b1cdbd2cSJim Jagielski 99*b1cdbd2cSJim Jagielski 100*b1cdbd2cSJim Jagielski // ============================================================================= 101*b1cdbd2cSJim Jagielski // class BasicLibrariesElement 102*b1cdbd2cSJim Jagielski // ============================================================================= 103*b1cdbd2cSJim Jagielski 104*b1cdbd2cSJim Jagielski class BasicLibrariesElement : public BasicElementBase 105*b1cdbd2cSJim Jagielski { 106*b1cdbd2cSJim Jagielski private: 107*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::script::XLibraryContainer2 > m_xLibContainer; 108*b1cdbd2cSJim Jagielski 109*b1cdbd2cSJim Jagielski public: 110*b1cdbd2cSJim Jagielski BasicLibrariesElement( const ::rtl::OUString& rLocalName, 111*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes, 112*b1cdbd2cSJim Jagielski BasicElementBase* pParent, BasicImport* pImport, 113*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::script::XLibraryContainer2 >& rxLibContainer ); 114*b1cdbd2cSJim Jagielski 115*b1cdbd2cSJim Jagielski // XElement 116*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XElement > SAL_CALL startChildElement( 117*b1cdbd2cSJim Jagielski sal_Int32 nUid, const ::rtl::OUString& rLocalName, 118*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes ) 119*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 120*b1cdbd2cSJim Jagielski virtual void SAL_CALL endElement() 121*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 122*b1cdbd2cSJim Jagielski }; 123*b1cdbd2cSJim Jagielski 124*b1cdbd2cSJim Jagielski 125*b1cdbd2cSJim Jagielski // ============================================================================= 126*b1cdbd2cSJim Jagielski // class BasicEmbeddedLibraryElement 127*b1cdbd2cSJim Jagielski // ============================================================================= 128*b1cdbd2cSJim Jagielski 129*b1cdbd2cSJim Jagielski class BasicEmbeddedLibraryElement : public BasicElementBase 130*b1cdbd2cSJim Jagielski { 131*b1cdbd2cSJim Jagielski private: 132*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::script::XLibraryContainer2 > m_xLibContainer; 133*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > m_xLib; 134*b1cdbd2cSJim Jagielski ::rtl::OUString m_aLibName; 135*b1cdbd2cSJim Jagielski bool m_bReadOnly; 136*b1cdbd2cSJim Jagielski 137*b1cdbd2cSJim Jagielski public: 138*b1cdbd2cSJim Jagielski BasicEmbeddedLibraryElement( const ::rtl::OUString& rLocalName, 139*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes, 140*b1cdbd2cSJim Jagielski BasicElementBase* pParent, BasicImport* pImport, 141*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::script::XLibraryContainer2 >& rxLibContainer, 142*b1cdbd2cSJim Jagielski const ::rtl::OUString& rLibName, bool bReadOnly ); 143*b1cdbd2cSJim Jagielski 144*b1cdbd2cSJim Jagielski // XElement 145*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XElement > SAL_CALL startChildElement( 146*b1cdbd2cSJim Jagielski sal_Int32 nUid, const ::rtl::OUString& rLocalName, 147*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes ) 148*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 149*b1cdbd2cSJim Jagielski virtual void SAL_CALL endElement() 150*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 151*b1cdbd2cSJim Jagielski }; 152*b1cdbd2cSJim Jagielski 153*b1cdbd2cSJim Jagielski 154*b1cdbd2cSJim Jagielski // ============================================================================= 155*b1cdbd2cSJim Jagielski // class BasicModuleElement 156*b1cdbd2cSJim Jagielski // ============================================================================= 157*b1cdbd2cSJim Jagielski 158*b1cdbd2cSJim Jagielski class BasicModuleElement : public BasicElementBase 159*b1cdbd2cSJim Jagielski { 160*b1cdbd2cSJim Jagielski private: 161*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > m_xLib; 162*b1cdbd2cSJim Jagielski ::rtl::OUString m_aName; 163*b1cdbd2cSJim Jagielski 164*b1cdbd2cSJim Jagielski public: 165*b1cdbd2cSJim Jagielski BasicModuleElement( const ::rtl::OUString& rLocalName, 166*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes, 167*b1cdbd2cSJim Jagielski BasicElementBase* pParent, BasicImport* pImport, 168*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& rxLib, 169*b1cdbd2cSJim Jagielski const ::rtl::OUString& rName ); 170*b1cdbd2cSJim Jagielski 171*b1cdbd2cSJim Jagielski // XElement 172*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XElement > SAL_CALL startChildElement( 173*b1cdbd2cSJim Jagielski sal_Int32 nUid, const ::rtl::OUString& rLocalName, 174*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes ) 175*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 176*b1cdbd2cSJim Jagielski virtual void SAL_CALL endElement() 177*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 178*b1cdbd2cSJim Jagielski }; 179*b1cdbd2cSJim Jagielski 180*b1cdbd2cSJim Jagielski 181*b1cdbd2cSJim Jagielski // ============================================================================= 182*b1cdbd2cSJim Jagielski // class BasicSourceCodeElement 183*b1cdbd2cSJim Jagielski // ============================================================================= 184*b1cdbd2cSJim Jagielski 185*b1cdbd2cSJim Jagielski class BasicSourceCodeElement : public BasicElementBase 186*b1cdbd2cSJim Jagielski { 187*b1cdbd2cSJim Jagielski private: 188*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > m_xLib; 189*b1cdbd2cSJim Jagielski ::rtl::OUString m_aName; 190*b1cdbd2cSJim Jagielski ::rtl::OUStringBuffer m_aBuffer; 191*b1cdbd2cSJim Jagielski 192*b1cdbd2cSJim Jagielski public: 193*b1cdbd2cSJim Jagielski BasicSourceCodeElement( const ::rtl::OUString& rLocalName, 194*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes, 195*b1cdbd2cSJim Jagielski BasicElementBase* pParent, BasicImport* pImport, 196*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& rxLib, 197*b1cdbd2cSJim Jagielski const ::rtl::OUString& rName ); 198*b1cdbd2cSJim Jagielski 199*b1cdbd2cSJim Jagielski // XElement 200*b1cdbd2cSJim Jagielski virtual void SAL_CALL characters( const ::rtl::OUString& rChars ) 201*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 202*b1cdbd2cSJim Jagielski virtual void SAL_CALL endElement() 203*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 204*b1cdbd2cSJim Jagielski }; 205*b1cdbd2cSJim Jagielski 206*b1cdbd2cSJim Jagielski 207*b1cdbd2cSJim Jagielski // ============================================================================= 208*b1cdbd2cSJim Jagielski // class BasicImport 209*b1cdbd2cSJim Jagielski // ============================================================================= 210*b1cdbd2cSJim Jagielski 211*b1cdbd2cSJim Jagielski typedef ::cppu::WeakImplHelper1< 212*b1cdbd2cSJim Jagielski ::com::sun::star::xml::input::XRoot > BasicImport_BASE; 213*b1cdbd2cSJim Jagielski 214*b1cdbd2cSJim Jagielski class BasicImport : public BasicImport_BASE 215*b1cdbd2cSJim Jagielski { 216*b1cdbd2cSJim Jagielski friend class BasicElementBase; 217*b1cdbd2cSJim Jagielski friend class BasicLibrariesElement; 218*b1cdbd2cSJim Jagielski friend class BasicEmbeddedLibraryElement; 219*b1cdbd2cSJim Jagielski friend class BasicModuleElement; 220*b1cdbd2cSJim Jagielski 221*b1cdbd2cSJim Jagielski private: 222*b1cdbd2cSJim Jagielski sal_Int32 XMLNS_UID; 223*b1cdbd2cSJim Jagielski sal_Int32 XMLNS_XLINK_UID; 224*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > m_xModel; 225*b1cdbd2cSJim Jagielski sal_Bool m_bOasis; 226*b1cdbd2cSJim Jagielski 227*b1cdbd2cSJim Jagielski public: 228*b1cdbd2cSJim Jagielski BasicImport( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& rxModel, sal_Bool bOasis ); 229*b1cdbd2cSJim Jagielski virtual ~BasicImport(); 230*b1cdbd2cSJim Jagielski 231*b1cdbd2cSJim Jagielski // XRoot 232*b1cdbd2cSJim Jagielski virtual void SAL_CALL startDocument( 233*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XNamespaceMapping >& xNamespaceMapping ) 234*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 235*b1cdbd2cSJim Jagielski virtual void SAL_CALL endDocument() 236*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 237*b1cdbd2cSJim Jagielski virtual void SAL_CALL processingInstruction( 238*b1cdbd2cSJim Jagielski const ::rtl::OUString& rTarget, const ::rtl::OUString& rData ) 239*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 240*b1cdbd2cSJim Jagielski virtual void SAL_CALL setDocumentLocator( 241*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator >& xLocator ) 242*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 243*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XElement > SAL_CALL startRootElement( 244*b1cdbd2cSJim Jagielski sal_Int32 nUid, const ::rtl::OUString& rLocalName, 245*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes ) 246*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 247*b1cdbd2cSJim Jagielski }; 248*b1cdbd2cSJim Jagielski 249*b1cdbd2cSJim Jagielski 250*b1cdbd2cSJim Jagielski // ============================================================================= 251*b1cdbd2cSJim Jagielski // class XMLBasicImporterBase 252*b1cdbd2cSJim Jagielski // ============================================================================= 253*b1cdbd2cSJim Jagielski 254*b1cdbd2cSJim Jagielski typedef ::cppu::WeakImplHelper3< 255*b1cdbd2cSJim Jagielski ::com::sun::star::lang::XServiceInfo, 256*b1cdbd2cSJim Jagielski ::com::sun::star::document::XImporter, 257*b1cdbd2cSJim Jagielski ::com::sun::star::xml::sax::XDocumentHandler > XMLBasicImporterBase_BASE; 258*b1cdbd2cSJim Jagielski 259*b1cdbd2cSJim Jagielski class XMLBasicImporterBase : public XMLBasicImporterBase_BASE 260*b1cdbd2cSJim Jagielski { 261*b1cdbd2cSJim Jagielski private: 262*b1cdbd2cSJim Jagielski ::osl::Mutex m_aMutex; 263*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext; 264*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > m_xHandler; 265*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > m_xModel; 266*b1cdbd2cSJim Jagielski sal_Bool m_bOasis; 267*b1cdbd2cSJim Jagielski 268*b1cdbd2cSJim Jagielski public: 269*b1cdbd2cSJim Jagielski XMLBasicImporterBase( 270*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext, sal_Bool bOasis ); 271*b1cdbd2cSJim Jagielski virtual ~XMLBasicImporterBase(); 272*b1cdbd2cSJim Jagielski 273*b1cdbd2cSJim Jagielski // XServiceInfo 274*b1cdbd2cSJim Jagielski virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) 275*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 276*b1cdbd2cSJim Jagielski 277*b1cdbd2cSJim Jagielski // XImporter 278*b1cdbd2cSJim Jagielski virtual void SAL_CALL setTargetDocument( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >& rxDoc ) 279*b1cdbd2cSJim Jagielski throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); 280*b1cdbd2cSJim Jagielski 281*b1cdbd2cSJim Jagielski // XDocumentHandler 282*b1cdbd2cSJim Jagielski virtual void SAL_CALL startDocument() 283*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 284*b1cdbd2cSJim Jagielski virtual void SAL_CALL endDocument() 285*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 286*b1cdbd2cSJim Jagielski virtual void SAL_CALL startElement( const ::rtl::OUString& aName, 287*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttribs ) 288*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 289*b1cdbd2cSJim Jagielski virtual void SAL_CALL endElement( const ::rtl::OUString& aName ) 290*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 291*b1cdbd2cSJim Jagielski virtual void SAL_CALL characters( const ::rtl::OUString& aChars ) 292*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 293*b1cdbd2cSJim Jagielski virtual void SAL_CALL ignorableWhitespace( const ::rtl::OUString& aWhitespaces ) 294*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 295*b1cdbd2cSJim Jagielski virtual void SAL_CALL processingInstruction( const ::rtl::OUString& aTarget, const ::rtl::OUString& aData ) 296*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 297*b1cdbd2cSJim Jagielski virtual void SAL_CALL setDocumentLocator( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator >& xLocator ) 298*b1cdbd2cSJim Jagielski throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException); 299*b1cdbd2cSJim Jagielski }; 300*b1cdbd2cSJim Jagielski 301*b1cdbd2cSJim Jagielski 302*b1cdbd2cSJim Jagielski // ============================================================================= 303*b1cdbd2cSJim Jagielski // class XMLBasicImporter 304*b1cdbd2cSJim Jagielski // ============================================================================= 305*b1cdbd2cSJim Jagielski 306*b1cdbd2cSJim Jagielski class XMLBasicImporter : public XMLBasicImporterBase 307*b1cdbd2cSJim Jagielski { 308*b1cdbd2cSJim Jagielski public: 309*b1cdbd2cSJim Jagielski XMLBasicImporter( 310*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext ); 311*b1cdbd2cSJim Jagielski virtual ~XMLBasicImporter(); 312*b1cdbd2cSJim Jagielski 313*b1cdbd2cSJim Jagielski // XServiceInfo 314*b1cdbd2cSJim Jagielski virtual ::rtl::OUString SAL_CALL getImplementationName( ) 315*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 316*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) 317*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 318*b1cdbd2cSJim Jagielski }; 319*b1cdbd2cSJim Jagielski 320*b1cdbd2cSJim Jagielski 321*b1cdbd2cSJim Jagielski // ============================================================================= 322*b1cdbd2cSJim Jagielski // class XMLOasisBasicImporter 323*b1cdbd2cSJim Jagielski // ============================================================================= 324*b1cdbd2cSJim Jagielski 325*b1cdbd2cSJim Jagielski class XMLOasisBasicImporter : public XMLBasicImporterBase 326*b1cdbd2cSJim Jagielski { 327*b1cdbd2cSJim Jagielski public: 328*b1cdbd2cSJim Jagielski XMLOasisBasicImporter( 329*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext ); 330*b1cdbd2cSJim Jagielski virtual ~XMLOasisBasicImporter(); 331*b1cdbd2cSJim Jagielski 332*b1cdbd2cSJim Jagielski // XServiceInfo 333*b1cdbd2cSJim Jagielski virtual ::rtl::OUString SAL_CALL getImplementationName( ) 334*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 335*b1cdbd2cSJim Jagielski virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) 336*b1cdbd2cSJim Jagielski throw (::com::sun::star::uno::RuntimeException); 337*b1cdbd2cSJim Jagielski }; 338*b1cdbd2cSJim Jagielski 339*b1cdbd2cSJim Jagielski //......................................................................... 340*b1cdbd2cSJim Jagielski } // namespace xmlscript 341*b1cdbd2cSJim Jagielski //......................................................................... 342*b1cdbd2cSJim Jagielski 343*b1cdbd2cSJim Jagielski #endif // XMLSCRIPT_XMLBAS_IMPORT_HXX 344