/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ module com { module sun { module star { module document { /** allows to import the document properties from OOXML format */ interface XOOXMLDocumentPropertiesImporter: com::sun::star::uno::XInterface { /** allows to import the document properties from OOXML format
The implementation should parse the document properties from OOXML format storage and set them to the target XDocumentProperties implementation.
The storage must represent OOXML format and support com::sun::star::embed::XRelationshipAccess interface. Please see com::sun::star::embed::StorageFactory for details regarding creation of such a storage.
@param xSource the source storage representing OOXML document @param xDocumentProperties the target XDocumentProperties interface implementation @throws ::com::sun::star::lang::IllegalArgumentException the exception is thrown in case unexpected arguments are provided @throws ::com::sun::star::xml::sax::SAXException the exception is thrown in case of parsing problems @throws ::com::sun::star::uno::Exception the exception is thrown in case of other problems during the import */ void importProperties( [in] com::sun::star::embed::XStorage xSource, [in] com::sun::star::document::XDocumentProperties xDocumentProperties ) raises( com::sun::star::lang::IllegalArgumentException, com::sun::star::xml::sax::SAXException, com::sun::star::uno::Exception ); /** find and get core properties stream (usually it is docProps\core.xml) @since LibreOffice 7.3 */ com::sun::star::io::XInputStream getCorePropertiesStream([in] com::sun::star::embed::XStorage xSource); /** find and get extended properties stream (usually it is docProps/app.xml) @since LibreOffice 7.3 */ com::sun::star::io::XInputStream getExtendedPropertiesStream([in] com::sun::star::embed::XStorage xSource); /** find and get custom properties streams (usually it is customXml\*.xml) @since LibreOffice 7.3 */ sequence< com::sun::star::io::XInputStream > getCustomPropertiesStreams([in] com::sun::star::embed::XStorage xSource); }; }; }; }; }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */