include/tools/XPath.hxx | 8 ++++++++
1 file changed, 8 insertions(+)
New commits:
commit 7574900ff244b17c9ef47c9178d86e4b94ce273a
Author: Tomaž Vajngerl <[email protected]>
AuthorDate: Mon Dec 22 18:38:01 2025 +0900
Commit: Tomaž Vajngerl <[email protected]>
CommitDate: Tue Dec 23 05:10:14 2025 +0100
tools: document XPath classes
Change-Id: I1a06c04e5339fa379bd2a6933f88e430c6cc89f8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196079
Reviewed-by: Tomaž Vajngerl <[email protected]>
Tested-by: Jenkins
diff --git a/include/tools/XPath.hxx b/include/tools/XPath.hxx
index 28b7d30ba1ef..398c8d3f1f80 100644
--- a/include/tools/XPath.hxx
+++ b/include/tools/XPath.hxx
@@ -23,6 +23,7 @@
namespace tools
{
+/** Represents an XML element and allows getting attributes, content, child
elements. */
class TOOLS_DLLPUBLIC XmlElement final
{
xmlNodePtr mpXmlNode;
@@ -39,6 +40,12 @@ public:
std::unique_ptr<XmlElement> at(sal_Int32 nIndex);
};
+/** XPath object is a result of XPath evaluation.
+ *
+ * It contains the path string and allows to check the attributes,
+ * content of the result element (if there is only one) or iterates
+ * the resulting elements.
+ */
class TOOLS_DLLPUBLIC XPathObject final
{
xmlXPathObjectPtr mpXPathObject;
@@ -54,6 +61,7 @@ public:
std::unique_ptr<XmlElement> at(sal_Int32 nIndex);
};
+/** Object that allows to evaluate XPath strings on a XML document. */
class TOOLS_DLLPUBLIC XPath final
{
xmlDocPtr mpXmlDocPtr;