Blame SOURCES/0080-XMLPropertyMapEntry-mbImportOnly-and-XMLPropertySetM.patch

f0633d
From 7b44c5e95b07cde11b8b03f940f97e71ea9c7df4 Mon Sep 17 00:00:00 2001
f0633d
From: Eike Rathke <erack@redhat.com>
f0633d
Date: Fri, 20 Dec 2013 12:57:15 +0100
f0633d
Subject: [PATCH 080/109] XMLPropertyMapEntry::mbImportOnly and
f0633d
 XMLPropertySetMapper bForExport
f0633d
f0633d
Although a rather large change this does not change the property
f0633d
mappings or import/export behavior yet, but prepares for further
f0633d
changes that add mappings for generating correct ODF and consuming
f0633d
both old and new namespace/element/attribute names.
f0633d
f0633d
This is a combination of 4 commits:
f0633d
f0633d
added bool bForExport parameter to XMLPropertySetMapper ctor
f0633d
f0633d
Set to true for export, false for import. If export true, an
f0633d
XMLPropertyMapEntry with mbImportOnly==true is not added to the
f0633d
mappings. This to be able to have more than one mappings for import
f0633d
(for example a current extension namespace and the future namespace
f0633d
proposed to the ODF-TC, or corrected typos in element or attribute
f0633d
names), but map only to one entry on export, of course.
f0633d
f0633d
(cherry picked from commit ebc1b2fe50c7ed1002ed8431410b8e2ac6e795b9)
f0633d
f0633d
Conflicts:
f0633d
	dbaccess/source/filter/xml/xmlHelper.cxx
f0633d
	xmloff/source/chart/PropertyMaps.cxx
f0633d
	xmloff/source/draw/sdpropls.cxx
f0633d
	xmloff/source/style/PageMasterPropMapper.cxx
f0633d
	xmloff/source/table/XMLTableImport.cxx
f0633d
f0633d
prepared XMLPropertyMapEntry with mbImportOnly flag
f0633d
f0633d
(cherry picked from commit 9dd7ee88bd9835ae2bae36093100fcd651fd3aeb)
f0633d
f0633d
Conflicts:
f0633d
	dbaccess/source/filter/xml/xmlHelper.cxx
f0633d
	xmloff/source/table/XMLTableExport.cxx
f0633d
	xmloff/source/text/txtprmap.cxx
f0633d
f0633d
just beautify this a little
f0633d
f0633d
(cherry picked from commit 44b4973fbd0f190906f36321b31215d80b363d52)
f0633d
f0633d
reordered member variables for 4 byte alignment
f0633d
f0633d
(cherry picked from commit dd902b8e256867b5d5fed06b52995f14d969f67d)
f0633d
f0633d
Change-Id: I15b03870fd14f110833037b6c0ff934624d72de1
f0633d
Reviewed-on: https://gerrit.libreoffice.org/7144
f0633d
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
f0633d
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
f0633d
---
f0633d
 dbaccess/source/filter/xml/xmlExport.cxx          |  8 ++---
f0633d
 dbaccess/source/filter/xml/xmlHelper.cxx          | 27 ++++++++--------
f0633d
 dbaccess/source/filter/xml/xmlHelper.hxx          |  8 ++---
f0633d
 dbaccess/source/filter/xml/xmlfilter.cxx          |  6 ++--
f0633d
 include/xmloff/maptype.hxx                        |  8 +++++
f0633d
 include/xmloff/txtprmap.hxx                       |  2 +-
f0633d
 include/xmloff/xmlprmap.hxx                       | 26 ++++++++++------
f0633d
 reportdesign/source/filter/xml/xmlExport.cxx      | 12 +++----
f0633d
 reportdesign/source/filter/xml/xmlHelper.cxx      | 16 +++++-----
f0633d
 reportdesign/source/filter/xml/xmlHelper.hxx      |  2 +-
f0633d
 reportdesign/source/filter/xml/xmlStyleImport.cxx |  2 +-
f0633d
 reportdesign/source/filter/xml/xmlfilter.cxx      |  8 ++---
f0633d
 sc/source/filter/xml/xmlexprt.cxx                 | 10 +++---
f0633d
 sc/source/filter/xml/xmlimprt.cxx                 |  8 ++---
f0633d
 sc/source/filter/xml/xmlstyle.cxx                 |  6 ++--
f0633d
 xmloff/inc/XMLChartPropertySetMapper.hxx          |  4 +--
f0633d
 xmloff/qa/unit/uxmloff.cxx                        |  2 +-
f0633d
 xmloff/source/chart/PropertyMap.hxx               | 16 +++++-----
f0633d
 xmloff/source/chart/PropertyMaps.cxx              |  4 +--
f0633d
 xmloff/source/chart/SchXMLExport.cxx              |  2 +-
f0633d
 xmloff/source/draw/sdpropls.cxx                   | 11 ++++---
f0633d
 xmloff/source/draw/sdpropls.hxx                   |  2 +-
f0633d
 xmloff/source/draw/sdxmlexp.cxx                   |  4 +--
f0633d
 xmloff/source/draw/shapeexport.cxx                |  4 +--
f0633d
 xmloff/source/draw/shapeimport.cxx                |  8 ++---
f0633d
 xmloff/source/forms/controlpropertymap.cxx        |  8 ++---
f0633d
 xmloff/source/forms/layerexport.cxx               |  2 +-
f0633d
 xmloff/source/style/PageMasterPropMapper.cxx      |  9 +++---
f0633d
 xmloff/source/style/PageMasterPropMapper.hxx      |  5 +--
f0633d
 xmloff/source/style/PageMasterStyleMap.cxx        |  4 +--
f0633d
 xmloff/source/style/XMLPageExport.cxx             |  2 +-
f0633d
 xmloff/source/style/xmlprmap.cxx                  | 38 +++++++++++++++++------
f0633d
 xmloff/source/style/xmlstyle.cxx                  |  4 +--
f0633d
 xmloff/source/table/XMLTableExport.cxx            |  8 ++---
f0633d
 xmloff/source/table/XMLTableImport.cxx            |  5 ++-
f0633d
 xmloff/source/text/txtimp.cxx                     | 22 ++++++-------
f0633d
 xmloff/source/text/txtparae.cxx                   | 20 ++++++------
f0633d
 xmloff/source/text/txtprmap.cxx                   | 22 ++++++-------
f0633d
 xmloff/source/text/txtstyle.cxx                   |  4 +--
f0633d
 39 files changed, 198 insertions(+), 161 deletions(-)
f0633d
f0633d
diff --git a/dbaccess/source/filter/xml/xmlExport.cxx b/dbaccess/source/filter/xml/xmlExport.cxx
f0633d
index 135ef75..538cfd3 100644
f0633d
--- a/dbaccess/source/filter/xml/xmlExport.cxx
f0633d
+++ b/dbaccess/source/filter/xml/xmlExport.cxx
f0633d
@@ -232,7 +232,7 @@ ODBExport::ODBExport(const Reference< XComponentContext >& _rxContext,sal_uInt16
f0633d
     m_xColumnExportHelper = new OSpecialHanldeXMLExportPropertyMapper(GetColumnStylesPropertySetMapper());
f0633d
 
f0633d
     m_xCellExportHelper = new OSpecialHanldeXMLExportPropertyMapper(GetCellStylesPropertySetMapper());
f0633d
-    m_xRowExportHelper = new OSpecialHanldeXMLExportPropertyMapper(OXMLHelper::GetRowStylesPropertySetMapper());
f0633d
+    m_xRowExportHelper = new OSpecialHanldeXMLExportPropertyMapper(OXMLHelper::GetRowStylesPropertySetMapper( true));
f0633d
 
f0633d
     GetAutoStylePool()->AddFamily(
f0633d
         XML_STYLE_FAMILY_TABLE_TABLE,
f0633d
@@ -1401,7 +1401,7 @@ UniReference < XMLPropertySetMapper > ODBExport::GetTableStylesPropertySetMapper
f0633d
 {
f0633d
     if ( !m_xTableStylesPropertySetMapper.is() )
f0633d
     {
f0633d
-        m_xTableStylesPropertySetMapper = OXMLHelper::GetTableStylesPropertySetMapper();
f0633d
+        m_xTableStylesPropertySetMapper = OXMLHelper::GetTableStylesPropertySetMapper( true);
f0633d
     }
f0633d
     return m_xTableStylesPropertySetMapper;
f0633d
 }
f0633d
@@ -1410,7 +1410,7 @@ UniReference < XMLPropertySetMapper > ODBExport::GetCellStylesPropertySetMapper(
f0633d
 {
f0633d
     if ( !m_xCellStylesPropertySetMapper.is() )
f0633d
     {
f0633d
-        m_xCellStylesPropertySetMapper = OXMLHelper::GetCellStylesPropertySetMapper();
f0633d
+        m_xCellStylesPropertySetMapper = OXMLHelper::GetCellStylesPropertySetMapper( true);
f0633d
     }
f0633d
     return m_xCellStylesPropertySetMapper;
f0633d
 }
f0633d
@@ -1419,7 +1419,7 @@ UniReference < XMLPropertySetMapper > ODBExport::GetColumnStylesPropertySetMappe
f0633d
 {
f0633d
     if ( !m_xColumnStylesPropertySetMapper.is() )
f0633d
     {
f0633d
-        m_xColumnStylesPropertySetMapper = OXMLHelper::GetColumnStylesPropertySetMapper();
f0633d
+        m_xColumnStylesPropertySetMapper = OXMLHelper::GetColumnStylesPropertySetMapper( true);
f0633d
     }
f0633d
     return m_xColumnStylesPropertySetMapper;
f0633d
 }
f0633d
diff --git a/dbaccess/source/filter/xml/xmlHelper.cxx b/dbaccess/source/filter/xml/xmlHelper.cxx
f0633d
index a410f08..921581d 100644
f0633d
--- a/dbaccess/source/filter/xml/xmlHelper.cxx
f0633d
+++ b/dbaccess/source/filter/xml/xmlHelper.cxx
f0633d
@@ -71,21 +71,20 @@ const XMLPropertyHandler* OPropertyHandlerFactory::GetPropertyHandler(sal_Int32
f0633d
     return pHandler;
f0633d
 }
f0633d
 // -----------------------------------------------------------------------------
f0633d
-#define MAP_END() { NULL, 0, 0, XML_TOKEN_INVALID, 0 , 0, SvtSaveOptions::ODFVER_010}
f0633d
-// -----------------------------------------------------------------------------
f0633d
-UniReference < XMLPropertySetMapper > OXMLHelper::GetTableStylesPropertySetMapper()
f0633d
+#define MAP_END() { NULL, 0, 0, XML_TOKEN_INVALID, 0 , 0, SvtSaveOptions::ODFVER_010, false}
f0633d
+UniReference < XMLPropertySetMapper > OXMLHelper::GetTableStylesPropertySetMapper( bool bForExport )
f0633d
 {
f0633d
     static const XMLPropertyMapEntry s_aTableStylesProperties[] =
f0633d
     {
f0633d
         MAP_END()
f0633d
     };
f0633d
     UniReference < XMLPropertyHandlerFactory> xFac = new ::xmloff::OControlPropertyHandlerFactory();
f0633d
-    return new XMLPropertySetMapper((XMLPropertyMapEntry*)s_aTableStylesProperties, xFac);
f0633d
+    return new XMLPropertySetMapper((XMLPropertyMapEntry*)s_aTableStylesProperties, xFac, bForExport);
f0633d
 }
f0633d
 // -----------------------------------------------------------------------------
f0633d
-UniReference < XMLPropertySetMapper > OXMLHelper::GetColumnStylesPropertySetMapper()
f0633d
+UniReference < XMLPropertySetMapper > OXMLHelper::GetColumnStylesPropertySetMapper( bool bForExport )
f0633d
 {
f0633d
-#define MAP_CONST_COLUMN( name, prefix, token, type, context )  { name, sizeof(name)-1,  prefix, token, type|XML_TYPE_PROP_TABLE_COLUMN, context, SvtSaveOptions::ODFVER_010 }
f0633d
+#define MAP_CONST_COLUMN( name, prefix, token, type, context )  { name, sizeof(name)-1,  prefix, token, type|XML_TYPE_PROP_TABLE_COLUMN, context, SvtSaveOptions::ODFVER_010, false }
f0633d
     static const XMLPropertyMapEntry s_aColumnStylesProperties[] =
f0633d
     {
f0633d
         MAP_CONST_COLUMN( PROPERTY_WIDTH,           XML_NAMESPACE_STYLE,    XML_COLUMN_WIDTH,       XML_TYPE_MEASURE, 0),
f0633d
@@ -94,13 +93,13 @@ UniReference < XMLPropertySetMapper > OXMLHelper::GetColumnStylesPropertySetMapp
f0633d
         MAP_END()
f0633d
     };
f0633d
     UniReference < XMLPropertyHandlerFactory> xFac = new OPropertyHandlerFactory();
f0633d
-    return new XMLPropertySetMapper((XMLPropertyMapEntry*)s_aColumnStylesProperties, xFac);
f0633d
+    return new XMLPropertySetMapper((XMLPropertyMapEntry*)s_aColumnStylesProperties, xFac, bForExport);
f0633d
 }
f0633d
 // -----------------------------------------------------------------------------
f0633d
-UniReference < XMLPropertySetMapper > OXMLHelper::GetCellStylesPropertySetMapper()
f0633d
+UniReference < XMLPropertySetMapper > OXMLHelper::GetCellStylesPropertySetMapper( bool bForExport )
f0633d
 {
f0633d
-#define MAP_CONST_CELL( name, prefix, token, type, context ) { name, sizeof(name)-1,  prefix, token, type|XML_TYPE_PROP_PARAGRAPH, context, SvtSaveOptions::ODFVER_010 }
f0633d
-#define MAP_CONST_TEXT( name, prefix, token, type, context ) { name, sizeof(name)-1,  prefix, token, type|XML_TYPE_PROP_TEXT, context, SvtSaveOptions::ODFVER_010 }
f0633d
+#define MAP_CONST_CELL( name, prefix, token, type, context ) { name, sizeof(name)-1,  prefix, token, type|XML_TYPE_PROP_PARAGRAPH, context, SvtSaveOptions::ODFVER_010, false }
f0633d
+#define MAP_CONST_TEXT( name, prefix, token, type, context ) { name, sizeof(name)-1,  prefix, token, type|XML_TYPE_PROP_TEXT, context, SvtSaveOptions::ODFVER_010, false }
f0633d
     static const XMLPropertyMapEntry s_aCellStylesProperties[] =
f0633d
     {
f0633d
         MAP_CONST_CELL( PROPERTY_ALIGN,             XML_NAMESPACE_FO,       XML_TEXT_ALIGN,             XML_TYPE_TEXT_ALIGN, CTF_DB_COLUMN_TEXT_ALIGN),
f0633d
@@ -135,19 +134,19 @@ UniReference < XMLPropertySetMapper > OXMLHelper::GetCellStylesPropertySetMapper
f0633d
         MAP_END()
f0633d
     };
f0633d
     UniReference < XMLPropertyHandlerFactory> xFac = new /*OPropertyHandlerFactory*/::xmloff::OControlPropertyHandlerFactory();
f0633d
-    return new XMLPropertySetMapper((XMLPropertyMapEntry*)s_aCellStylesProperties, xFac);
f0633d
+    return new XMLPropertySetMapper((XMLPropertyMapEntry*)s_aCellStylesProperties, xFac, bForExport);
f0633d
 }
f0633d
 // -----------------------------------------------------------------------------
f0633d
-UniReference < XMLPropertySetMapper > OXMLHelper::GetRowStylesPropertySetMapper()
f0633d
+UniReference < XMLPropertySetMapper > OXMLHelper::GetRowStylesPropertySetMapper( bool bForExport )
f0633d
 {
f0633d
-#define MAP_CONST_ROW( name, prefix, token, type, context )  { name, sizeof(name)-1, prefix, token, type|XML_TYPE_PROP_TABLE_ROW, context, SvtSaveOptions::ODFVER_010 }
f0633d
+#define MAP_CONST_ROW( name, prefix, token, type, context )  { name, sizeof(name)-1, prefix, token, type|XML_TYPE_PROP_TABLE_ROW, context, SvtSaveOptions::ODFVER_010, false }
f0633d
     static const XMLPropertyMapEntry s_aStylesProperties[] =
f0633d
     {
f0633d
         MAP_CONST_ROW( PROPERTY_ROW_HEIGHT,         XML_NAMESPACE_STYLE,    XML_ROW_HEIGHT,             XML_TYPE_MEASURE, 0),
f0633d
         MAP_END()
f0633d
     };
f0633d
     UniReference < XMLPropertyHandlerFactory> xFac = new OPropertyHandlerFactory();
f0633d
-    return new XMLPropertySetMapper((XMLPropertyMapEntry*)s_aStylesProperties, xFac);
f0633d
+    return new XMLPropertySetMapper((XMLPropertyMapEntry*)s_aStylesProperties, xFac, bForExport);
f0633d
 }
f0633d
 // -----------------------------------------------------------------------------
f0633d
 }
f0633d
diff --git a/dbaccess/source/filter/xml/xmlHelper.hxx b/dbaccess/source/filter/xml/xmlHelper.hxx
f0633d
index aa7a76e..a9ec5fd 100644
f0633d
--- a/dbaccess/source/filter/xml/xmlHelper.hxx
f0633d
+++ b/dbaccess/source/filter/xml/xmlHelper.hxx
f0633d
@@ -50,10 +50,10 @@ namespace dbaxml
f0633d
     class OXMLHelper
f0633d
     {
f0633d
     public:
f0633d
-        static UniReference < XMLPropertySetMapper > GetTableStylesPropertySetMapper();
f0633d
-        static UniReference < XMLPropertySetMapper > GetColumnStylesPropertySetMapper();
f0633d
-        static UniReference < XMLPropertySetMapper > GetCellStylesPropertySetMapper();
f0633d
-        static UniReference < XMLPropertySetMapper > GetRowStylesPropertySetMapper();
f0633d
+        static UniReference < XMLPropertySetMapper > GetTableStylesPropertySetMapper( bool bForExport );
f0633d
+        static UniReference < XMLPropertySetMapper > GetColumnStylesPropertySetMapper( bool bForExport );
f0633d
+        static UniReference < XMLPropertySetMapper > GetCellStylesPropertySetMapper( bool bForExport );
f0633d
+        static UniReference < XMLPropertySetMapper > GetRowStylesPropertySetMapper( bool bForExport );
f0633d
     };
f0633d
 // -----------------------------------------------------------------------------
f0633d
 } // dbaxml
f0633d
diff --git a/dbaccess/source/filter/xml/xmlfilter.cxx b/dbaccess/source/filter/xml/xmlfilter.cxx
f0633d
index 96ea9ed..d8186fb 100644
f0633d
--- a/dbaccess/source/filter/xml/xmlfilter.cxx
f0633d
+++ b/dbaccess/source/filter/xml/xmlfilter.cxx
f0633d
@@ -858,7 +858,7 @@ UniReference < XMLPropertySetMapper > ODBFilter::GetTableStylesPropertySetMapper
f0633d
 {
f0633d
     if ( !m_xTableStylesPropertySetMapper.is() )
f0633d
     {
f0633d
-        m_xTableStylesPropertySetMapper = OXMLHelper::GetTableStylesPropertySetMapper();
f0633d
+        m_xTableStylesPropertySetMapper = OXMLHelper::GetTableStylesPropertySetMapper( false);
f0633d
     }
f0633d
     return m_xTableStylesPropertySetMapper;
f0633d
 }
f0633d
@@ -867,7 +867,7 @@ UniReference < XMLPropertySetMapper > ODBFilter::GetColumnStylesPropertySetMappe
f0633d
 {
f0633d
     if ( !m_xColumnStylesPropertySetMapper.is() )
f0633d
     {
f0633d
-        m_xColumnStylesPropertySetMapper = OXMLHelper::GetColumnStylesPropertySetMapper();
f0633d
+        m_xColumnStylesPropertySetMapper = OXMLHelper::GetColumnStylesPropertySetMapper( false);
f0633d
     }
f0633d
     return m_xColumnStylesPropertySetMapper;
f0633d
 }
f0633d
@@ -876,7 +876,7 @@ UniReference < XMLPropertySetMapper > ODBFilter::GetCellStylesPropertySetMapper(
f0633d
 {
f0633d
     if ( !m_xCellStylesPropertySetMapper.is() )
f0633d
     {
f0633d
-        m_xCellStylesPropertySetMapper = OXMLHelper::GetCellStylesPropertySetMapper();
f0633d
+        m_xCellStylesPropertySetMapper = OXMLHelper::GetCellStylesPropertySetMapper( false);
f0633d
     }
f0633d
     return m_xCellStylesPropertySetMapper;
f0633d
 }
f0633d
diff --git a/include/xmloff/maptype.hxx b/include/xmloff/maptype.hxx
f0633d
index bfd0463..756238f 100644
f0633d
--- a/include/xmloff/maptype.hxx
f0633d
+++ b/include/xmloff/maptype.hxx
f0633d
@@ -43,6 +43,14 @@ struct XMLPropertyMapEntry
f0633d
                                                     to im/export the porperty */
f0633d
     sal_Int16       mnContextId;    /// User defined id for context filtering
f0633d
     SvtSaveOptions::ODFDefaultVersion   mnEarliestODFVersionForExport;// no export when the used ODF version is lower than this
f0633d
+
f0633d
+    /** Flag to specify whether entry is only used during import.
f0633d
+
f0633d
+        Allows to handle more than one Namespace/XML-Name to Property-Name
f0633d
+        mapping, i.e. for extensions. If several entries for the same
f0633d
+        Property-Name exist, all except one must have this flag set.
f0633d
+     */
f0633d
+    bool            mbImportOnly;
f0633d
 };
f0633d
 
f0633d
 ///////////////////////////////////////////////////////////////////////////
f0633d
diff --git a/include/xmloff/txtprmap.hxx b/include/xmloff/txtprmap.hxx
f0633d
index 92285911..fe5f80d 100644
f0633d
--- a/include/xmloff/txtprmap.hxx
f0633d
+++ b/include/xmloff/txtprmap.hxx
f0633d
@@ -193,7 +193,7 @@
f0633d
 class XMLOFF_DLLPUBLIC XMLTextPropertySetMapper : public XMLPropertySetMapper
f0633d
 {
f0633d
 public:
f0633d
-    XMLTextPropertySetMapper( sal_uInt16 nType );
f0633d
+    XMLTextPropertySetMapper( sal_uInt16 nType, bool bForExport );
f0633d
     virtual ~XMLTextPropertySetMapper();
f0633d
 
f0633d
     static const XMLPropertyMapEntry* getPropertyMapForType( sal_uInt16 _nType );
f0633d
diff --git a/include/xmloff/xmlprmap.hxx b/include/xmloff/xmlprmap.hxx
f0633d
index 2105d6f..ad04bce 100644
f0633d
--- a/include/xmloff/xmlprmap.hxx
f0633d
+++ b/include/xmloff/xmlprmap.hxx
f0633d
@@ -53,13 +53,14 @@ class XMLPropertyHandler;
f0633d
 */
f0633d
 struct XMLPropertySetMapperEntry_Impl
f0633d
 {
f0633d
-    OUString sXMLAttributeName;
f0633d
-    OUString sAPIPropertyName;
f0633d
-    sal_uInt16 nXMLNameSpace;
f0633d
-    sal_Int32  nType;
f0633d
-    sal_Int16  nContextId;
f0633d
-    SvtSaveOptions::ODFDefaultVersion   nEarliestODFVersionForExport;
f0633d
-    const XMLPropertyHandler *pHdl;
f0633d
+    OUString                           sXMLAttributeName;
f0633d
+    OUString                           sAPIPropertyName;
f0633d
+    sal_Int32                          nType;
f0633d
+    sal_uInt16                         nXMLNameSpace;
f0633d
+    sal_Int16                          nContextId;
f0633d
+    SvtSaveOptions::ODFDefaultVersion  nEarliestODFVersionForExport;
f0633d
+    bool                               bImportOnly;
f0633d
+    const XMLPropertyHandler          *pHdl;
f0633d
 
f0633d
     XMLPropertySetMapperEntry_Impl(
f0633d
         const XMLPropertyMapEntry& rMapEntry,
f0633d
@@ -75,12 +76,19 @@ class XMLOFF_DLLPUBLIC XMLPropertySetMapper : public UniRefBase
f0633d
 {
f0633d
     ::std::vector< XMLPropertySetMapperEntry_Impl > aMapEntries;
f0633d
     ::std::vector< UniReference < XMLPropertyHandlerFactory > > aHdlFactories;
f0633d
+    bool mbOnlyExportMappings;
f0633d
 
f0633d
 public:
f0633d
-    /** The last element of the XMLPropertyMapEntry-array must contain NULL-values */
f0633d
+    /** The last element of the XMLPropertyMapEntry-array must contain NULL-values.
f0633d
+
f0633d
+        @param  bForExport
f0633d
+                If TRUE, only entries that have the mbImportOnly flag not set
f0633d
+                will be in the mappings.
f0633d
+      */
f0633d
     XMLPropertySetMapper(
f0633d
             const XMLPropertyMapEntry* pEntries,
f0633d
-            const UniReference< XMLPropertyHandlerFactory >& rFactory );
f0633d
+            const UniReference< XMLPropertyHandlerFactory >& rFactory,
f0633d
+            bool bForExport );
f0633d
     virtual ~XMLPropertySetMapper();
f0633d
 
f0633d
     void AddMapperEntry( const UniReference < XMLPropertySetMapper >& rMapper );
f0633d
diff --git a/reportdesign/source/filter/xml/xmlExport.cxx b/reportdesign/source/filter/xml/xmlExport.cxx
f0633d
index 1b17eec..96efbf3 100644
f0633d
--- a/reportdesign/source/filter/xml/xmlExport.cxx
f0633d
+++ b/reportdesign/source/filter/xml/xmlExport.cxx
f0633d
@@ -270,23 +270,23 @@ ORptExport::ORptExport(const Reference< XComponentContext >& _rxContext,sal_uInt
f0633d
 
f0633d
     m_xPropHdlFactory = new OXMLRptPropHdlFactory();
f0633d
     UniReference < XMLPropertyHandlerFactory> xFac = new ::xmloff::OControlPropertyHandlerFactory();
f0633d
-    UniReference < XMLPropertySetMapper > xTableStylesPropertySetMapper1 = new XMLPropertySetMapper(OXMLHelper::GetTableStyleProps(),xFac);
f0633d
-    UniReference < XMLPropertySetMapper > xTableStylesPropertySetMapper2 = new XMLTextPropertySetMapper(TEXT_PROP_MAP_TABLE_DEFAULTS );
f0633d
+    UniReference < XMLPropertySetMapper > xTableStylesPropertySetMapper1 = new XMLPropertySetMapper(OXMLHelper::GetTableStyleProps(),xFac, true);
f0633d
+    UniReference < XMLPropertySetMapper > xTableStylesPropertySetMapper2 = new XMLTextPropertySetMapper(TEXT_PROP_MAP_TABLE_DEFAULTS, true );
f0633d
     xTableStylesPropertySetMapper1->AddMapperEntry(xTableStylesPropertySetMapper2);
f0633d
 
f0633d
     m_xTableStylesExportPropertySetMapper = new SvXMLExportPropertyMapper(xTableStylesPropertySetMapper1);
f0633d
 
f0633d
-    m_xCellStylesPropertySetMapper = OXMLHelper::GetCellStylePropertyMap();
f0633d
+    m_xCellStylesPropertySetMapper = OXMLHelper::GetCellStylePropertyMap( false, true);
f0633d
     m_xCellStylesExportPropertySetMapper = new OSpecialHanldeXMLExportPropertyMapper(m_xCellStylesPropertySetMapper);
f0633d
     m_xCellStylesExportPropertySetMapper->ChainExportMapper(XMLTextParagraphExport::CreateParaExtPropMapper(*this));
f0633d
 
f0633d
-    UniReference < XMLPropertySetMapper > xColumnStylesPropertySetMapper = new XMLPropertySetMapper(OXMLHelper::GetColumnStyleProps(), m_xPropHdlFactory);
f0633d
+    UniReference < XMLPropertySetMapper > xColumnStylesPropertySetMapper = new XMLPropertySetMapper(OXMLHelper::GetColumnStyleProps(), m_xPropHdlFactory, true);
f0633d
     m_xColumnStylesExportPropertySetMapper = new OSpecialHanldeXMLExportPropertyMapper(xColumnStylesPropertySetMapper);
f0633d
 
f0633d
-    UniReference < XMLPropertySetMapper > xRowStylesPropertySetMapper = new XMLPropertySetMapper(OXMLHelper::GetRowStyleProps(), m_xPropHdlFactory);
f0633d
+    UniReference < XMLPropertySetMapper > xRowStylesPropertySetMapper = new XMLPropertySetMapper(OXMLHelper::GetRowStyleProps(), m_xPropHdlFactory, true);
f0633d
     m_xRowStylesExportPropertySetMapper = new OSpecialHanldeXMLExportPropertyMapper(xRowStylesPropertySetMapper);
f0633d
 
f0633d
-    UniReference < XMLPropertySetMapper > xPropMapper(new XMLTextPropertySetMapper( TEXT_PROP_MAP_PARA ));
f0633d
+    UniReference < XMLPropertySetMapper > xPropMapper(new XMLTextPropertySetMapper( TEXT_PROP_MAP_PARA, true ));
f0633d
     m_xParaPropMapper = new OSpecialHanldeXMLExportPropertyMapper( xPropMapper);
f0633d
 
f0633d
     OUString sFamily( GetXMLToken(XML_PARAGRAPH) );
f0633d
diff --git a/reportdesign/source/filter/xml/xmlHelper.cxx b/reportdesign/source/filter/xml/xmlHelper.cxx
f0633d
index 8537f94..1b1ada3 100644
f0633d
--- a/reportdesign/source/filter/xml/xmlHelper.cxx
f0633d
+++ b/reportdesign/source/filter/xml/xmlHelper.cxx
f0633d
@@ -104,13 +104,13 @@ const XMLPropertyHandler* OPropertyHandlerFactory::GetPropertyHandler(sal_Int32
f0633d
     return pHandler;
f0633d
 }
f0633d
 // -----------------------------------------------------------------------------
f0633d
-#define MAP_CONST_T_ASCII( name, prefix, token, type, context ) { name, sizeof(name)-1, XML_NAMESPACE_##prefix, XML_##token, type|XML_TYPE_PROP_TABLE,      context, SvtSaveOptions::ODFVER_010 }
f0633d
-#define MAP_CONST_P_ASCII( name, prefix, token, type, context ) { name, sizeof(name)-1, XML_NAMESPACE_##prefix, XML_##token, type|XML_TYPE_PROP_PARAGRAPH,  context, SvtSaveOptions::ODFVER_010 }
f0633d
-#define MAP_CONST_S( name, prefix, token, type, context )  { name, sizeof(name)-1,      XML_NAMESPACE_##prefix, XML_##token, type|XML_TYPE_PROP_SECTION,    context, SvtSaveOptions::ODFVER_010 }
f0633d
-#define MAP_CONST_C_ASCII( name, prefix, token, type, context ) { name, sizeof(name)-1, XML_NAMESPACE_##prefix, XML_##token, type|XML_TYPE_PROP_TABLE_CELL, context, SvtSaveOptions::ODFVER_010 }
f0633d
-#define MAP_END() { NULL, 0, 0, XML_TOKEN_INVALID, 0 ,0, SvtSaveOptions::ODFVER_010}
f0633d
+#define MAP_CONST_T_ASCII( name, prefix, token, type, context ) { name, sizeof(name)-1, XML_NAMESPACE_##prefix, XML_##token, type|XML_TYPE_PROP_TABLE,      context, SvtSaveOptions::ODFVER_010, false }
f0633d
+#define MAP_CONST_P_ASCII( name, prefix, token, type, context ) { name, sizeof(name)-1, XML_NAMESPACE_##prefix, XML_##token, type|XML_TYPE_PROP_PARAGRAPH,  context, SvtSaveOptions::ODFVER_010, false }
f0633d
+#define MAP_CONST_S( name, prefix, token, type, context )  { name, sizeof(name)-1,      XML_NAMESPACE_##prefix, XML_##token, type|XML_TYPE_PROP_SECTION,    context, SvtSaveOptions::ODFVER_010, false }
f0633d
+#define MAP_CONST_C_ASCII( name, prefix, token, type, context ) { name, sizeof(name)-1, XML_NAMESPACE_##prefix, XML_##token, type|XML_TYPE_PROP_TABLE_CELL, context, SvtSaveOptions::ODFVER_010, false }
f0633d
+#define MAP_END() { NULL, 0, 0, XML_TOKEN_INVALID, 0 ,0, SvtSaveOptions::ODFVER_010, false}
f0633d
 // -----------------------------------------------------------------------------
f0633d
-UniReference < XMLPropertySetMapper > OXMLHelper::GetCellStylePropertyMap(bool _bOldFormat)
f0633d
+UniReference < XMLPropertySetMapper > OXMLHelper::GetCellStylePropertyMap(bool _bOldFormat, bool bForExport)
f0633d
 {
f0633d
     if ( _bOldFormat )
f0633d
     {
f0633d
@@ -133,7 +133,7 @@ UniReference < XMLPropertySetMapper > OXMLHelper::GetCellStylePropertyMap(bool _
f0633d
             MAP_CONST_C_ASCII(      "BorderBottom",     FO,     BORDER_BOTTOM,         XML_TYPE_BORDER, 0 ),
f0633d
             MAP_END()
f0633d
         };
f0633d
-        return new XMLPropertySetMapper((XMLPropertyMapEntry*)s_aXMLCellStylesProperties,new OPropertyHandlerFactory());
f0633d
+        return new XMLPropertySetMapper((XMLPropertyMapEntry*)s_aXMLCellStylesProperties,new OPropertyHandlerFactory(), bForExport);
f0633d
     }
f0633d
     else
f0633d
     {
f0633d
@@ -153,7 +153,7 @@ UniReference < XMLPropertySetMapper > OXMLHelper::GetCellStylePropertyMap(bool _
f0633d
             MAP_CONST_C_ASCII(      "BorderBottom",     FO,     BORDER_BOTTOM,         XML_TYPE_BORDER, 0 ),
f0633d
             MAP_END()
f0633d
         };
f0633d
-        return new XMLPropertySetMapper((XMLPropertyMapEntry*)s_aXMLCellStylesProperties,new OPropertyHandlerFactory());
f0633d
+        return new XMLPropertySetMapper((XMLPropertyMapEntry*)s_aXMLCellStylesProperties,new OPropertyHandlerFactory(), bForExport);
f0633d
     }
f0633d
 }
f0633d
 // -----------------------------------------------------------------------------
f0633d
diff --git a/reportdesign/source/filter/xml/xmlHelper.hxx b/reportdesign/source/filter/xml/xmlHelper.hxx
f0633d
index 6cc32dc..d3fbac9 100644
f0633d
--- a/reportdesign/source/filter/xml/xmlHelper.hxx
f0633d
+++ b/reportdesign/source/filter/xml/xmlHelper.hxx
f0633d
@@ -56,7 +56,7 @@ namespace rptxml
f0633d
     class OXMLHelper
f0633d
     {
f0633d
     public:
f0633d
-        static UniReference < XMLPropertySetMapper > GetCellStylePropertyMap(bool _bOldFormat = false);
f0633d
+        static UniReference < XMLPropertySetMapper > GetCellStylePropertyMap(bool _bOldFormat, bool bForExport);
f0633d
 
f0633d
         static const SvXMLEnumMapEntry* GetReportPrintOptions();
f0633d
         static const SvXMLEnumMapEntry* GetForceNewPageOptions();
f0633d
diff --git a/reportdesign/source/filter/xml/xmlStyleImport.cxx b/reportdesign/source/filter/xml/xmlStyleImport.cxx
f0633d
index a79a9c2..eb19a01 100644
f0633d
--- a/reportdesign/source/filter/xml/xmlStyleImport.cxx
f0633d
+++ b/reportdesign/source/filter/xml/xmlStyleImport.cxx
f0633d
@@ -241,7 +241,7 @@ UniReference < SvXMLImportPropertyMapper >
f0633d
                 if( !m_xTableImpPropMapper.is() )
f0633d
                 {
f0633d
                     UniReference < XMLPropertyHandlerFactory> xFac = new ::xmloff::OControlPropertyHandlerFactory();
f0633d
-                    m_xTableImpPropMapper = new SvXMLImportPropertyMapper( new XMLPropertySetMapper(OXMLHelper::GetTableStyleProps(), xFac), m_rImport );
f0633d
+                    m_xTableImpPropMapper = new SvXMLImportPropertyMapper( new XMLPropertySetMapper(OXMLHelper::GetTableStyleProps(), xFac, false), m_rImport );
f0633d
                 }
f0633d
                 xMapper = m_xTableImpPropMapper;
f0633d
             }
f0633d
diff --git a/reportdesign/source/filter/xml/xmlfilter.cxx b/reportdesign/source/filter/xml/xmlfilter.cxx
f0633d
index fa83c16..23115e8 100644
f0633d
--- a/reportdesign/source/filter/xml/xmlfilter.cxx
f0633d
+++ b/reportdesign/source/filter/xml/xmlfilter.cxx
f0633d
@@ -387,10 +387,10 @@ ORptFilter::ORptFilter( const uno::Reference< XComponentContext >& _rxContext,sa
f0633d
                         XML_NAMESPACE_REPORT );
f0633d
 
f0633d
     m_xPropHdlFactory = new OXMLRptPropHdlFactory;
f0633d
-    m_xCellStylesPropertySetMapper = OXMLHelper::GetCellStylePropertyMap(true);
f0633d
-    m_xColumnStylesPropertySetMapper = new XMLPropertySetMapper(OXMLHelper::GetColumnStyleProps(), m_xPropHdlFactory);
f0633d
-    m_xRowStylesPropertySetMapper = new XMLPropertySetMapper(OXMLHelper::GetRowStyleProps(), m_xPropHdlFactory);
f0633d
-    m_xTableStylesPropertySetMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_TABLE_DEFAULTS );
f0633d
+    m_xCellStylesPropertySetMapper = OXMLHelper::GetCellStylePropertyMap(true, false);
f0633d
+    m_xColumnStylesPropertySetMapper = new XMLPropertySetMapper(OXMLHelper::GetColumnStyleProps(), m_xPropHdlFactory, false);
f0633d
+    m_xRowStylesPropertySetMapper = new XMLPropertySetMapper(OXMLHelper::GetRowStyleProps(), m_xPropHdlFactory, false);
f0633d
+    m_xTableStylesPropertySetMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_TABLE_DEFAULTS, false );
f0633d
 }
f0633d
 
f0633d
 // -----------------------------------------------------------------------------
f0633d
diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx
f0633d
index 73b3aec..0fbc692 100644
f0633d
--- a/sc/source/filter/xml/xmlexprt.cxx
f0633d
+++ b/sc/source/filter/xml/xmlexprt.cxx
f0633d
@@ -476,10 +476,10 @@ ScXMLExport::ScXMLExport(
f0633d
     // document is not set here - create ScChangeTrackingExportHelper later
f0633d
 
f0633d
     xScPropHdlFactory = new XMLScPropHdlFactory;
f0633d
-    xCellStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScCellStylesProperties, xScPropHdlFactory);
f0633d
-    xColumnStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScColumnStylesProperties, xScPropHdlFactory);
f0633d
-    xRowStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScRowStylesProperties, xScPropHdlFactory);
f0633d
-    xTableStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScTableStylesProperties, xScPropHdlFactory);
f0633d
+    xCellStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScCellStylesProperties, xScPropHdlFactory, true);
f0633d
+    xColumnStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScColumnStylesProperties, xScPropHdlFactory, true);
f0633d
+    xRowStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScRowStylesProperties, xScPropHdlFactory, true);
f0633d
+    xTableStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScTableStylesProperties, xScPropHdlFactory, true);
f0633d
     xCellStylesExportPropertySetMapper = new ScXMLCellExportPropertyMapper(xCellStylesPropertySetMapper);
f0633d
     xCellStylesExportPropertySetMapper->ChainExportMapper(XMLTextParagraphExport::CreateParaExtPropMapper(*this));
f0633d
     xColumnStylesExportPropertySetMapper = new ScXMLColumnExportPropertyMapper(xColumnStylesPropertySetMapper);
f0633d
@@ -4638,7 +4638,7 @@ sal_uInt32 ScXMLExport::exportDoc( enum XMLTokenEnum eClass )
f0633d
                 SfxObjectShell* pFoundShell = reinterpret_cast<SfxObjectShell*>( xObjShellTunnel.is() ? xObjShellTunnel->getSomething(SfxObjectShell::getUnoTunnelId()) : 0 );
f0633d
                 if ( pFoundShell && ooo::vba::isAlienExcelDoc( *pFoundShell ) )
f0633d
                 {
f0633d
-                    xRowStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScFromXLSRowStylesProperties, xScPropHdlFactory);
f0633d
+                    xRowStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScFromXLSRowStylesProperties, xScPropHdlFactory, true);
f0633d
                     xRowStylesExportPropertySetMapper = new ScXMLRowExportPropertyMapper(xRowStylesPropertySetMapper);
f0633d
                     GetAutoStylePool()->SetFamilyPropSetMapper( XML_STYLE_FAMILY_TABLE_ROW,
f0633d
                         xRowStylesExportPropertySetMapper );
f0633d
diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx
f0633d
index fd40dc7..28c3ace 100644
f0633d
--- a/sc/source/filter/xml/xmlimprt.cxx
f0633d
+++ b/sc/source/filter/xml/xmlimprt.cxx
f0633d
@@ -2078,10 +2078,10 @@ ScXMLImport::ScXMLImport(
f0633d
     pStylesImportHelper = new ScMyStylesImportHelper(*this);
f0633d
 
f0633d
     xScPropHdlFactory = new XMLScPropHdlFactory;
f0633d
-    xCellStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScCellStylesProperties, xScPropHdlFactory);
f0633d
-    xColumnStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScColumnStylesProperties, xScPropHdlFactory);
f0633d
-    xRowStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScRowStylesImportProperties, xScPropHdlFactory);
f0633d
-    xTableStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScTableStylesImportProperties, xScPropHdlFactory);
f0633d
+    xCellStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScCellStylesProperties, xScPropHdlFactory, false);
f0633d
+    xColumnStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScColumnStylesProperties, xScPropHdlFactory, false);
f0633d
+    xRowStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScRowStylesImportProperties, xScPropHdlFactory, false);
f0633d
+    xTableStylesPropertySetMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLScTableStylesImportProperties, xScPropHdlFactory, false);
f0633d
 
f0633d
     // #i66550# needed for 'presentation:event-listener' element for URLs in shapes
f0633d
     GetNamespaceMap().Add(
f0633d
diff --git a/sc/source/filter/xml/xmlstyle.cxx b/sc/source/filter/xml/xmlstyle.cxx
f0633d
index 3a5fe2b..88fdef7 100644
f0633d
--- a/sc/source/filter/xml/xmlstyle.cxx
f0633d
+++ b/sc/source/filter/xml/xmlstyle.cxx
f0633d
@@ -54,9 +54,9 @@ using namespace com::sun::star;
f0633d
 using namespace ::xmloff::token;
f0633d
 using namespace ::formula;
f0633d
 
f0633d
-#define MAP(name,prefix,token,type,context)  { name, sizeof(name)-1, prefix, token, type, context, SvtSaveOptions::ODFVER_010 }
f0633d
-#define MAP_EXT(name,prefix,token,type,context)  { name, sizeof(name)-1, prefix, token, type, context, SvtSaveOptions::ODFVER_012_EXT_COMPAT }
f0633d
-#define MAP_END()   { NULL, 0, 0, XML_TOKEN_INVALID, 0, 0, SvtSaveOptions::ODFVER_010 }
f0633d
+#define MAP(name,prefix,token,type,context)  { name, sizeof(name)-1, prefix, token, type, context, SvtSaveOptions::ODFVER_010, false }
f0633d
+#define MAP_EXT(name,prefix,token,type,context)  { name, sizeof(name)-1, prefix, token, type, context, SvtSaveOptions::ODFVER_012_EXT_COMPAT, false }
f0633d
+#define MAP_END()   { NULL, 0, 0, XML_TOKEN_INVALID, 0, 0, SvtSaveOptions::ODFVER_010, false }
f0633d
 
f0633d
 const XMLPropertyMapEntry aXMLScCellStylesProperties[] =
f0633d
 {
f0633d
diff --git a/xmloff/inc/XMLChartPropertySetMapper.hxx b/xmloff/inc/XMLChartPropertySetMapper.hxx
f0633d
index e2463e2..051910e 100644
f0633d
--- a/xmloff/inc/XMLChartPropertySetMapper.hxx
f0633d
+++ b/xmloff/inc/XMLChartPropertySetMapper.hxx
f0633d
@@ -47,8 +47,8 @@ public:
f0633d
 class XMLChartPropertySetMapper : public XMLPropertySetMapper
f0633d
 {
f0633d
 public:
f0633d
-    XMLChartPropertySetMapper();
f0633d
-    ~XMLChartPropertySetMapper();
f0633d
+    explicit XMLChartPropertySetMapper( bool bForExport );
f0633d
+            ~XMLChartPropertySetMapper();
f0633d
 };
f0633d
 
f0633d
 // ----------------------------------------
f0633d
diff --git a/xmloff/qa/unit/uxmloff.cxx b/xmloff/qa/unit/uxmloff.cxx
f0633d
index a0bd430..4380a9e 100644
f0633d
--- a/xmloff/qa/unit/uxmloff.cxx
f0633d
+++ b/xmloff/qa/unit/uxmloff.cxx
f0633d
@@ -62,7 +62,7 @@ void Test::testAutoStylePool()
f0633d
     UniReference< SvXMLAutoStylePoolP > xPool(
f0633d
         new SvXMLAutoStylePoolP( *pExport ) );
f0633d
     UniReference< XMLPropertySetMapper > xSetMapper(
f0633d
-        new XMLChartPropertySetMapper );
f0633d
+        new XMLChartPropertySetMapper( true) );
f0633d
     UniReference< XMLChartExportPropertyMapper > xExportPropMapper(
f0633d
         new XMLChartExportPropertyMapper( xSetMapper, *pExport ) );
f0633d
 
f0633d
diff --git a/xmloff/source/chart/PropertyMap.hxx b/xmloff/source/chart/PropertyMap.hxx
f0633d
index f19b365..809c043 100644
f0633d
--- a/xmloff/source/chart/PropertyMap.hxx
f0633d
+++ b/xmloff/source/chart/PropertyMap.hxx
f0633d
@@ -84,14 +84,14 @@
f0633d
 
f0633d
 #define XML_SCH_CONTEXT_SPECIAL_ERRORBAR_RANGE      ( XML_SCH_CTF_START + 25 )
f0633d
 
f0633d
-#define MAP_FULL( ApiName, NameSpace, XMLTokenName, XMLType, ContextId, EarliestODFVersionForExport ) { ApiName, sizeof(ApiName)-1, XML_NAMESPACE_##NameSpace, xmloff::token::XMLTokenName, XMLType|XML_TYPE_PROP_CHART, ContextId, EarliestODFVersionForExport }
f0633d
-#define MAP_ENTRY( a, ns, nm, t )            { a, sizeof(a)-1, XML_NAMESPACE_##ns, xmloff::token::nm, t|XML_TYPE_PROP_CHART, 0, SvtSaveOptions::ODFVER_010 }
f0633d
-#define MAP_ENTRY_ODF12( a, ns, nm, t )      { a, sizeof(a)-1, XML_NAMESPACE_##ns, xmloff::token::nm, t|XML_TYPE_PROP_CHART, 0, SvtSaveOptions::ODFVER_012 }
f0633d
-#define MAP_ENTRY_ODF_EXT( a, ns, nm, t )    { a, sizeof(a)-1, XML_NAMESPACE_##ns, xmloff::token::nm, t|XML_TYPE_PROP_CHART, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT }
f0633d
-#define MAP_CONTEXT( a, ns, nm, t, c )       { a, sizeof(a)-1, XML_NAMESPACE_##ns, xmloff::token::nm, t|XML_TYPE_PROP_CHART, c, SvtSaveOptions::ODFVER_010 }
f0633d
-#define MAP_SPECIAL( a, ns, nm, t, c )       { a, sizeof(a)-1, XML_NAMESPACE_##ns, xmloff::token::nm, t|XML_TYPE_PROP_CHART | MID_FLAG_SPECIAL_ITEM, c, SvtSaveOptions::ODFVER_010 }
f0633d
-#define MAP_SPECIAL_ODF12( a, ns, nm, t, c ) { a, sizeof(a)-1, XML_NAMESPACE_##ns, xmloff::token::nm, t|XML_TYPE_PROP_CHART | MID_FLAG_SPECIAL_ITEM, c, SvtSaveOptions::ODFVER_012 }
f0633d
-#define MAP_ENTRY_END { 0,0,0,xmloff::token::XML_TOKEN_INVALID,0,0,SvtSaveOptions::ODFVER_010 }
f0633d
+#define MAP_FULL( ApiName, NameSpace, XMLTokenName, XMLType, ContextId, EarliestODFVersionForExport ) { ApiName, sizeof(ApiName)-1, XML_NAMESPACE_##NameSpace, xmloff::token::XMLTokenName, XMLType|XML_TYPE_PROP_CHART, ContextId, EarliestODFVersionForExport, false }
f0633d
+#define MAP_ENTRY( a, ns, nm, t )            { a, sizeof(a)-1, XML_NAMESPACE_##ns, xmloff::token::nm, t|XML_TYPE_PROP_CHART, 0, SvtSaveOptions::ODFVER_010, false }
f0633d
+#define MAP_ENTRY_ODF12( a, ns, nm, t )      { a, sizeof(a)-1, XML_NAMESPACE_##ns, xmloff::token::nm, t|XML_TYPE_PROP_CHART, 0, SvtSaveOptions::ODFVER_012, false }
f0633d
+#define MAP_ENTRY_ODF_EXT( a, ns, nm, t )    { a, sizeof(a)-1, XML_NAMESPACE_##ns, xmloff::token::nm, t|XML_TYPE_PROP_CHART, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT, false }
f0633d
+#define MAP_CONTEXT( a, ns, nm, t, c )       { a, sizeof(a)-1, XML_NAMESPACE_##ns, xmloff::token::nm, t|XML_TYPE_PROP_CHART, c, SvtSaveOptions::ODFVER_010, false }
f0633d
+#define MAP_SPECIAL( a, ns, nm, t, c )       { a, sizeof(a)-1, XML_NAMESPACE_##ns, xmloff::token::nm, t|XML_TYPE_PROP_CHART | MID_FLAG_SPECIAL_ITEM, c, SvtSaveOptions::ODFVER_010, false }
f0633d
+#define MAP_SPECIAL_ODF12( a, ns, nm, t, c ) { a, sizeof(a)-1, XML_NAMESPACE_##ns, xmloff::token::nm, t|XML_TYPE_PROP_CHART | MID_FLAG_SPECIAL_ITEM, c, SvtSaveOptions::ODFVER_012, false }
f0633d
+#define MAP_ENTRY_END { 0,0,0,xmloff::token::XML_TOKEN_INVALID,0,0,SvtSaveOptions::ODFVER_010, false }
f0633d
 
f0633d
 // ---------------------------------------------------------
f0633d
 // PropertyMap for Chart properties drawing- and
f0633d
diff --git a/xmloff/source/chart/PropertyMaps.cxx b/xmloff/source/chart/PropertyMaps.cxx
f0633d
index da81152..dd7b59a 100644
f0633d
--- a/xmloff/source/chart/PropertyMaps.cxx
f0633d
+++ b/xmloff/source/chart/PropertyMaps.cxx
f0633d
@@ -171,8 +171,8 @@ const XMLPropertyHandler* XMLChartPropHdlFactory::GetPropertyHandler( sal_Int32
f0633d
 
f0633d
 // ----------------------------------------
f0633d
 
f0633d
-XMLChartPropertySetMapper::XMLChartPropertySetMapper() :
f0633d
-        XMLPropertySetMapper( aXMLChartPropMap, new XMLChartPropHdlFactory )
f0633d
+XMLChartPropertySetMapper::XMLChartPropertySetMapper( bool bForExport ) :
f0633d
+        XMLPropertySetMapper( aXMLChartPropMap, new XMLChartPropHdlFactory, bForExport )
f0633d
 {
f0633d
 }
f0633d
 
f0633d
diff --git a/xmloff/source/chart/SchXMLExport.cxx b/xmloff/source/chart/SchXMLExport.cxx
f0633d
index 89a8dae..8cd6416 100644
f0633d
--- a/xmloff/source/chart/SchXMLExport.cxx
f0633d
+++ b/xmloff/source/chart/SchXMLExport.cxx
f0633d
@@ -1064,7 +1064,7 @@ SchXMLExportHelper_Impl::SchXMLExportHelper_Impl(
f0633d
     msTableName = OUString( "local-table" );
f0633d
 
f0633d
     // create property set mapper
f0633d
-    mxPropertySetMapper = new XMLChartPropertySetMapper;
f0633d
+    mxPropertySetMapper = new XMLChartPropertySetMapper( true);
f0633d
     mxExpPropMapper = new XMLChartExportPropertyMapper( mxPropertySetMapper, rExport );
f0633d
 
f0633d
     // register chart auto-style family
f0633d
diff --git a/xmloff/source/draw/sdpropls.cxx b/xmloff/source/draw/sdpropls.cxx
f0633d
index 8e243fa..5486a18 100644
f0633d
--- a/xmloff/source/draw/sdpropls.cxx
f0633d
+++ b/xmloff/source/draw/sdpropls.cxx
f0633d
@@ -72,14 +72,14 @@ using ::com::sun::star::uno::Reference;
f0633d
 using namespace ::com::sun::star;
f0633d
 using namespace ::xmloff::token;
f0633d
 
f0633d
-#define _MAP(name,prefix,token,type,context)  { name, sizeof(name)-1, prefix, token, type, context, SvtSaveOptions::ODFVER_010 }
f0633d
-#define _MAPV(name,prefix,token,type,context,version)  { name, sizeof(name)-1, prefix, token, type, context, version }
f0633d
+#define _MAP(name,prefix,token,type,context)  { name, sizeof(name)-1, prefix, token, type, context, SvtSaveOptions::ODFVER_010, false }
f0633d
+#define _MAPV(name,prefix,token,type,context,version)  { name, sizeof(name)-1, prefix, token, type, context, version, false }
f0633d
 #define GMAP(name,prefix,token,type,context) _MAP(name,prefix,token,type|XML_TYPE_PROP_GRAPHIC,context)
f0633d
 #define GMAPV(name,prefix,token,type,context,version) _MAPV(name,prefix,token,type|XML_TYPE_PROP_GRAPHIC,context,version)
f0633d
 #define DPMAP(name,prefix,token,type,context) _MAP(name,prefix,token,type|XML_TYPE_PROP_DRAWING_PAGE,context)
f0633d
 #define TMAP(name,prefix,token,type,context) _MAP(name,prefix,token,type|XML_TYPE_PROP_TEXT,context)
f0633d
 #define PMAP(name,prefix,token,type,context) _MAP(name,prefix,token,type|XML_TYPE_PROP_PARAGRAPH,context)
f0633d
-#define MAP_END() { 0L, 0, 0, XML_EMPTY, 0 ,0, SvtSaveOptions::ODFVER_010}
f0633d
+#define MAP_END() { 0L, 0, 0, XML_EMPTY, 0 ,0, SvtSaveOptions::ODFVER_010, false }
f0633d
 
f0633d
 //////////////////////////////////////////////////////////////////////////////
f0633d
 // entry list for graphic properties
f0633d
@@ -1180,8 +1180,9 @@ const XMLPropertyHandler* XMLSdPropHdlFactory::GetPropertyHandler( sal_Int32 nTy
f0633d
 
f0633d
 //////////////////////////////////////////////////////////////////////////////
f0633d
 
f0633d
-XMLShapePropertySetMapper::XMLShapePropertySetMapper(const UniReference< XMLPropertyHandlerFactory >& rFactoryRef)
f0633d
-: XMLPropertySetMapper( aXMLSDProperties, rFactoryRef )
f0633d
+XMLShapePropertySetMapper::XMLShapePropertySetMapper(const UniReference< XMLPropertyHandlerFactory >& rFactoryRef,
f0633d
+        bool bForExport)
f0633d
+: XMLPropertySetMapper( aXMLSDProperties, rFactoryRef, bForExport )
f0633d
 {
f0633d
 }
f0633d
 
f0633d
diff --git a/xmloff/source/draw/sdpropls.hxx b/xmloff/source/draw/sdpropls.hxx
f0633d
index 70ac1b7..e10199c 100644
f0633d
--- a/xmloff/source/draw/sdpropls.hxx
f0633d
+++ b/xmloff/source/draw/sdpropls.hxx
f0633d
@@ -244,7 +244,7 @@ public:
f0633d
 class XMLShapePropertySetMapper : public XMLPropertySetMapper
f0633d
 {
f0633d
 public:
f0633d
-    XMLShapePropertySetMapper(const UniReference< XMLPropertyHandlerFactory >& rFactoryRef);
f0633d
+    XMLShapePropertySetMapper(const UniReference< XMLPropertyHandlerFactory >& rFactoryRef, bool bForExport);
f0633d
     ~XMLShapePropertySetMapper();
f0633d
 };
f0633d
 
f0633d
diff --git a/xmloff/source/draw/sdxmlexp.cxx b/xmloff/source/draw/sdxmlexp.cxx
f0633d
index c9149b9..5bbdce5 100644
f0633d
--- a/xmloff/source/draw/sdxmlexp.cxx
f0633d
+++ b/xmloff/source/draw/sdxmlexp.cxx
f0633d
@@ -444,7 +444,7 @@ void SAL_CALL SdXMLExport::setSourceDocument( const Reference< lang::XComponent
f0633d
         const UniReference< XMLPropertyHandlerFactory > aFactoryRef = mpSdPropHdlFactory;
f0633d
 
f0633d
         // construct PropertySetMapper
f0633d
-        UniReference < XMLPropertySetMapper > xMapper = new XMLShapePropertySetMapper( aFactoryRef);
f0633d
+        UniReference < XMLPropertySetMapper > xMapper = new XMLShapePropertySetMapper( aFactoryRef, true);
f0633d
 
f0633d
         // get or create text paragraph export
f0633d
         GetTextParagraphExport();
f0633d
@@ -456,7 +456,7 @@ void SAL_CALL SdXMLExport::setSourceDocument( const Reference< lang::XComponent
f0633d
         mpPropertySetMapper->ChainExportMapper(XMLTextParagraphExport::CreateParaExtPropMapper(*this));
f0633d
 
f0633d
         // construct PresPagePropsMapper
f0633d
-        xMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLSDPresPageProps, aFactoryRef);
f0633d
+        xMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLSDPresPageProps, aFactoryRef, true);
f0633d
 
f0633d
         mpPresPagePropsMapper = new XMLPageExportPropertyMapper( xMapper, *this  );
f0633d
         if(mpPresPagePropsMapper)
f0633d
diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx
f0633d
index 14ec5c8..30c0230 100644
f0633d
--- a/xmloff/source/draw/shapeexport.cxx
f0633d
+++ b/xmloff/source/draw/shapeexport.cxx
f0633d
@@ -1014,7 +1014,7 @@ SvXMLExportPropertyMapper* XMLShapeExport::CreateShapePropMapper(
f0633d
     SvXMLExport& rExport )
f0633d
 {
f0633d
     UniReference< XMLPropertyHandlerFactory > xFactory = new XMLSdPropHdlFactory( rExport.GetModel(), rExport );
f0633d
-    UniReference < XMLPropertySetMapper > xMapper = new XMLShapePropertySetMapper( xFactory );
f0633d
+    UniReference < XMLPropertySetMapper > xMapper = new XMLShapePropertySetMapper( xFactory, true );
f0633d
     rExport.GetTextParagraphExport(); // get or create text paragraph export
f0633d
     SvXMLExportPropertyMapper* pResult =
f0633d
         new XMLShapeExportPropertyMapper( xMapper, rExport );
f0633d
@@ -1259,7 +1259,7 @@ const rtl::Reference< XMLTableExport >& XMLShapeExport::GetShapeTableExport()
f0633d
     if( !mxShapeTableExport.is() )
f0633d
     {
f0633d
         rtl::Reference< XMLPropertyHandlerFactory > xFactory( new XMLSdPropHdlFactory( mrExport.GetModel(), mrExport ) );
f0633d
-        UniReference < XMLPropertySetMapper > xMapper( new XMLShapePropertySetMapper( xFactory.get() ) );
f0633d
+        UniReference < XMLPropertySetMapper > xMapper( new XMLShapePropertySetMapper( xFactory.get(), true ) );
f0633d
         mrExport.GetTextParagraphExport(); // get or create text paragraph export
f0633d
         rtl::Reference< SvXMLExportPropertyMapper > xPropertySetMapper( new XMLShapeExportPropertyMapper( xMapper, mrExport ) );
f0633d
         mxShapeTableExport = new XMLTableExport( mrExport, xPropertySetMapper, xFactory );
f0633d
diff --git a/xmloff/source/draw/shapeimport.cxx b/xmloff/source/draw/shapeimport.cxx
f0633d
index fb41110..7a4619ae 100644
f0633d
--- a/xmloff/source/draw/shapeimport.cxx
f0633d
+++ b/xmloff/source/draw/shapeimport.cxx
f0633d
@@ -154,7 +154,7 @@ XMLShapeImportHelper::XMLShapeImportHelper(
f0633d
     mpSdPropHdlFactory->acquire();
f0633d
 
f0633d
     // construct PropertySetMapper
f0633d
-    UniReference < XMLPropertySetMapper > xMapper = new XMLShapePropertySetMapper(mpSdPropHdlFactory);
f0633d
+    UniReference < XMLPropertySetMapper > xMapper = new XMLShapePropertySetMapper(mpSdPropHdlFactory, false);
f0633d
     mpPropertySetMapper = new SvXMLImportPropertyMapper( xMapper, rImporter );
f0633d
     // set lock to avoid deletion
f0633d
     mpPropertySetMapper->acquire();
f0633d
@@ -170,7 +170,7 @@ XMLShapeImportHelper::XMLShapeImportHelper(
f0633d
     mpPropertySetMapper->ChainImportMapper(XMLTextImportHelper::CreateParaDefaultExtPropMapper(rImporter));
f0633d
 
f0633d
     // construct PresPagePropsMapper
f0633d
-    xMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLSDPresPageProps, mpSdPropHdlFactory);
f0633d
+    xMapper = new XMLPropertySetMapper((XMLPropertyMapEntry*)aXMLSDPresPageProps, mpSdPropHdlFactory, false);
f0633d
     mpPresPagePropsMapper = new SvXMLImportPropertyMapper( xMapper, rImporter );
f0633d
     if(mpPresPagePropsMapper)
f0633d
     {
f0633d
@@ -1055,7 +1055,7 @@ void XMLShapeImportHelper::restoreConnections()
f0633d
 SvXMLImportPropertyMapper* XMLShapeImportHelper::CreateShapePropMapper( const uno::Reference< frame::XModel>& rModel, SvXMLImport& rImport )
f0633d
 {
f0633d
     UniReference< XMLPropertyHandlerFactory > xFactory = new XMLSdPropHdlFactory( rModel, rImport );
f0633d
-    UniReference < XMLPropertySetMapper > xMapper = new XMLShapePropertySetMapper( xFactory );
f0633d
+    UniReference < XMLPropertySetMapper > xMapper = new XMLShapePropertySetMapper( xFactory, false );
f0633d
     SvXMLImportPropertyMapper* pResult = new SvXMLImportPropertyMapper( xMapper, rImport );
f0633d
 
f0633d
     // chain text attributes
f0633d
@@ -1160,7 +1160,7 @@ const rtl::Reference< XMLTableImport >& XMLShapeImportHelper::GetShapeTableImpor
f0633d
     if( !mxShapeTableImport.is() )
f0633d
     {
f0633d
         rtl::Reference< XMLPropertyHandlerFactory > xFactory( new XMLSdPropHdlFactory( mrImporter.GetModel(), mrImporter ) );
f0633d
-        rtl::Reference< XMLPropertySetMapper > xPropertySetMapper( new XMLShapePropertySetMapper( xFactory.get() ) );
f0633d
+        rtl::Reference< XMLPropertySetMapper > xPropertySetMapper( new XMLShapePropertySetMapper( xFactory.get(), false ) );
f0633d
         mxShapeTableImport = new XMLTableImport( mrImporter, xPropertySetMapper, xFactory );
f0633d
     }
f0633d
 
f0633d
diff --git a/xmloff/source/forms/controlpropertymap.cxx b/xmloff/source/forms/controlpropertymap.cxx
f0633d
index 2f0dc04..59e5986 100644
f0633d
--- a/xmloff/source/forms/controlpropertymap.cxx
f0633d
+++ b/xmloff/source/forms/controlpropertymap.cxx
f0633d
@@ -35,10 +35,10 @@ namespace xmloff
f0633d
 {
f0633d
 //.........................................................................
f0633d
 
f0633d
-#define MAP_ASCII( name, prefix, token, type, context )  { name, sizeof(name)-1, prefix, token, type|XML_TYPE_PROP_TEXT, context, SvtSaveOptions::ODFVER_010 }
f0633d
-#define MAP_CONST( name, prefix, token, type, context )  { name, sizeof(name)-1, prefix, token, type|XML_TYPE_PROP_TEXT, context, SvtSaveOptions::ODFVER_010 }
f0633d
-#define MAP_CONST_P( name, prefix, token, type, context ){ name, sizeof(name)-1, prefix, token, type|XML_TYPE_PROP_PARAGRAPH, context, SvtSaveOptions::ODFVER_010 }
f0633d
-#define MAP_END()   { NULL, 0, 0, XML_TOKEN_INVALID, 0, 0, SvtSaveOptions::ODFVER_010 }
f0633d
+#define MAP_ASCII( name, prefix, token, type, context )  { name, sizeof(name)-1, prefix, token, type|XML_TYPE_PROP_TEXT, context, SvtSaveOptions::ODFVER_010, false }
f0633d
+#define MAP_CONST( name, prefix, token, type, context )  { name, sizeof(name)-1, prefix, token, type|XML_TYPE_PROP_TEXT, context, SvtSaveOptions::ODFVER_010, false }
f0633d
+#define MAP_CONST_P( name, prefix, token, type, context ){ name, sizeof(name)-1, prefix, token, type|XML_TYPE_PROP_PARAGRAPH, context, SvtSaveOptions::ODFVER_010, false }
f0633d
+#define MAP_END()   { NULL, 0, 0, XML_TOKEN_INVALID, 0, 0, SvtSaveOptions::ODFVER_010, false }
f0633d
 
f0633d
     XMLPropertyMapEntry* getControlStylePropertyMap_Access( )
f0633d
     {
f0633d
diff --git a/xmloff/source/forms/layerexport.cxx b/xmloff/source/forms/layerexport.cxx
f0633d
index c880662..663609a 100644
f0633d
--- a/xmloff/source/forms/layerexport.cxx
f0633d
+++ b/xmloff/source/forms/layerexport.cxx
f0633d
@@ -89,7 +89,7 @@ namespace xmloff
f0633d
 
f0633d
         // add our style family to the export context's style pool
f0633d
         m_xPropertyHandlerFactory = new OControlPropertyHandlerFactory();
f0633d
-        ::rtl::Reference< XMLPropertySetMapper > xStylePropertiesMapper = new XMLPropertySetMapper( getControlStylePropertyMap(), m_xPropertyHandlerFactory.get() );
f0633d
+        ::rtl::Reference< XMLPropertySetMapper > xStylePropertiesMapper = new XMLPropertySetMapper( getControlStylePropertyMap(), m_xPropertyHandlerFactory.get(), true );
f0633d
         m_xStyleExportMapper = new OFormComponentStyleExportMapper( xStylePropertiesMapper.get() );
f0633d
 
f0633d
         // our style family
f0633d
diff --git a/xmloff/source/style/PageMasterPropMapper.cxx b/xmloff/source/style/PageMasterPropMapper.cxx
f0633d
index 273e1c3..639fbb0 100644
f0633d
--- a/xmloff/source/style/PageMasterPropMapper.cxx
f0633d
+++ b/xmloff/source/style/PageMasterPropMapper.cxx
f0633d
@@ -31,15 +31,16 @@ using namespace ::com::sun::star::beans;
f0633d
 
f0633d
 //______________________________________________________________________________
f0633d
 
f0633d
-XMLPageMasterPropSetMapper::XMLPageMasterPropSetMapper():
f0633d
-    XMLPropertySetMapper( aXMLPageMasterStyleMap, new XMLPageMasterPropHdlFactory())
f0633d
+XMLPageMasterPropSetMapper::XMLPageMasterPropSetMapper( bool bForExport ):
f0633d
+    XMLPropertySetMapper( aXMLPageMasterStyleMap, new XMLPageMasterPropHdlFactory(), bForExport)
f0633d
 {
f0633d
 }
f0633d
 
f0633d
 XMLPageMasterPropSetMapper::XMLPageMasterPropSetMapper(
f0633d
         const XMLPropertyMapEntry* pEntries,
f0633d
-        const UniReference< XMLPropertyHandlerFactory >& rFactory ) :
f0633d
-    XMLPropertySetMapper( pEntries, rFactory )
f0633d
+        const UniReference< XMLPropertyHandlerFactory >& rFactory,
f0633d
+        bool bForExport ) :
f0633d
+    XMLPropertySetMapper( pEntries, rFactory, bForExport )
f0633d
 {
f0633d
 }
f0633d
 
f0633d
diff --git a/xmloff/source/style/PageMasterPropMapper.hxx b/xmloff/source/style/PageMasterPropMapper.hxx
f0633d
index 231a359..392fe17 100644
f0633d
--- a/xmloff/source/style/PageMasterPropMapper.hxx
f0633d
+++ b/xmloff/source/style/PageMasterPropMapper.hxx
f0633d
@@ -28,10 +28,11 @@
f0633d
 class XMLPageMasterPropSetMapper : public XMLPropertySetMapper
f0633d
 {
f0633d
 public:
f0633d
-                        XMLPageMasterPropSetMapper();
f0633d
+                        XMLPageMasterPropSetMapper( bool bForExport );
f0633d
                         XMLPageMasterPropSetMapper(
f0633d
                             const XMLPropertyMapEntry* pEntries,
f0633d
-                            const UniReference< XMLPropertyHandlerFactory >& rFactory );
f0633d
+                            const UniReference< XMLPropertyHandlerFactory >& rFactory,
f0633d
+                            bool bForExport );
f0633d
     virtual             ~XMLPageMasterPropSetMapper();
f0633d
 };
f0633d
 
f0633d
diff --git a/xmloff/source/style/PageMasterStyleMap.cxx b/xmloff/source/style/PageMasterStyleMap.cxx
f0633d
index 8726729..18d6ea2 100644
f0633d
--- a/xmloff/source/style/PageMasterStyleMap.cxx
f0633d
+++ b/xmloff/source/style/PageMasterStyleMap.cxx
f0633d
@@ -24,7 +24,7 @@
f0633d
 
f0633d
 using namespace ::xmloff::token;
f0633d
 
f0633d
-#define MAP(name,prefix,token,type,context,version)  { name, sizeof(name)-1, prefix, token, type, context, version }
f0633d
+#define MAP(name,prefix,token,type,context,version)  { name, sizeof(name)-1, prefix, token, type, context, version, false }
f0633d
 #define PLMAP(name,prefix,token,type,context) \
f0633d
         MAP(name,prefix,token,type|XML_TYPE_PROP_PAGE_LAYOUT,context, SvtSaveOptions::ODFVER_010)
f0633d
 #define PLMAP_12(name,prefix,token,type,context) \
f0633d
@@ -186,7 +186,7 @@ const XMLPropertyMapEntry aXMLPageMasterStyleMap[] =
f0633d
     HFMAP( "FooterBackGraphicURL",      XML_NAMESPACE_STYLE,    XML_BACKGROUND_IMAGE,           XML_TYPE_STRING | MID_FLAG_ELEMENT_ITEM,                CTF_PM_FOOTERGRAPHICURL ),
f0633d
     HFMAP( "FooterDynamicSpacing",        XML_NAMESPACE_STYLE,    XML_DYNAMIC_SPACING,           XML_TYPE_BOOL,          CTF_PM_FOOTERFLAG ),
f0633d
 
f0633d
-    { 0L, 0, 0, XML_EMPTY, 0, 0, SvtSaveOptions::ODFVER_010 }
f0633d
+    { 0L, 0, 0, XML_EMPTY, 0, 0, SvtSaveOptions::ODFVER_010, false }
f0633d
 };
f0633d
 
f0633d
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
f0633d
diff --git a/xmloff/source/style/XMLPageExport.cxx b/xmloff/source/style/XMLPageExport.cxx
f0633d
index 48e4295..7278eb9 100644
f0633d
--- a/xmloff/source/style/XMLPageExport.cxx
f0633d
+++ b/xmloff/source/style/XMLPageExport.cxx
f0633d
@@ -161,7 +161,7 @@ XMLPageExport::XMLPageExport( SvXMLExport& rExp ) :
f0633d
     xPageMasterPropHdlFactory = new XMLPageMasterPropHdlFactory;
f0633d
     xPageMasterPropSetMapper = new XMLPageMasterPropSetMapper(
f0633d
                                 (XMLPropertyMapEntry*) aXMLPageMasterStyleMap,
f0633d
-                                xPageMasterPropHdlFactory  );
f0633d
+                                xPageMasterPropHdlFactory, true );
f0633d
     xPageMasterExportPropMapper = new XMLPageMasterExportPropMapper(
f0633d
                                     xPageMasterPropSetMapper, rExp);
f0633d
 
f0633d
diff --git a/xmloff/source/style/xmlprmap.cxx b/xmloff/source/style/xmlprmap.cxx
f0633d
index 351c912..1ea9a6f 100644
f0633d
--- a/xmloff/source/style/xmlprmap.cxx
f0633d
+++ b/xmloff/source/style/xmlprmap.cxx
f0633d
@@ -40,10 +40,11 @@ XMLPropertySetMapperEntry_Impl::XMLPropertySetMapperEntry_Impl(
f0633d
     sXMLAttributeName( GetXMLToken(rMapEntry.meXMLName) ),
f0633d
     sAPIPropertyName( OUString(rMapEntry.msApiName, rMapEntry.nApiNameLength,
f0633d
                                RTL_TEXTENCODING_ASCII_US ) ),
f0633d
-    nXMLNameSpace( rMapEntry.mnNameSpace ),
f0633d
     nType( rMapEntry.mnType ),
f0633d
+    nXMLNameSpace( rMapEntry.mnNameSpace ),
f0633d
     nContextId( rMapEntry.mnContextId ),
f0633d
     nEarliestODFVersionForExport( rMapEntry.mnEarliestODFVersionForExport ),
f0633d
+    bImportOnly( rMapEntry.mbImportOnly),
f0633d
     pHdl( rFactory->GetPropertyHandler( rMapEntry.mnType & MID_FLAG_MASK ) )
f0633d
 {
f0633d
 }
f0633d
@@ -52,10 +53,11 @@ XMLPropertySetMapperEntry_Impl::XMLPropertySetMapperEntry_Impl(
f0633d
         const XMLPropertySetMapperEntry_Impl& rEntry ) :
f0633d
     sXMLAttributeName( rEntry.sXMLAttributeName),
f0633d
     sAPIPropertyName( rEntry.sAPIPropertyName),
f0633d
-    nXMLNameSpace( rEntry.nXMLNameSpace),
f0633d
     nType( rEntry.nType),
f0633d
+    nXMLNameSpace( rEntry.nXMLNameSpace),
f0633d
     nContextId( rEntry.nContextId),
f0633d
     nEarliestODFVersionForExport( rEntry.nEarliestODFVersionForExport ),
f0633d
+    bImportOnly( rEntry.bImportOnly),
f0633d
     pHdl( rEntry.pHdl)
f0633d
 {
f0633d
     DBG_ASSERT( pHdl, "Unknown XML property type handler!" );
f0633d
@@ -67,19 +69,36 @@ XMLPropertySetMapperEntry_Impl::XMLPropertySetMapperEntry_Impl(
f0633d
 //
f0633d
 XMLPropertySetMapper::XMLPropertySetMapper(
f0633d
         const XMLPropertyMapEntry* pEntries,
f0633d
-        const UniReference< XMLPropertyHandlerFactory >& rFactory )
f0633d
+        const UniReference< XMLPropertyHandlerFactory >& rFactory,
f0633d
+        bool bForExport )
f0633d
+    :
f0633d
+        mbOnlyExportMappings( bForExport)
f0633d
 {
f0633d
     aHdlFactories.push_back( rFactory );
f0633d
     if( pEntries )
f0633d
     {
f0633d
         const XMLPropertyMapEntry* pIter = pEntries;
f0633d
 
f0633d
-        // count entries
f0633d
-        while( pIter->msApiName )
f0633d
+        if (mbOnlyExportMappings)
f0633d
+        {
f0633d
+            while( pIter->msApiName )
f0633d
+            {
f0633d
+                if (!pIter->mbImportOnly)
f0633d
+                {
f0633d
+                    XMLPropertySetMapperEntry_Impl aEntry( *pIter, rFactory );
f0633d
+                    aMapEntries.push_back( aEntry );
f0633d
+                }
f0633d
+                pIter++;
f0633d
+            }
f0633d
+        }
f0633d
+        else
f0633d
         {
f0633d
-            XMLPropertySetMapperEntry_Impl aEntry( *pIter, rFactory );
f0633d
-            aMapEntries.push_back( aEntry );
f0633d
-            pIter++;
f0633d
+            while( pIter->msApiName )
f0633d
+            {
f0633d
+                XMLPropertySetMapperEntry_Impl aEntry( *pIter, rFactory );
f0633d
+                aMapEntries.push_back( aEntry );
f0633d
+                pIter++;
f0633d
+            }
f0633d
         }
f0633d
     }
f0633d
 }
f0633d
@@ -104,7 +123,8 @@ void XMLPropertySetMapper::AddMapperEntry(
f0633d
          aEIter != rMapper->aMapEntries.end();
f0633d
          ++aEIter )
f0633d
     {
f0633d
-        aMapEntries.push_back( *aEIter );
f0633d
+        if (!mbOnlyExportMappings || !(*aEIter).bImportOnly)
f0633d
+            aMapEntries.push_back( *aEIter );
f0633d
     }
f0633d
 }
f0633d
 
f0633d
diff --git a/xmloff/source/style/xmlstyle.cxx b/xmloff/source/style/xmlstyle.cxx
f0633d
index c54d7ff..7ca0b20 100644
f0633d
--- a/xmloff/source/style/xmlstyle.cxx
f0633d
+++ b/xmloff/source/style/xmlstyle.cxx
f0633d
@@ -677,7 +677,7 @@ UniReference < SvXMLImportPropertyMapper > SvXMLStylesContext::GetImportProperty
f0633d
     case XML_STYLE_FAMILY_SCH_CHART_ID:
f0633d
         if( ! mxChartImpPropMapper.is() )
f0633d
         {
f0633d
-            XMLPropertySetMapper *pPropMapper = new XMLChartPropertySetMapper();
f0633d
+            XMLPropertySetMapper *pPropMapper = new XMLChartPropertySetMapper( false );
f0633d
             mxChartImpPropMapper = new XMLChartImportPropertyMapper( pPropMapper, GetImport() );
f0633d
         }
f0633d
         xMapper = mxChartImpPropMapper;
f0633d
@@ -686,7 +686,7 @@ UniReference < SvXMLImportPropertyMapper > SvXMLStylesContext::GetImportProperty
f0633d
         if( ! mxPageImpPropMapper.is() )
f0633d
         {
f0633d
             XMLPropertySetMapper *pPropMapper =
f0633d
-                new XMLPageMasterPropSetMapper();
f0633d
+                new XMLPageMasterPropSetMapper( false );
f0633d
             mxPageImpPropMapper =
f0633d
                 new PageMasterImportPropertyMapper( pPropMapper,
f0633d
                                     ((SvXMLStylesContext*)this)->GetImport() );
f0633d
diff --git a/xmloff/source/table/XMLTableExport.cxx b/xmloff/source/table/XMLTableExport.cxx
f0633d
index b710ade..611273d 100644
f0633d
--- a/xmloff/source/table/XMLTableExport.cxx
f0633d
+++ b/xmloff/source/table/XMLTableExport.cxx
f0633d
@@ -54,10 +54,10 @@ using namespace ::com::sun::star::style;
f0633d
 
f0633d
 // --------------------------------------------------------------------
f0633d
 
f0633d
-#define _MAP(name,prefix,token,type,context)  { name, sizeof(name)-1, prefix, token, type, context, SvtSaveOptions::ODFVER_010 }
f0633d
+#define _MAP(name,prefix,token,type,context)  { name, sizeof(name)-1, prefix, token, type, context, SvtSaveOptions::ODFVER_010, false }
f0633d
 #define CMAP(name,prefix,token,type,context) _MAP(name,prefix,token,type|XML_TYPE_PROP_TABLE_COLUMN,context)
f0633d
 #define RMAP(name,prefix,token,type,context) _MAP(name,prefix,token,type|XML_TYPE_PROP_TABLE_ROW,context)
f0633d
-#define MAP_END { 0L, 0, 0, XML_EMPTY, 0, 0, SvtSaveOptions::ODFVER_010 }
f0633d
+#define MAP_END { 0L, 0, 0, XML_EMPTY, 0, 0, SvtSaveOptions::ODFVER_010, false }
f0633d
 
f0633d
 // --------------------------------------------------------------------
f0633d
 
f0633d
@@ -163,8 +163,8 @@ XMLTableExport::XMLTableExport(SvXMLExport& rExp, const rtl::Reference< SvXMLExp
f0633d
     mxCellExportPropertySetMapper = xExportPropertyMapper;
f0633d
     mxCellExportPropertySetMapper->ChainExportMapper(XMLTextParagraphExport::CreateParaExtPropMapper(rExp));
f0633d
 
f0633d
-    mxRowExportPropertySetMapper = new SvXMLExportPropertyMapper( new XMLPropertySetMapper( getRowPropertiesMap(), xFactoryRef.get() ) );
f0633d
-    mxColumnExportPropertySetMapper = new SvXMLExportPropertyMapper( new XMLPropertySetMapper( getColumnPropertiesMap(), xFactoryRef.get() ) );
f0633d
+    mxRowExportPropertySetMapper = new SvXMLExportPropertyMapper( new XMLPropertySetMapper( getRowPropertiesMap(), xFactoryRef.get(), true ) );
f0633d
+    mxColumnExportPropertySetMapper = new SvXMLExportPropertyMapper( new XMLPropertySetMapper( getColumnPropertiesMap(), xFactoryRef.get(), true ) );
f0633d
 
f0633d
     mrExport.GetAutoStylePool()->AddFamily(XML_STYLE_FAMILY_TABLE_COLUMN,
f0633d
         OUString(XML_STYLE_FAMILY_TABLE_COLUMN_STYLES_NAME),
f0633d
diff --git a/xmloff/source/table/XMLTableImport.cxx b/xmloff/source/table/XMLTableImport.cxx
f0633d
index 5925490..1f84765 100644
f0633d
--- a/xmloff/source/table/XMLTableImport.cxx
f0633d
+++ b/xmloff/source/table/XMLTableImport.cxx
f0633d
@@ -205,11 +205,10 @@ XMLTableImport::XMLTableImport( SvXMLImport& rImport, const rtl::Reference< XMLP
f0633d
     mxCellImportPropertySetMapper = new SvXMLImportPropertyMapper( xCellPropertySetMapper.get(), rImport );
f0633d
     mxCellImportPropertySetMapper->ChainImportMapper(XMLTextImportHelper::CreateParaExtPropMapper(rImport));
f0633d
 
f0633d
-
f0633d
-    UniReference < XMLPropertySetMapper > xRowMapper( new XMLPropertySetMapper( getRowPropertiesMap(), xFactoryRef.get() ) );
f0633d
+    UniReference < XMLPropertySetMapper > xRowMapper( new XMLPropertySetMapper( getRowPropertiesMap(), xFactoryRef.get(), false ) );
f0633d
     mxRowImportPropertySetMapper = new SvXMLImportPropertyMapper( xRowMapper, rImport );
f0633d
 
f0633d
-    UniReference < XMLPropertySetMapper > xColMapper( new XMLPropertySetMapper( getColumnPropertiesMap(), xFactoryRef.get() ) );
f0633d
+    UniReference < XMLPropertySetMapper > xColMapper( new XMLPropertySetMapper( getColumnPropertiesMap(), xFactoryRef.get(), false ) );
f0633d
     mxColumnImportPropertySetMapper = new SvXMLImportPropertyMapper( xColMapper, rImport );
f0633d
 }
f0633d
 
f0633d
diff --git a/xmloff/source/text/txtimp.cxx b/xmloff/source/text/txtimp.cxx
f0633d
index 24221a6..42e0576 100644
f0633d
--- a/xmloff/source/text/txtimp.cxx
f0633d
+++ b/xmloff/source/text/txtimp.cxx
f0633d
@@ -1001,23 +1001,23 @@ XMLTextImportHelper::XMLTextImportHelper(
f0633d
     }
f0633d
 
f0633d
     XMLPropertySetMapper *pPropMapper =
f0633d
-            new XMLTextPropertySetMapper( TEXT_PROP_MAP_PARA );
f0633d
+            new XMLTextPropertySetMapper( TEXT_PROP_MAP_PARA, false );
f0633d
     m_pImpl->m_xParaImpPrMap =
f0633d
         new XMLTextImportPropertyMapper( pPropMapper, rImport );
f0633d
 
f0633d
-    pPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_TEXT );
f0633d
+    pPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_TEXT, false );
f0633d
     m_pImpl->m_xTextImpPrMap =
f0633d
         new XMLTextImportPropertyMapper( pPropMapper, rImport );
f0633d
 
f0633d
-    pPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_FRAME );
f0633d
+    pPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_FRAME, false );
f0633d
     m_pImpl->m_xFrameImpPrMap =
f0633d
         new XMLTextImportPropertyMapper( pPropMapper, rImport );
f0633d
 
f0633d
-    pPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_SECTION );
f0633d
+    pPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_SECTION, false );
f0633d
     m_pImpl->m_xSectionImpPrMap =
f0633d
         new XMLTextImportPropertyMapper( pPropMapper, rImport );
f0633d
 
f0633d
-    pPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_RUBY );
f0633d
+    pPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_RUBY, false );
f0633d
     m_pImpl->m_xRubyImpPrMap =
f0633d
         new SvXMLImportPropertyMapper( pPropMapper, rImport );
f0633d
 }
f0633d
@@ -1029,25 +1029,25 @@ XMLTextImportHelper::~XMLTextImportHelper()
f0633d
 SvXMLImportPropertyMapper *XMLTextImportHelper::CreateShapeExtPropMapper(SvXMLImport& rImport)
f0633d
 {
f0633d
     XMLPropertySetMapper *pPropMapper =
f0633d
-        new XMLTextPropertySetMapper( TEXT_PROP_MAP_FRAME );
f0633d
+        new XMLTextPropertySetMapper( TEXT_PROP_MAP_FRAME, false );
f0633d
     return new XMLTextImportPropertyMapper( pPropMapper, rImport );
f0633d
 }
f0633d
 
f0633d
 SvXMLImportPropertyMapper *XMLTextImportHelper::CreateParaExtPropMapper(SvXMLImport& rImport)
f0633d
 {
f0633d
     XMLPropertySetMapper *pPropMapper =
f0633d
-        new XMLTextPropertySetMapper( TEXT_PROP_MAP_SHAPE_PARA );
f0633d
+        new XMLTextPropertySetMapper( TEXT_PROP_MAP_SHAPE_PARA, false );
f0633d
     return new XMLTextImportPropertyMapper( pPropMapper, rImport );
f0633d
 }
f0633d
 
f0633d
 SvXMLImportPropertyMapper *XMLTextImportHelper::CreateParaDefaultExtPropMapper(SvXMLImport& rImport)
f0633d
 {
f0633d
     XMLPropertySetMapper* pPropMapper =
f0633d
-        new XMLTextPropertySetMapper( TEXT_PROP_MAP_SHAPE_PARA );
f0633d
+        new XMLTextPropertySetMapper( TEXT_PROP_MAP_SHAPE_PARA, false );
f0633d
     SvXMLImportPropertyMapper* pImportMapper = new XMLTextImportPropertyMapper( pPropMapper, rImport );
f0633d
 
f0633d
     pPropMapper =
f0633d
-        new XMLTextPropertySetMapper( TEXT_PROP_MAP_TEXT_ADDITIONAL_DEFAULTS );
f0633d
+        new XMLTextPropertySetMapper( TEXT_PROP_MAP_TEXT_ADDITIONAL_DEFAULTS, false );
f0633d
     pImportMapper->ChainImportMapper( new XMLTextImportPropertyMapper( pPropMapper, rImport ) );
f0633d
 
f0633d
     return pImportMapper;
f0633d
@@ -1058,7 +1058,7 @@ SvXMLImportPropertyMapper*
f0633d
         SvXMLImport& rImport )
f0633d
 {
f0633d
     XMLPropertySetMapper *pPropMapper =
f0633d
-        new XMLTextPropertySetMapper( TEXT_PROP_MAP_TABLE_DEFAULTS );
f0633d
+        new XMLTextPropertySetMapper( TEXT_PROP_MAP_TABLE_DEFAULTS, false );
f0633d
     return new SvXMLImportPropertyMapper( pPropMapper, rImport );
f0633d
 }
f0633d
 
f0633d
@@ -1067,7 +1067,7 @@ SvXMLImportPropertyMapper*
f0633d
         SvXMLImport& rImport )
f0633d
 {
f0633d
     XMLPropertySetMapper *pPropMapper =
f0633d
-        new XMLTextPropertySetMapper( TEXT_PROP_MAP_TABLE_ROW_DEFAULTS );
f0633d
+        new XMLTextPropertySetMapper( TEXT_PROP_MAP_TABLE_ROW_DEFAULTS, false );
f0633d
     return new SvXMLImportPropertyMapper( pPropMapper, rImport );
f0633d
 }
f0633d
 
f0633d
diff --git a/xmloff/source/text/txtparae.cxx b/xmloff/source/text/txtparae.cxx
f0633d
index 3b5933b..e09b6a2 100644
f0633d
--- a/xmloff/source/text/txtparae.cxx
f0633d
+++ b/xmloff/source/text/txtparae.cxx
f0633d
@@ -1273,7 +1273,7 @@ XMLTextParagraphExport::XMLTextParagraphExport(
f0633d
     sTextFieldStartEnd( "TextFieldStartEnd"  ),
f0633d
     aCharStyleNamesPropInfoCache( sCharStyleNames )
f0633d
 {
f0633d
-    UniReference < XMLPropertySetMapper > xPropMapper(new XMLTextPropertySetMapper( TEXT_PROP_MAP_PARA ));
f0633d
+    UniReference < XMLPropertySetMapper > xPropMapper(new XMLTextPropertySetMapper( TEXT_PROP_MAP_PARA, true ));
f0633d
     xParaPropMapper = new XMLTextExportPropertySetMapper( xPropMapper,
f0633d
                                                              GetExport() );
f0633d
 
f0633d
@@ -1282,7 +1282,7 @@ XMLTextParagraphExport::XMLTextParagraphExport(
f0633d
     rAutoStylePool.AddFamily( XML_STYLE_FAMILY_TEXT_PARAGRAPH, sFamily,
f0633d
                               xParaPropMapper, aPrefix );
f0633d
 
f0633d
-    xPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_TEXT );
f0633d
+    xPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_TEXT, true );
f0633d
     xTextPropMapper = new XMLTextExportPropertySetMapper( xPropMapper,
f0633d
                                                              GetExport() );
f0633d
     sFamily = OUString( GetXMLToken(XML_TEXT) );
f0633d
@@ -1290,7 +1290,7 @@ XMLTextParagraphExport::XMLTextParagraphExport(
f0633d
     rAutoStylePool.AddFamily( XML_STYLE_FAMILY_TEXT_TEXT, sFamily,
f0633d
                               xTextPropMapper, aPrefix );
f0633d
 
f0633d
-    xPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_AUTO_FRAME );
f0633d
+    xPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_AUTO_FRAME, true );
f0633d
     xAutoFramePropMapper = new XMLTextExportPropertySetMapper( xPropMapper,
f0633d
                                                                   GetExport() );
f0633d
     sFamily = OUString( XML_STYLE_FAMILY_SD_GRAPHICS_NAME );
f0633d
@@ -1298,7 +1298,7 @@ XMLTextParagraphExport::XMLTextParagraphExport(
f0633d
     rAutoStylePool.AddFamily( XML_STYLE_FAMILY_TEXT_FRAME, sFamily,
f0633d
                               xAutoFramePropMapper, aPrefix );
f0633d
 
f0633d
-    xPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_SECTION );
f0633d
+    xPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_SECTION, true );
f0633d
     xSectionPropMapper = new XMLTextExportPropertySetMapper( xPropMapper,
f0633d
                                                              GetExport() );
f0633d
     sFamily = OUString( GetXMLToken( XML_SECTION ) );
f0633d
@@ -1306,14 +1306,14 @@ XMLTextParagraphExport::XMLTextParagraphExport(
f0633d
     rAutoStylePool.AddFamily( XML_STYLE_FAMILY_TEXT_SECTION, sFamily,
f0633d
                               xSectionPropMapper, aPrefix );
f0633d
 
f0633d
-    xPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_RUBY );
f0633d
+    xPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_RUBY, true );
f0633d
     xRubyPropMapper = new SvXMLExportPropertyMapper( xPropMapper );
f0633d
     sFamily = OUString( GetXMLToken( XML_RUBY ) );
f0633d
     aPrefix = OUString( "Ru"  );
f0633d
     rAutoStylePool.AddFamily( XML_STYLE_FAMILY_TEXT_RUBY, sFamily,
f0633d
                               xRubyPropMapper, aPrefix );
f0633d
 
f0633d
-    xPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_FRAME );
f0633d
+    xPropMapper = new XMLTextPropertySetMapper( TEXT_PROP_MAP_FRAME, true );
f0633d
     xFramePropMapper = new XMLTextExportPropertySetMapper( xPropMapper,
f0633d
                                                               GetExport() );
f0633d
 
f0633d
@@ -1357,7 +1357,7 @@ SvXMLExportPropertyMapper *XMLTextParagraphExport::CreateShapeExtPropMapper(
f0633d
         SvXMLExport& rExport )
