diff options
author | Vasily Melenchuk <vasily.melenchuk@cib.de> | 2021-11-24 14:50:12 +0300 |
---|---|---|
committer | Thorsten Behrens <thorsten.behrens@allotropia.de> | 2021-12-21 23:23:51 +0100 |
commit | a4432eb0946c0bc775b3d30b634bef5d66544f8d (patch) | |
tree | 67b339d47ba727f55b989322091f20804d9c6c09 /offapi | |
parent | c3d3eb7bdcb07824af7d205112f36201634aee59 (diff) |
tdf#104823: support for sdt plain text fields
This is a squashed commit containing set of changes:
* Create a input field from sdt text block.
* Advanced support for reading field data from data bindings
which can point to custom xml or properties xml. For this
XOOXMLDocumentPropertiesImporter idl interface was extrended
with extra getterrs to get properties as xml dom elements.
* Support for exporting of this feature back to docx. For this
some extra parameters for sdt block are kept in newly introduced
grabbag for input fields. If field does not contain grabbag it
being exported as before (FILLIN or whatsoever), otherwise
sdt block is counstructed based on data from grabbag.
* Basic support for updating custom xml values back into
custom xmls with usage of xslt transformations. To achieve
this extra parameters were introduced to XXSLTTransformer:
now it is able to support in-memory transformation stylesheets.
Some unittests were corrected: since sdt plain text edit area is
a field located inside paragraph in outout corresponding sdt is
also located inside paragraph (instead of Word's approach with
paragraph inside sdt). Seems this is not critical.
Change-Id: I1a73ef300db3619804f7adf18579bea708764c14
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127015
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127127
Diffstat (limited to 'offapi')
-rw-r--r-- | offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl b/offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl index 9a2ba7fe4192..840081663edb 100644 --- a/offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl +++ b/offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl @@ -24,6 +24,7 @@ #include <com/sun/star/xml/sax/SAXException.idl> #include <com/sun/star/lang/IllegalArgumentException.idl> #include <com/sun/star/uno/Exception.idl> +#include <com/sun/star/io/XInputStream.idl> module com { module sun { module star { module document { @@ -70,6 +71,30 @@ interface XOOXMLDocumentPropertiesImporter: com::sun::star::uno::XInterface 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); }; |