summaryrefslogtreecommitdiff
path: root/xmloff/source/core
diff options
context:
space:
mode:
authorMichael Stahl <mst@openoffice.org>2010-04-28 17:52:28 +0200
committerMichael Stahl <mst@openoffice.org>2010-04-28 17:52:28 +0200
commitfd358e1499ada29ac8421a7940e8eb6a61e7f818 (patch)
tree5bf0ff9fe2ab496838b0e93fb966a0c42c44f264 /xmloff/source/core
parentd5d509c803f6210e7d62d6f91e9773774ea3ac58 (diff)
parenteeaf2f34f56d815040b0e80b5e3abd6b08400bdc (diff)
merge DEV300_m77
Diffstat (limited to 'xmloff/source/core')
-rw-r--r--xmloff/source/core/SettingsExportHelper.cxx131
-rw-r--r--xmloff/source/core/xmlexp.cxx97
2 files changed, 159 insertions, 69 deletions
diff --git a/xmloff/source/core/SettingsExportHelper.cxx b/xmloff/source/core/SettingsExportHelper.cxx
index 182ab6f9a2..31611faacc 100644
--- a/xmloff/source/core/SettingsExportHelper.cxx
+++ b/xmloff/source/core/SettingsExportHelper.cxx
@@ -32,32 +32,27 @@
#include <xmloff/xmltoken.hxx>
#include <xmloff/xmluconv.hxx>
#include <tools/debug.hxx>
+#include <tools/diagnose_ex.h>
#include <comphelper/extract.hxx>
-// #110680#
-//#ifndef _COMPHELPER_PROCESSFACTORYHXX_
-//#include <comphelper/processfactory.hxx>
-//#endif
#include <com/sun/star/linguistic2/XSupportedLocales.hpp>
#include <com/sun/star/i18n/XForbiddenCharacters.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/container/XNameContainer.hpp>
-#ifndef _COM_SUN_STAR_CONTAINER_XIndexCONTAINER_HPP_
#include <com/sun/star/container/XIndexContainer.hpp>
-#endif
#include <com/sun/star/util/DateTime.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/container/XIndexContainer.hpp>
#include <com/sun/star/formula/SymbolDescriptor.hpp>
#include <com/sun/star/document/PrinterIndependentLayout.hpp>
-#include <xmloff/nmspmap.hxx>
+#include <xmloff/XMLSettingsExportContext.hxx>
#include <xmlenums.hxx>
using namespace ::com::sun::star;
using namespace ::xmloff::token;
-XMLSettingsExportHelper::XMLSettingsExportHelper(SvXMLExport& rTempExport)
-: rExport(rTempExport)
+XMLSettingsExportHelper::XMLSettingsExportHelper( ::xmloff::XMLSettingsExportContext& i_rContext )
+: m_rContext( i_rContext )
, msPrinterIndependentLayout( RTL_CONSTASCII_USTRINGPARAM( "PrinterIndependentLayout" ) )
, msColorTableURL( RTL_CONSTASCII_USTRINGPARAM( "ColorTableURL" ) )
, msLineEndTableURL( RTL_CONSTASCII_USTRINGPARAM( "LineEndTableURL" ) )
@@ -194,89 +189,97 @@ void XMLSettingsExportHelper::CallTypeFunction(const uno::Any& rAny,
void XMLSettingsExportHelper::exportBool(const sal_Bool bValue, const rtl::OUString& rName) const
{
DBG_ASSERT(rName.getLength(), "no name");
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_NAME, rName);
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_TYPE, XML_BOOLEAN);
- SvXMLElementExport aBoolElem(rExport, XML_NAMESPACE_CONFIG, XML_CONFIG_ITEM, sal_True, sal_False);
+ m_rContext.AddAttribute( XML_NAME, rName );
+ m_rContext.AddAttribute( XML_TYPE, XML_BOOLEAN );
+ m_rContext.StartElement( XML_CONFIG_ITEM, sal_True );
rtl::OUString sValue;
if (bValue)
sValue = GetXMLToken(XML_TRUE);
else
sValue = GetXMLToken(XML_FALSE);
- rExport.GetDocHandler()->characters(sValue);
+ m_rContext.Characters( sValue );
+ m_rContext.EndElement( sal_False );
}
void XMLSettingsExportHelper::exportByte(const sal_Int8 nValue, const rtl::OUString& rName) const
{
DBG_ASSERT(rName.getLength(), "no name");
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_NAME, rName);
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_TYPE, XML_BYTE);
- SvXMLElementExport aShortElem(rExport, XML_NAMESPACE_CONFIG, XML_CONFIG_ITEM, sal_True, sal_False);
+ m_rContext.AddAttribute( XML_NAME, rName );
+ m_rContext.AddAttribute( XML_TYPE, XML_BYTE );
+ m_rContext.StartElement( XML_CONFIG_ITEM, sal_True );
rtl::OUStringBuffer sBuffer;
SvXMLUnitConverter::convertNumber(sBuffer, sal_Int32(nValue));
- rExport.GetDocHandler()->characters(sBuffer.makeStringAndClear());
+ m_rContext.Characters( sBuffer.makeStringAndClear() );
+ m_rContext.EndElement( sal_False );
}
void XMLSettingsExportHelper::exportShort(const sal_Int16 nValue, const rtl::OUString& rName) const
{
DBG_ASSERT(rName.getLength(), "no name");
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_NAME, rName);
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_TYPE, XML_SHORT);
- SvXMLElementExport aShortElem(rExport, XML_NAMESPACE_CONFIG, XML_CONFIG_ITEM, sal_True, sal_False);
+ m_rContext.AddAttribute( XML_NAME, rName );
+ m_rContext.AddAttribute( XML_TYPE, XML_SHORT );
+ m_rContext.StartElement( XML_CONFIG_ITEM, sal_True );
rtl::OUStringBuffer sBuffer;
SvXMLUnitConverter::convertNumber(sBuffer, sal_Int32(nValue));
- rExport.GetDocHandler()->characters(sBuffer.makeStringAndClear());
+ m_rContext.Characters( sBuffer.makeStringAndClear() );
+ m_rContext.EndElement( sal_False );
}
void XMLSettingsExportHelper::exportInt(const sal_Int32 nValue, const rtl::OUString& rName) const
{
DBG_ASSERT(rName.getLength(), "no name");
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_NAME, rName);
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_TYPE, XML_INT);
- SvXMLElementExport aIntElem(rExport, XML_NAMESPACE_CONFIG, XML_CONFIG_ITEM, sal_True, sal_False);
+ m_rContext.AddAttribute( XML_NAME, rName );
+ m_rContext.AddAttribute( XML_TYPE, XML_INT );
+ m_rContext.StartElement( XML_CONFIG_ITEM, sal_True );
rtl::OUStringBuffer sBuffer;
SvXMLUnitConverter::convertNumber(sBuffer, nValue);
- rExport.GetDocHandler()->characters(sBuffer.makeStringAndClear());
+ m_rContext.Characters( sBuffer.makeStringAndClear() );
+ m_rContext.EndElement( sal_False );
}
void XMLSettingsExportHelper::exportLong(const sal_Int64 nValue, const rtl::OUString& rName) const
{
DBG_ASSERT(rName.getLength(), "no name");
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_NAME, rName);
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_TYPE, XML_LONG);
- SvXMLElementExport aIntElem(rExport, XML_NAMESPACE_CONFIG, XML_CONFIG_ITEM, sal_True, sal_False);
+ m_rContext.AddAttribute( XML_NAME, rName );
+ m_rContext.AddAttribute( XML_TYPE, XML_LONG );
+ m_rContext.StartElement( XML_CONFIG_ITEM, sal_True );
rtl::OUString sValue(rtl::OUString::valueOf(nValue));
- rExport.GetDocHandler()->characters(sValue);
+ m_rContext.Characters( sValue );
+ m_rContext.EndElement( sal_False );
}
void XMLSettingsExportHelper::exportDouble(const double fValue, const rtl::OUString& rName) const
{
DBG_ASSERT(rName.getLength(), "no name");
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_NAME, rName);
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_TYPE, XML_DOUBLE);
- SvXMLElementExport aDoubleElem(rExport, XML_NAMESPACE_CONFIG, XML_CONFIG_ITEM, sal_True, sal_False);
+ m_rContext.AddAttribute( XML_NAME, rName );
+ m_rContext.AddAttribute( XML_TYPE, XML_DOUBLE );
+ m_rContext.StartElement( XML_CONFIG_ITEM, sal_True );
rtl::OUStringBuffer sBuffer;
SvXMLUnitConverter::convertDouble(sBuffer, fValue);
- rExport.GetDocHandler()->characters(sBuffer.makeStringAndClear());
+ m_rContext.Characters( sBuffer.makeStringAndClear() );
+ m_rContext.EndElement( sal_False );
}
void XMLSettingsExportHelper::exportString(const rtl::OUString& sValue, const rtl::OUString& rName) const
{
DBG_ASSERT(rName.getLength(), "no name");
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_NAME, rName);
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_TYPE, XML_STRING);
- SvXMLElementExport aDoubleElem(rExport, XML_NAMESPACE_CONFIG, XML_CONFIG_ITEM, sal_True, sal_False);
+ m_rContext.AddAttribute( XML_NAME, rName );
+ m_rContext.AddAttribute( XML_TYPE, XML_STRING );
+ m_rContext.StartElement( XML_CONFIG_ITEM, sal_True );
if (sValue.getLength())
- rExport.GetDocHandler()->characters(sValue);
+ m_rContext.Characters( sValue );
+ m_rContext.EndElement( sal_False );
}
void XMLSettingsExportHelper::exportDateTime(const util::DateTime& aValue, const rtl::OUString& rName) const
{
DBG_ASSERT(rName.getLength(), "no name");
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_NAME, rName);
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_TYPE, XML_DATETIME);
+ m_rContext.AddAttribute( XML_NAME, rName );
+ m_rContext.AddAttribute( XML_TYPE, XML_DATETIME );
rtl::OUStringBuffer sBuffer;
SvXMLUnitConverter::convertDateTime(sBuffer, aValue);
- SvXMLElementExport aDoubleElem(rExport, XML_NAMESPACE_CONFIG, XML_CONFIG_ITEM, sal_True, sal_False);
- rExport.GetDocHandler()->characters(sBuffer.makeStringAndClear());
+ m_rContext.StartElement( XML_CONFIG_ITEM, sal_True );
+ m_rContext.Characters( sBuffer.makeStringAndClear() );
+ m_rContext.EndElement( sal_False );
}
void XMLSettingsExportHelper::exportSequencePropertyValue(
@@ -287,10 +290,11 @@ void XMLSettingsExportHelper::exportSequencePropertyValue(
sal_Int32 nLength(aProps.getLength());
if(nLength)
{
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_NAME, rName);
- SvXMLElementExport aSequenceElem(rExport, XML_NAMESPACE_CONFIG, XML_CONFIG_ITEM_SET, sal_True, sal_True);
+ m_rContext.AddAttribute( XML_NAME, rName );
+ m_rContext.StartElement( XML_CONFIG_ITEM_SET, sal_True );
for (sal_Int32 i = 0; i < nLength; i++)
CallTypeFunction(aProps[i].Value, aProps[i].Name);
+ m_rContext.EndElement( sal_True );
}
}
void XMLSettingsExportHelper::exportSymbolDescriptors(
@@ -299,7 +303,7 @@ void XMLSettingsExportHelper::exportSymbolDescriptors(
{
// #110680#
// uno::Reference< lang::XMultiServiceFactory > xServiceFactory( comphelper::getProcessServiceFactory() );
- uno::Reference< lang::XMultiServiceFactory > xServiceFactory( rExport.getServiceFactory() );
+ uno::Reference< lang::XMultiServiceFactory > xServiceFactory( m_rContext.GetServiceFactory() );
DBG_ASSERT( xServiceFactory.is(), "XMLSettingsExportHelper::exportSymbolDescriptors: got no service manager" );
if( xServiceFactory.is() )
@@ -362,15 +366,16 @@ void XMLSettingsExportHelper::exportbase64Binary(
{
DBG_ASSERT(rName.getLength(), "no name");
sal_Int32 nLength(aProps.getLength());
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_NAME, rName);
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_TYPE, XML_BASE64BINARY);
- SvXMLElementExport aDoubleElem(rExport, XML_NAMESPACE_CONFIG, XML_CONFIG_ITEM, sal_True, sal_False);
+ m_rContext.AddAttribute( XML_NAME, rName );
+ m_rContext.AddAttribute( XML_TYPE, XML_BASE64BINARY );
+ m_rContext.StartElement( XML_CONFIG_ITEM, sal_True );
if(nLength)
{
rtl::OUStringBuffer sBuffer;
SvXMLUnitConverter::encodeBase64(sBuffer, aProps);
- rExport.GetDocHandler()->characters(sBuffer.makeStringAndClear());
+ m_rContext.Characters( sBuffer.makeStringAndClear() );
}
+ m_rContext.EndElement( sal_False );
}
void XMLSettingsExportHelper::exportMapEntry(const uno::Any& rAny,
@@ -384,10 +389,11 @@ void XMLSettingsExportHelper::exportMapEntry(const uno::Any& rAny,
if (nLength)
{
if (bNameAccess)
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_NAME, rName);
- SvXMLElementExport aEntryElem(rExport, XML_NAMESPACE_CONFIG, XML_CONFIG_ITEM_MAP_ENTRY, sal_True, sal_True);
+ m_rContext.AddAttribute( XML_NAME, rName );
+ m_rContext.StartElement( XML_CONFIG_ITEM_MAP_ENTRY, sal_True );
for (sal_Int32 i = 0; i < nLength; i++)
CallTypeFunction(aProps[i].Value, aProps[i].Name);
+ m_rContext.EndElement( sal_True );
}
}
@@ -400,11 +406,12 @@ void XMLSettingsExportHelper::exportNameAccess(
"wrong NameAccess" );
if(aNamed->hasElements())
{
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_NAME, rName);
- SvXMLElementExport aNamedElem(rExport, XML_NAMESPACE_CONFIG, XML_CONFIG_ITEM_MAP_NAMED, sal_True, sal_True);
+ m_rContext.AddAttribute( XML_NAME, rName );
+ m_rContext.StartElement( XML_CONFIG_ITEM_MAP_NAMED, sal_True );
uno::Sequence< rtl::OUString > aNames(aNamed->getElementNames());
for (sal_Int32 i = 0; i < aNames.getLength(); i++)
exportMapEntry(aNamed->getByName(aNames[i]), aNames[i], sal_True);
+ m_rContext.EndElement( sal_True );
}
}
@@ -414,17 +421,18 @@ void XMLSettingsExportHelper::exportIndexAccess(
{
DBG_ASSERT(rName.getLength(), "no name");
DBG_ASSERT(aIndexed->getElementType().equals(getCppuType( (uno::Sequence<beans::PropertyValue> *)0 ) ),
- "wrong NameAccess" );
+ "wrong IndexAccess" );
rtl::OUString sEmpty;// ( RTLCONSTASCII_USTRINGPARAM( "View" ) );
if(aIndexed->hasElements())
{
- rExport.AddAttribute(XML_NAMESPACE_CONFIG, XML_NAME, rName);
- SvXMLElementExport aIndexedElem(rExport, XML_NAMESPACE_CONFIG, XML_CONFIG_ITEM_MAP_INDEXED, sal_True, sal_True);
+ m_rContext.AddAttribute( XML_NAME, rName );
+ m_rContext.StartElement( XML_CONFIG_ITEM_MAP_INDEXED, sal_True );
sal_Int32 nCount = aIndexed->getCount();
for (sal_Int32 i = 0; i < nCount; i++)
{
exportMapEntry(aIndexed->getByIndex(i), sEmpty, sal_False);
}
+ m_rContext.EndElement( sal_True );
}
}
@@ -445,7 +453,7 @@ void XMLSettingsExportHelper::exportForbiddenCharacters(
// #110680#
// uno::Reference< lang::XMultiServiceFactory > xServiceFactory( comphelper::getProcessServiceFactory() );
- uno::Reference< lang::XMultiServiceFactory > xServiceFactory( rExport.getServiceFactory() );
+ uno::Reference< lang::XMultiServiceFactory > xServiceFactory( m_rContext.GetServiceFactory() );
DBG_ASSERT( xServiceFactory.is(), "XMLSettingsExportHelper::exportForbiddenCharacters: got no service manager" );
if( xServiceFactory.is() )
@@ -496,14 +504,12 @@ void XMLSettingsExportHelper::exportForbiddenCharacters(
}
}
-void XMLSettingsExportHelper::exportSettings(
+void XMLSettingsExportHelper::exportAllSettings(
const uno::Sequence<beans::PropertyValue>& aProps,
const rtl::OUString& rName) const
{
DBG_ASSERT(rName.getLength(), "no name");
- ::rtl::OUString aQName =
- rExport.GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_OOO, rName );
- exportSequencePropertyValue(aProps, aQName);
+ exportSequencePropertyValue(aProps, rName);
}
@@ -531,15 +537,16 @@ void XMLSettingsExportHelper::ManipulateSetting( uno::Any& rAny, const rtl::OUSt
{
if( !mxStringSubsitution.is() )
{
- if( rExport.getServiceFactory().is() ) try
+ if( m_rContext.GetServiceFactory().is() ) try
{
const_cast< XMLSettingsExportHelper* >(this)->mxStringSubsitution =
uno::Reference< util::XStringSubstitution >::query(
- rExport.getServiceFactory()->
+ m_rContext.GetServiceFactory()->
createInstance(::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.util.PathSubstitution" ) ) ) );
}
catch( uno::Exception& )
{
+ DBG_UNHANDLED_EXCEPTION();
}
}
diff --git a/xmloff/source/core/xmlexp.cxx b/xmloff/source/core/xmlexp.cxx
index 8732c143e1..a87141adf2 100644
--- a/xmloff/source/core/xmlexp.cxx
+++ b/xmloff/source/core/xmlexp.cxx
@@ -53,6 +53,7 @@
#include <xmloff/xmlexp.hxx>
#include <xmloff/xmlnumfe.hxx>
#include <xmloff/xmlmetae.hxx>
+#include <xmloff/XMLSettingsExportContext.hxx>
#include <xmloff/families.hxx>
#include <xmloff/XMLEventExport.hxx>
#include "XMLStarBasicExportHandler.hxx"
@@ -157,6 +158,72 @@ const XMLServiceMapEntry_Impl aServiceMap[] =
//==============================================================================
+class SAL_DLLPRIVATE SettingsExportFacade : public ::xmloff::XMLSettingsExportContext
+{
+public:
+ SettingsExportFacade( SvXMLExport& i_rExport )
+ :m_rExport( i_rExport )
+ {
+ }
+
+ virtual ~SettingsExportFacade()
+ {
+ }
+
+ virtual void AddAttribute( enum ::xmloff::token::XMLTokenEnum i_eName,
+ const ::rtl::OUString& i_rValue );
+ virtual void AddAttribute( enum ::xmloff::token::XMLTokenEnum i_eName,
+ enum ::xmloff::token::XMLTokenEnum i_eValue );
+
+ virtual void StartElement( enum ::xmloff::token::XMLTokenEnum i_eName,
+ const sal_Bool i_bIgnoreWhitespace );
+ virtual void EndElement( const sal_Bool i_bIgnoreWhitespace );
+
+ virtual void Characters( const ::rtl::OUString& i_rCharacters );
+
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
+ GetServiceFactory() const;
+private:
+ SvXMLExport& m_rExport;
+ ::std::stack< ::rtl::OUString > m_aElements;
+};
+
+void SettingsExportFacade::AddAttribute( enum ::xmloff::token::XMLTokenEnum i_eName, const ::rtl::OUString& i_rValue )
+{
+ m_rExport.AddAttribute( XML_NAMESPACE_CONFIG, i_eName, i_rValue );
+}
+
+void SettingsExportFacade::AddAttribute( enum ::xmloff::token::XMLTokenEnum i_eName, enum ::xmloff::token::XMLTokenEnum i_eValue )
+{
+ m_rExport.AddAttribute( XML_NAMESPACE_CONFIG, i_eName, i_eValue );
+}
+
+void SettingsExportFacade::StartElement( enum ::xmloff::token::XMLTokenEnum i_eName, const sal_Bool i_bIgnoreWhitespace )
+{
+ const ::rtl::OUString sElementName( m_rExport.GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_CONFIG, GetXMLToken( i_eName ) ) );
+ m_rExport.StartElement( sElementName, i_bIgnoreWhitespace );
+ m_aElements.push( sElementName );
+}
+
+void SettingsExportFacade::EndElement( const sal_Bool i_bIgnoreWhitespace )
+{
+ const ::rtl::OUString sElementName( m_aElements.top() );
+ m_rExport.EndElement( sElementName, i_bIgnoreWhitespace );
+ m_aElements.pop();
+}
+
+void SettingsExportFacade::Characters( const ::rtl::OUString& i_rCharacters )
+{
+ m_rExport.GetDocHandler()->characters( i_rCharacters );
+}
+
+Reference< XMultiServiceFactory > SettingsExportFacade::GetServiceFactory() const
+{
+ return m_rExport.getServiceFactory();
+}
+
+//==============================================================================
+
class SvXMLExportEventListener : public cppu::WeakImplHelper1<
com::sun::star::lang::XEventListener >
{
@@ -1100,7 +1167,9 @@ void SvXMLExport::ImplExportSettings()
nSettingsCount != 0,
XML_NAMESPACE_OFFICE, XML_SETTINGS,
sal_True, sal_True );
- XMLSettingsExportHelper aSettingsExportHelper(*this);
+
+ SettingsExportFacade aSettingsExportContext( *this );
+ XMLSettingsExportHelper aSettingsExportHelper( aSettingsExportContext );
for ( ::std::list< SettingsGroup >::const_iterator settings = aSettings.begin();
settings != aSettings.end();
@@ -1111,7 +1180,8 @@ void SvXMLExport::ImplExportSettings()
continue;
OUString sSettingsName( GetXMLToken( settings->eGroupName ) );
- aSettingsExportHelper.exportSettings( settings->aSettings, sSettingsName );
+ OUString sQName = GetNamespaceMap().GetQNameByKey( XML_NAMESPACE_OOO, sSettingsName );
+ aSettingsExportHelper.exportAllSettings( settings->aSettings, sQName );
}
}
}
@@ -1244,6 +1314,23 @@ void SvXMLExport::SetBodyAttributes()
{
}
+static void
+lcl_AddGrddl(SvXMLExport & rExport, const sal_Int32 nExportMode)
+{
+ // check version >= 1.2
+ switch (rExport.getDefaultVersion()) {
+ case SvtSaveOptions::ODFVER_011: // fall thru
+ case SvtSaveOptions::ODFVER_010: return;
+ default: break;
+ }
+
+ if (EXPORT_SETTINGS != nExportMode) // meta, content, styles
+ {
+ rExport.AddAttribute( XML_NAMESPACE_GRDDL, XML_TRANSFORMATION,
+ OUString::createFromAscii(s_grddl_xsl) );
+ }
+}
+
sal_uInt32 SvXMLExport::exportDoc( enum ::xmloff::token::XMLTokenEnum eClass )
{
bool bOwnGraphicResolver = false;
@@ -1379,11 +1466,7 @@ sal_uInt32 SvXMLExport::exportDoc( enum ::xmloff::token::XMLTokenEnum eClass )
enum XMLTokenEnum eRootService = XML_TOKEN_INVALID;
const sal_Int32 nExportMode = mnExportFlags & (EXPORT_META|EXPORT_STYLES|EXPORT_CONTENT|EXPORT_SETTINGS);
- if ( EXPORT_SETTINGS != nExportMode ) // meta, content, styles
- {
- AddAttribute( XML_NAMESPACE_GRDDL, XML_TRANSFORMATION,
- OUString::createFromAscii(s_grddl_xsl) );
- }
+ lcl_AddGrddl(*this, nExportMode);
if( EXPORT_META == nExportMode )
{