diff options
author | Mohammed Abdul Azeem <azeemmysore@gmail.com> | 2017-06-12 22:56:10 +0530 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2017-06-13 12:30:16 +0200 |
commit | ffc2e936c6a9f3fd597b64b88785edb0f78d7564 (patch) | |
tree | fbd899f1ecf4fb78605c3efba71d30b892ee9dde /include/xmloff | |
parent | 3ab67326292f8b756bd4bf698ca20aec4f6e5755 (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.hxx | 14 | ||||
-rw-r--r-- | include/xmloff/xmlnmspe.hxx | 81 |
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 ) |