f0633d
 {
f0633d
     UniReference < XMLPropertySetMapper > xPropMapper =
f0633d
-        new XMLTextPropertySetMapper( TEXT_PROP_MAP_SHAPE );
f0633d
+        new XMLTextPropertySetMapper( TEXT_PROP_MAP_SHAPE, true );
f0633d
     return new XMLTextExportPropertySetMapper( xPropMapper, rExport );
f0633d
 }
f0633d
 
f0633d
@@ -1365,7 +1365,7 @@ SvXMLExportPropertyMapper *XMLTextParagraphExport::CreateCharExtPropMapper(
f0633d
         SvXMLExport& rExport)
f0633d
 {
f0633d
     XMLPropertySetMapper *pPropMapper =
f0633d
-        new XMLTextPropertySetMapper( TEXT_PROP_MAP_TEXT );
f0633d
+        new XMLTextPropertySetMapper( TEXT_PROP_MAP_TEXT, true );
f0633d
     return new XMLTextExportPropertySetMapper( pPropMapper, rExport );
f0633d
 }
f0633d
 
f0633d
@@ -1373,7 +1373,7 @@ SvXMLExportPropertyMapper *XMLTextParagraphExport::CreateParaExtPropMapper(
f0633d
         SvXMLExport& rExport)
f0633d
 {
f0633d
     XMLPropertySetMapper *pPropMapper =
f0633d
-        new XMLTextPropertySetMapper( TEXT_PROP_MAP_SHAPE_PARA );
f0633d
+        new XMLTextPropertySetMapper( TEXT_PROP_MAP_SHAPE_PARA, true );
f0633d
     return new XMLTextExportPropertySetMapper( pPropMapper, rExport );
f0633d
 }
