Bump for 3.6-28
[LibreOffice.git] / xmlscript / source / xmlmod_imexp / xmlmod_export.cxx
blob8114fd560f973b8e96b583b9f57699a8d3122a8c
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
30 #include <xmlscript/xmlmod_imexp.hxx>
31 #include <xmlscript/xml_helper.hxx>
33 using namespace com::sun::star::uno;
34 using namespace com::sun::star;
36 using ::rtl::OUString;
38 namespace xmlscript
41 //==================================================================================================
43 void
44 SAL_CALL exportScriptModule(
45 Reference< xml::sax::XExtendedDocumentHandler > const & xOut,
46 const ModuleDescriptor& rMod )
47 SAL_THROW( (Exception) )
49 xOut->startDocument();
51 OUString aDocTypeStr( RTL_CONSTASCII_USTRINGPARAM(
52 "<!DOCTYPE script:module PUBLIC \"-//OpenOffice.org//DTD OfficeDocument 1.0//EN\""
53 " \"module.dtd\">" ) );
54 xOut->unknown( aDocTypeStr );
55 xOut->ignorableWhitespace( OUString() );
57 OUString aModuleName( RTL_CONSTASCII_USTRINGPARAM(XMLNS_SCRIPT_PREFIX ":module") );
58 XMLElement* pModElement = new XMLElement( aModuleName );
59 Reference< xml::sax::XAttributeList > xAttributes( pModElement );
61 pModElement->addAttribute( OUString( RTL_CONSTASCII_USTRINGPARAM("xmlns:" XMLNS_SCRIPT_PREFIX) ),
62 OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_SCRIPT_URI) ) );
64 pModElement->addAttribute( OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_SCRIPT_PREFIX ":name") ),
65 rMod.aName );
66 pModElement->addAttribute( OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_SCRIPT_PREFIX ":language") ),
67 rMod.aLanguage );
68 if( !rMod.aModuleType.isEmpty() )
69 pModElement->addAttribute( OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_SCRIPT_PREFIX ":moduleType") ),
70 rMod.aModuleType );
72 xOut->ignorableWhitespace( OUString() );
73 xOut->startElement( aModuleName, xAttributes );
74 xOut->characters( rMod.aCode );
75 xOut->endElement( aModuleName );
76 xOut->endDocument();
81 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */