sc/source/filter/excel/xelink.cxx | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-)
New commits: commit b241910325456b32c2d3614c2e200305e85a357c Author: Markus Mohrhard <[email protected]> Date: Mon Dec 22 06:22:45 2014 +0100 fix another validation error for OOXML, related fdo#40746 e.g. exporting fdo40746-2.ods as OOXML Change-Id: I8a19ec2caecbc3687229d820ac2ec11fc01facd1 diff --git a/sc/source/filter/excel/xelink.cxx b/sc/source/filter/excel/xelink.cxx index 8ecef76..7cbf9a5 100644 --- a/sc/source/filter/excel/xelink.cxx +++ b/sc/source/filter/excel/xelink.cxx @@ -241,7 +241,7 @@ protected: /** Writes the list of externalName elements. */ void WriteExtNameBufferXml( XclExpXmlStream& rStrm ); -private: +protected: typedef boost::shared_ptr< XclExpExtNameBuffer > XclExpExtNameBfrRef; XclExpExtNameBfrRef mxExtNameBfr; /// List of EXTERNNAME records. }; @@ -1680,14 +1680,18 @@ void XclExpSupbook::SaveXml( XclExpXmlStream& rStrm ) } - pExternalLink->startElement( XML_sheetDataSet, FSEND); + if (!maXctList.IsEmpty() || mxExtNameBfr) + { + pExternalLink->startElement( XML_sheetDataSet, FSEND); - // sheetData elements - maXctList.SaveXml( rStrm ); - // externalName elements - WriteExtNameBufferXml( rStrm ); + // sheetData elements + maXctList.SaveXml( rStrm ); + // externalName elements + WriteExtNameBufferXml( rStrm ); - pExternalLink->endElement( XML_sheetDataSet); + pExternalLink->endElement( XML_sheetDataSet); + + } pExternalLink->endElement( XML_externalBook); pExternalLink->endElement( XML_externalLink); } commit 3e551da43da5661396fbc2530a203d4774e29f78 Author: Markus Mohrhard <[email protected]> Date: Mon Dec 22 06:18:07 2014 +0100 fix OOXML validation error, related fdo#40746 e.g. fdo40746-2.ods exported to OOXML Change-Id: I48bc7a7d21ddc00eceaeb09970a2b1a60330fbf0 diff --git a/sc/source/filter/excel/xelink.cxx b/sc/source/filter/excel/xelink.cxx index a347dce..8ecef76 100644 --- a/sc/source/filter/excel/xelink.cxx +++ b/sc/source/filter/excel/xelink.cxx @@ -1667,14 +1667,18 @@ void XclExpSupbook::SaveXml( XclExpXmlStream& rStrm ) FSNS(XML_r, XML_id), XclXmlUtils::ToOString( sId ).getStr(), FSEND); - pExternalLink->startElement( XML_sheetNames, FSEND); - for (size_t nPos = 0, nSize = maXctList.GetSize(); nPos < nSize; ++nPos) + if (!maXctList.IsEmpty()) { - pExternalLink->singleElement( XML_sheetName, - XML_val, XclXmlUtils::ToOString( maXctList.GetRecord( nPos )->GetTabName()).getStr(), - FSEND); + pExternalLink->startElement( XML_sheetNames, FSEND); + for (size_t nPos = 0, nSize = maXctList.GetSize(); nPos < nSize; ++nPos) + { + pExternalLink->singleElement( XML_sheetName, + XML_val, XclXmlUtils::ToOString( maXctList.GetRecord( nPos )->GetTabName()).getStr(), + FSEND); + } + pExternalLink->endElement( XML_sheetNames); + } - pExternalLink->endElement( XML_sheetNames); pExternalLink->startElement( XML_sheetDataSet, FSEND); _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
