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
;
41 //==================================================================================================
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") ),
66 pModElement
->addAttribute( OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_SCRIPT_PREFIX
":language") ),
68 if( !rMod
.aModuleType
.isEmpty() )
69 pModElement
->addAttribute( OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_SCRIPT_PREFIX
":moduleType") ),
72 xOut
->ignorableWhitespace( OUString() );
73 xOut
->startElement( aModuleName
, xAttributes
);
74 xOut
->characters( rMod
.aCode
);
75 xOut
->endElement( aModuleName
);
81 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */