summaryrefslogtreecommitdiff
path: root/include/xmloff
diff options
context:
space:
mode:
authorMohammed Abdul Azeem <azeemmysore@gmail.com>2017-06-12 22:56:10 +0530
committerMichael Meeks <michael.meeks@collabora.com>2017-06-13 12:30:16 +0200
commitffc2e936c6a9f3fd597b64b88785edb0f78d7564 (patch)
treefbd899f1ecf4fb78605c3efba71d30b892ee9dde /include/xmloff
parent3ab67326292f8b756bd4bf698ca20aec4f6e5755 (diff)
Reverse mapping fastToken to NamespaceURI:
Made those methods static, so that it is easy to use them outside the module. Also updated the Namespace-constants list. Change-Id: Id0bf501457c53d1420a00ce58c9bcedfcba17908 Reviewed-on: https://gerrit.libreoffice.org/38708 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Diffstat (limited to 'include/xmloff')
-rw-r--r--include/xmloff/xmlimp.hxx14
-rw-r--r--include/xmloff/xmlnmspe.hxx81
2 files changed, 73 insertions, 22 deletions
diff --git a/include/xmloff/xmlimp.hxx b/include/xmloff/xmlimp.hxx
index 37b1d1589d88..8ac87d820c88 100644
--- a/include/xmloff/xmlimp.hxx
+++ b/include/xmloff/xmlimp.hxx
@@ -225,12 +225,12 @@ class XMLOFF_DLLPUBLIC SvXMLImport : public cppu::WeakImplHelper<
rtl::Reference < comphelper::AttributeList > maAttrList;
rtl::Reference < comphelper::AttributeList > maNamespaceAttrList;
css::uno::Reference< css::xml::sax::XFastDocumentHandler > mxFastDocumentHandler;
- css::uno::Reference< css::xml::sax::XFastTokenHandler > mxTokenHandler;
- std::unordered_map< sal_Int32, OUString > maNamespaceMap;
- const OUString getNameFromToken( sal_Int32 nToken );
- const OUString getNamespacePrefixFromToken( sal_Int32 nToken );
+ static css::uno::Reference< css::xml::sax::XFastTokenHandler > xTokenHandler;
+ static std::unordered_map< sal_Int32, std::pair< OUString, OUString > > aNamespaceMap;
+ static bool bIsNSMapsInitialized;
+
+ static void initializeNamespaceMaps();
void registerNamespaces();
- void registerNSHelper(sal_Int32 nToken, sal_Int32 nPrefix, sal_Int32 nNamespace );
std::unique_ptr<SvXMLNamespaceMap> processNSAttributes(
const css::uno::Reference< css::xml::sax::XAttributeList >& xAttrList);
void Characters(const OUString& aChars);
@@ -375,6 +375,10 @@ public:
// get import helper for events
XMLEventImportHelper& GetEventImport();
+ static const OUString getNameFromToken( sal_Int32 nToken );
+ static const OUString getNamespacePrefixFromToken( sal_Int32 nToken );
+ static const OUString getNamespaceURIFromToken( sal_Int32 nToken );
+
SvXMLNamespaceMap& GetNamespaceMap() { return *mpNamespaceMap; }
const SvXMLNamespaceMap& GetNamespaceMap() const { return *mpNamespaceMap; }
const SvXMLUnitConverter& GetMM100UnitConverter() const { return *mpUnitConv; }
diff --git a/include/xmloff/xmlnmspe.hxx b/include/xmloff/xmlnmspe.hxx
index 7675b556ed5c..3153ad0f83fd 100644
--- a/include/xmloff/xmlnmspe.hxx
+++ b/include/xmloff/xmlnmspe.hxx
@@ -27,6 +27,8 @@ const sal_uInt16 XML_NAMESPACE_##prefix = key; \
const sal_uInt16 XML_NAMESPACE_##prefix##_IDX = key;
#define XML_OLD_NAMESPACE( prefix, index ) \
+const sal_uInt16 XML_OLD_NAMESPACE_##prefix = \
+ (XML_OLD_NAMESPACE_BASE+index); \
const sal_uInt16 XML_OLD_NAMESPACE_##prefix##_IDX = \
(XML_OLD_NAMESPACE_BASE+index);
@@ -70,30 +72,75 @@ XML_NAMESPACE( REPORT, 33U )
XML_NAMESPACE( OF, 34U ) // OpenFormula aka ODFF
XML_NAMESPACE( XHTML, 35U )
XML_NAMESPACE( GRDDL, 36U )
+XML_NAMESPACE( VERSIONS_LIST, 37U )
// namespaces for odf extended formats
-#define XML_NAMESPACE_EXT( prefix, key ) \
-const sal_uInt16 XML_NAMESPACE_##prefix##_EXT = key; \
-const sal_uInt16 XML_NAMESPACE_##prefix##_EXT_IDX = key;
+#define XML_NAMESPACE_EXT_BASE 38U
+#define XML_NAMESPACE_EXT( prefix, index ) \
+const sal_uInt16 XML_NAMESPACE_##prefix##_EXT = (XML_NAMESPACE_EXT_BASE+index); \
+const sal_uInt16 XML_NAMESPACE_##prefix##_EXT_IDX = (XML_NAMESPACE_EXT_BASE+index);
-XML_NAMESPACE_EXT( OFFICE, 37U )
-XML_NAMESPACE_EXT( TABLE, 38U )
-XML_NAMESPACE_EXT( CHART, 39U )
-XML_NAMESPACE_EXT( DRAW, 40U )
-XML_NAMESPACE_EXT( CALC, 41U )
-XML_NAMESPACE_EXT( LO, 42U )
+XML_NAMESPACE_EXT( OFFICE, 0U )
+XML_NAMESPACE_EXT( TABLE, 1U )
+XML_NAMESPACE_EXT( CHART, 2U )
+XML_NAMESPACE_EXT( DRAW, 3U )
+XML_NAMESPACE_EXT( CALC, 4U )
+XML_NAMESPACE_EXT( LO, 5U )
-#define XML_OLD_NAMESPACE_BASE 43U
+// namespaces for OOo formats
+
+#define XML_NAMESPACE_OOO_BASE 44U
+#define XML_NAMESPACE_OOO( prefix, index ) \
+const sal_uInt16 XML_NAMESPACE_##prefix##_OOO = (XML_NAMESPACE_OOO_BASE+index); \
+const sal_uInt16 XML_NAMESPACE_##prefix##_OOO_IDX = (XML_NAMESPACE_OOO_BASE+index);
+
+XML_NAMESPACE_OOO( OFFICE, 0U )
+XML_NAMESPACE_OOO( META, 1U )
+XML_NAMESPACE_OOO( STYLE, 2U )
+XML_NAMESPACE_OOO( NUMBER, 3U )
+XML_NAMESPACE_OOO( TEXT, 4U )
+XML_NAMESPACE_OOO( TABLE, 5U )
+XML_NAMESPACE_OOO( DRAW, 6U )
+XML_NAMESPACE_OOO( DR3D, 7U )
+XML_NAMESPACE_OOO( PRESENTATION, 8U )
+XML_NAMESPACE_OOO( CHART, 9U )
+XML_NAMESPACE_OOO( CONFIG, 10U )
+XML_NAMESPACE_OOO( FORM, 11U )
+XML_NAMESPACE_OOO( SCRIPT, 12U )
+
+#define XML_NAMESPACE_COMPAT_BASE 57U
+#define XML_NAMESPACE_COMPAT( prefix, index ) \
+const sal_uInt16 XML_NAMESPACE_##prefix##_COMPAT = (XML_NAMESPACE_COMPAT_BASE+index); \
+const sal_uInt16 XML_NAMESPACE_##prefix##_COMPAT_IDX = (XML_NAMESPACE_COMPAT_BASE+index);
+
+XML_NAMESPACE_COMPAT( SVG, 0U )
+XML_NAMESPACE_COMPAT( FO, 1U )
+XML_NAMESPACE_COMPAT( SMIL, 2U )
+
+#define XML_NAMESPACE_OASIS_BASE 60U
+#define XML_NAMESPACE_OASIS( prefix, index ) \
+const sal_uInt16 XML_NAMESPACE_##prefix##_OASIS = (XML_NAMESPACE_OASIS_BASE+index); \
+const sal_uInt16 XML_NAMESPACE_##prefix##_OASIS_IDX = (XML_NAMESPACE_OASIS_BASE+index);
+
+XML_NAMESPACE_OASIS( DB, 0U )
+XML_NAMESPACE_OASIS( REPORT, 1U )
+
+#define XML_OLD_NAMESPACE_BASE 62U
// namespaces used in the technical preview (SO 5.2)
-XML_OLD_NAMESPACE( FO, 0U )
-XML_OLD_NAMESPACE( XLINK, 1U )
-XML_OLD_NAMESPACE( OFFICE, 2U )
-XML_OLD_NAMESPACE( STYLE, 3U )
-XML_OLD_NAMESPACE( TEXT, 4U )
-XML_OLD_NAMESPACE( TABLE, 5U )
-XML_OLD_NAMESPACE( META, 6U )
+XML_OLD_NAMESPACE( FO, 0U )
+XML_OLD_NAMESPACE( XLINK, 1U )
+XML_OLD_NAMESPACE( OFFICE, 2U )
+XML_OLD_NAMESPACE( STYLE, 3U )
+XML_OLD_NAMESPACE( TEXT, 4U )
+XML_OLD_NAMESPACE( TABLE, 5U )
+XML_OLD_NAMESPACE( META, 6U )
+XML_OLD_NAMESPACE( DRAW, 7U )
+XML_OLD_NAMESPACE( NUMBER, 8U )
+XML_OLD_NAMESPACE( PRESENTATION, 9U )
+XML_OLD_NAMESPACE( CHART, 10U )
+XML_OLD_NAMESPACE( SMIL, 11U )
// experimental namespaces
XML_NAMESPACE( FIELD, 100U )