f0633d
 
f0633d
@@ -1381,7 +1381,7 @@ SvXMLExportPropertyMapper *XMLTextParagraphExport::CreateParaDefaultExtPropMappe
f0633d
         SvXMLExport& rExport)
f0633d
 {
f0633d
     XMLPropertySetMapper *pPropMapper =
f0633d
-        new XMLTextPropertySetMapper( TEXT_PROP_MAP_TEXT_ADDITIONAL_DEFAULTS );
f0633d
+        new XMLTextPropertySetMapper( TEXT_PROP_MAP_TEXT_ADDITIONAL_DEFAULTS, true );
f0633d
     return new XMLTextExportPropertySetMapper( pPropMapper, rExport );
f0633d
 }
f0633d
 
f0633d
diff --git a/xmloff/source/text/txtprmap.cxx b/xmloff/source/text/txtprmap.cxx
f0633d
index def8335..26d04d8 100644
f0633d
--- a/xmloff/source/text/txtprmap.cxx
f0633d
+++ b/xmloff/source/text/txtprmap.cxx
f0633d
@@ -31,13 +31,13 @@ using namespace ::com::sun::star::uno;
f0633d
 using namespace ::xmloff::token;
f0633d
 
f0633d
 #define _M_E( a, p, l, t, c ) \
f0633d
-    { a, sizeof(a)-1, XML_NAMESPACE_##p, XML_##l, t, c, SvtSaveOptions::ODFVER_010 }
f0633d
+    { a, sizeof(a)-1, XML_NAMESPACE_##p, XML_##l, t, c, SvtSaveOptions::ODFVER_010, false }
f0633d
 
f0633d
 #define _M_EV( a, p, l, t, c, v ) \
f0633d
-    { a, sizeof(a)-1, XML_NAMESPACE_##p, XML_##l, t, c, v }
f0633d
+    { a, sizeof(a)-1, XML_NAMESPACE_##p, XML_##l, t, c, v, false }
f0633d
 
f0633d
 #define _M_ED( a, p, l, t, c ) \
f0633d
-    { a, sizeof(a)-1, XML_NAMESPACE_##p, XML_##l, (t) | MID_FLAG_DEFAULT_ITEM_EXPORT, c, SvtSaveOptions::ODFVER_010 }
f0633d
+    { a, sizeof(a)-1, XML_NAMESPACE_##p, XML_##l, (t) | MID_FLAG_DEFAULT_ITEM_EXPORT, c, SvtSaveOptions::ODFVER_010, false }
f0633d
 
f0633d
 // text properties
f0633d
 #define MT_E( a, p, l, t, c ) \
f0633d
@@ -68,7 +68,7 @@ using namespace ::xmloff::token;
f0633d
     _M_E( a, p, l, (t|XML_TYPE_PROP_RUBY), c )
f0633d
 
f0633d
 #define M_END() \
f0633d
-    { NULL, 0, 0, XML_TOKEN_INVALID, 0, 0, SvtSaveOptions::ODFVER_010 }
f0633d
+    { NULL, 0, 0, XML_TOKEN_INVALID, 0, 0, SvtSaveOptions::ODFVER_010, false }
f0633d
 
f0633d
 
f0633d
 XMLPropertyMapEntry aXMLParaPropMap[] =
f0633d
@@ -88,7 +88,7 @@ XMLPropertyMapEntry aXMLParaPropMap[] =
f0633d
     MP_E( "ParaTopMarginRelative",  FO, MARGIN_TOP,         XML_TYPE_PERCENT16, CTF_PARATOPMARGIN_REL ),
f0633d
     MP_E( "ParaBottomMargin",       FO, MARGIN_BOTTOM,      XML_TYPE_MEASURE|MID_FLAG_MULTI_PROPERTY, CTF_PARABOTTOMMARGIN ),
f0633d
     MP_E( "ParaBottomMarginRelative",FO,    MARGIN_BOTTOM,      XML_TYPE_PERCENT16, CTF_PARABOTTOMMARGIN_REL ),
f0633d
-    { "ParaContextMargin", sizeof("ParaContextMargin")-1, XML_NAMESPACE_STYLE, XML_CONTEXTUAL_SPACING, XML_TYPE_BOOL|XML_TYPE_PROP_PARAGRAPH, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT },
f0633d
+    { "ParaContextMargin", sizeof("ParaContextMargin")-1, XML_NAMESPACE_STYLE, XML_CONTEXTUAL_SPACING, XML_TYPE_BOOL|XML_TYPE_PROP_PARAGRAPH, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT, false },
f0633d
     // RES_CHRATR_CASEMAP
f0633d
     MT_E( "CharCaseMap",        FO,     FONT_VARIANT,       XML_TYPE_TEXT_CASEMAP_VAR,  0 ),
f0633d
     MT_E( "CharCaseMap",        FO,     TEXT_TRANSFORM,     XML_TYPE_TEXT_CASEMAP,  0 ),
f0633d
@@ -136,9 +136,9 @@ XMLPropertyMapEntry aXMLParaPropMap[] =
f0633d
     // RES_CHRATR_WEIGHT
f0633d
     MT_E( "CharWeight",     FO,     FONT_WEIGHT,        XML_TYPE_TEXT_WEIGHT, 0 ),
f0633d
 	// RES_CHRATR_RSID
f0633d
-    { "Rsid", sizeof("Rsid")-1, XML_NAMESPACE_OFFICE_EXT, XML_RSID, XML_TYPE_HEX|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT },
f0633d
+    { "Rsid", sizeof("Rsid")-1, XML_NAMESPACE_OFFICE_EXT, XML_RSID, XML_TYPE_HEX|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT, false },
f0633d
 	// RES_PARATR_RSID
f0633d
-    { "ParRsid", sizeof("ParRsid")-1, XML_NAMESPACE_OFFICE_EXT, XML_PARRSID, XML_TYPE_HEX|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT },
f0633d
+    { "ParRsid", sizeof("ParRsid")-1, XML_NAMESPACE_OFFICE_EXT, XML_PARRSID, XML_TYPE_HEX|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT, false },
f0633d
     // RES_CHRATR_WORDLINEMODE
f0633d
     MT_E( "CharWordMode",   STYLE,  TEXT_UNDERLINE_MODE,        XML_TYPE_TEXT_LINE_MODE|MID_FLAG_MERGE_PROPERTY, 0 ),
f0633d
     MT_E( "CharWordMode",   STYLE,  TEXT_OVERLINE_MODE,     XML_TYPE_TEXT_LINE_MODE|MID_FLAG_MERGE_PROPERTY, 0 ),
f0633d
@@ -434,9 +434,9 @@ XMLPropertyMapEntry aXMLTextPropMap[] =
f0633d
     // RES_CHRATR_WEIGHT
f0633d
     MT_E( "CharWeight",     FO,     FONT_WEIGHT,        XML_TYPE_TEXT_WEIGHT, 0 ),
f0633d
 	// RES_CHRATR_RSID
f0633d
-    { "Rsid", sizeof("Rsid")-1, XML_NAMESPACE_OFFICE_EXT, XML_RSID, XML_TYPE_HEX|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT },
f0633d
+    { "Rsid", sizeof("Rsid")-1, XML_NAMESPACE_OFFICE_EXT, XML_RSID, XML_TYPE_HEX|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT, false },
f0633d
 	// RES_PARATR_RSID
f0633d
-    { "ParRsid", sizeof("ParRsid")-1, XML_NAMESPACE_OFFICE_EXT, XML_PARRSID, XML_TYPE_HEX|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT },
f0633d
+    { "ParRsid", sizeof("ParRsid")-1, XML_NAMESPACE_OFFICE_EXT, XML_PARRSID, XML_TYPE_HEX|XML_TYPE_PROP_TEXT, 0, SvtSaveOptions::ODFVER_012_EXT_COMPAT, false },
f0633d
     // RES_CHRATR_WORDLINEMODE
f0633d
     MT_E( "CharWordMode",   STYLE,  TEXT_UNDERLINE_MODE,        XML_TYPE_TEXT_LINE_MODE|MID_FLAG_MERGE_PROPERTY, 0 ),
f0633d
     MT_E( "CharWordMode",   STYLE,  TEXT_OVERLINE_MODE,     XML_TYPE_TEXT_LINE_MODE|MID_FLAG_MERGE_PROPERTY, 0 ),
f0633d
@@ -890,9 +890,9 @@ const XMLPropertyMapEntry* XMLTextPropertySetMapper::getPropertyMapForType( sal_
f0633d
     return lcl_txtprmap_getMap( _nType );
f0633d
 }
f0633d
 
f0633d
-XMLTextPropertySetMapper::XMLTextPropertySetMapper( sal_uInt16 nType ) :
f0633d
+XMLTextPropertySetMapper::XMLTextPropertySetMapper( sal_uInt16 nType, bool bForExport ) :
f0633d
     XMLPropertySetMapper( lcl_txtprmap_getMap( nType ),
f0633d
-                          new XMLTextPropertyHandlerFactory )
f0633d
+                          new XMLTextPropertyHandlerFactory, bForExport )
f0633d
 {
f0633d
 }
f0633d
 
f0633d
diff --git a/xmloff/source/text/txtstyle.cxx b/xmloff/source/text/txtstyle.cxx
f0633d
index b507b09..c3dd060 100644
f0633d
--- a/xmloff/source/text/txtstyle.cxx
f0633d
+++ b/xmloff/source/text/txtstyle.cxx
f0633d
@@ -128,7 +128,7 @@ void XMLTextParagraphExport::exportTextStyles( sal_Bool bUsed, sal_Bool bProg )
f0633d
                 GetXMLToken(XML_TABLE),
f0633d
                 new XMLTextExportPropertySetMapper(
f0633d
                     new XMLTextPropertySetMapper(
f0633d
-                        TEXT_PROP_MAP_TABLE_DEFAULTS ),
f0633d
+                        TEXT_PROP_MAP_TABLE_DEFAULTS, true ),
f0633d
                     GetExport() ) );
f0633d
 
f0633d
             exportDefaultStyle(
f0633d
@@ -136,7 +136,7 @@ void XMLTextParagraphExport::exportTextStyles( sal_Bool bUsed, sal_Bool bProg )
f0633d
                 GetXMLToken(XML_TABLE_ROW),
f0633d
                 new XMLTextExportPropertySetMapper(
f0633d
                     new XMLTextPropertySetMapper(
f0633d
-                        TEXT_PROP_MAP_TABLE_ROW_DEFAULTS ),
f0633d
+                        TEXT_PROP_MAP_TABLE_ROW_DEFAULTS, true ),
f0633d
                     GetExport() ) );
f0633d
         }
f0633d
     }
f0633d
-- 
f0633d
1.8.4.2
f0633d