include/tools/XmlWalker.hxx | 2 ++ tools/qa/cppunit/test_xmlwalker.cxx | 5 +++++ tools/qa/data/test.xml | 2 ++ tools/source/xml/XmlWalker.cxx | 10 ++++++++++ 4 files changed, 19 insertions(+)
New commits: commit cd65d6c06760caf0109664d2a320cfb29d634ab2 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Sun Jan 17 00:08:08 2021 +0900 Commit: Tomaž Vajngerl <qui...@gmail.com> CommitDate: Sun Jan 17 01:07:29 2021 +0100 tools: support reading xml namespace with XmlWalker Adds methods namespaceHref and namespacePrefix for reading the current element's namespace prefix and the href. Change-Id: I1c16857c6fc0bdfde2d983d8f42f153111119029 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109442 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <qui...@gmail.com> diff --git a/include/tools/XmlWalker.hxx b/include/tools/XmlWalker.hxx index 204d71b5f48c..65beb4531003 100644 --- a/include/tools/XmlWalker.hxx +++ b/include/tools/XmlWalker.hxx @@ -41,6 +41,8 @@ public: bool open(SvStream* pStream); OString name(); + OString namespaceHref(); + OString namespacePrefix(); OString content(); void children(); diff --git a/tools/qa/cppunit/test_xmlwalker.cxx b/tools/qa/cppunit/test_xmlwalker.cxx index 9f442c73c347..ec0a695b62d1 100644 --- a/tools/qa/cppunit/test_xmlwalker.cxx +++ b/tools/qa/cppunit/test_xmlwalker.cxx @@ -74,6 +74,11 @@ void XmlWalkerTest::testReadXML() } aWalker.parent(); } + else if (aWalker.name() == "with-namespace") + { + CPPUNIT_ASSERT_EQUAL(OString("adobe:ns:meta/"), aWalker.namespaceHref()); + CPPUNIT_ASSERT_EQUAL(OString("xx"), aWalker.namespacePrefix()); + } aWalker.next(); } aWalker.parent(); diff --git a/tools/qa/data/test.xml b/tools/qa/data/test.xml index 7a0473d7f8f9..c2736e8bb6ac 100644 --- a/tools/qa/data/test.xml +++ b/tools/qa/data/test.xml @@ -8,4 +8,6 @@ </child> <child number="3"> </child> + <xx:with-namespace xmlns:xx="adobe:ns:meta/"> + </xx:with-namespace> </root> diff --git a/tools/source/xml/XmlWalker.cxx b/tools/source/xml/XmlWalker.cxx index 219bf10c8bb5..34a3d8746f6b 100644 --- a/tools/source/xml/XmlWalker.cxx +++ b/tools/source/xml/XmlWalker.cxx @@ -61,6 +61,16 @@ bool XmlWalker::open(SvStream* pStream) OString XmlWalker::name() { return reinterpret_cast<const char*>(mpImpl->mpCurrent->name); } +OString XmlWalker::namespaceHref() +{ + return reinterpret_cast<const char*>(mpImpl->mpCurrent->ns->href); +} + +OString XmlWalker::namespacePrefix() +{ + return reinterpret_cast<const char*>(mpImpl->mpCurrent->ns->prefix); +} + OString XmlWalker::content() { OString aContent; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits