summaryrefslogtreecommitdiff
path: root/sax
diff options
context:
space:
mode:
authordante <dante19031999@gmail.com>2020-12-19 18:39:54 +0100
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-12-26 08:21:58 +0100
commit9f6dfd50cb03b6511d4f711d284e1b75783d0b8b (patch)
treed40480227b9b07f574aa11ef26b53707f4bd6cb5 /sax
parent86707f3595c282f80b5e09558a23b539446daca2 (diff)
Improve handle of custom XML entities
Since 7.1 hasn't been released yet there's still time to change it before having to be scared about backguards compatibility. This way: - It is more efficient than passing two arguments - On definition it is simpler since both are declarated on same point. So it is simpler to not loose sync between lists. - Code is less long. - Thanks to an idea proposed by Stephan Bergmann on other commit. Change-Id: I16305a304c98eb8d4e11507c7938002da546778b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108028 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sax')
-rw-r--r--sax/source/fastparser/fastparser.cxx23
1 files changed, 11 insertions, 12 deletions
diff --git a/sax/source/fastparser/fastparser.cxx b/sax/source/fastparser/fastparser.cxx
index 85726599b41c..9d13d25ce385 100644
--- a/sax/source/fastparser/fastparser.cxx
+++ b/sax/source/fastparser/fastparser.cxx
@@ -250,7 +250,8 @@ public:
/// @throws css::uno::RuntimeException
void setNamespaceHandler( const css::uno::Reference< css::xml::sax::XFastNamespaceHandler >& Handler);
// Fake DTD file
- void setCustomEntityNames( const ::css::uno::Sequence< ::rtl::OUString >& names, const ::css::uno::Sequence< ::rtl::OUString >& replacements );
+ void setCustomEntityNames(
+ const ::css::uno::Sequence<::css::beans::Pair<::rtl::OUString, ::rtl::OUString>>& replacements);
// called by the C callbacks of the expat parser
void callbackStartElement( const xmlChar *localName , const xmlChar* prefix, const xmlChar* URI,
@@ -952,16 +953,15 @@ void FastSaxParserImpl::setNamespaceHandler( const Reference< XFastNamespaceHand
}
void FastSaxParserImpl::setCustomEntityNames(
- const ::css::uno::Sequence<::rtl::OUString>& names,
- const ::css::uno::Sequence<::rtl::OUString>& replacements)
+ const ::css::uno::Sequence<::css::beans::Pair<::rtl::OUString, ::rtl::OUString>>& replacements)
{
- m_Replacements.resize(names.size());
- for (size_t i = 0; i < names.size(); ++i)
+ m_Replacements.resize(replacements.size());
+ for (size_t i = 0; i < replacements.size(); ++i)
{
- m_Replacements[i].name = names[i];
- m_Replacements[i].replacement = replacements[i];
+ m_Replacements[i].name = replacements[i].First;
+ m_Replacements[i].replacement = replacements[i].Second;
}
- if (names.size() > 1)
+ if (m_Replacements.size() > 1)
std::sort(m_Replacements.begin(), m_Replacements.end());
}
@@ -1521,11 +1521,10 @@ OUString FastSaxParser::getImplementationName()
return "com.sun.star.comp.extensions.xml.sax.FastParser";
}
-void FastSaxParser::setCustomEntityNames(const ::css::uno::Sequence<::rtl::OUString>& names,
- const ::css::uno::Sequence<::rtl::OUString>& replacements)
+void FastSaxParser::setCustomEntityNames(
+ const ::css::uno::Sequence<::css::beans::Pair<::rtl::OUString, ::rtl::OUString>>& replacements)
{
- assert(names.size() == replacements.size());
- mpImpl->setCustomEntityNames(names, replacements);
+ mpImpl->setCustomEntityNames(replacements);
}
sal_Bool FastSaxParser::supportsService( const OUString& ServiceName )