13#include <libxml/tree.h>
14#include <libxml/parser.h>
15#include <libxml/xmlstring.h>
44 xmlFreeDoc(
mpImpl->mpDocPtr);
50 std::vector<sal_uInt8>
aBuffer(nSize + 1);
53 mpImpl->mpDocPtr = xmlParseDoc(
reinterpret_cast<xmlChar*
>(
aBuffer.data()));
54 if (
mpImpl->mpDocPtr ==
nullptr)
66 return reinterpret_cast<const char*
>(
mpImpl->mpCurrent->ns->href);
71 return reinterpret_cast<const char*
>(
mpImpl->mpCurrent->ns->prefix);
77 if (
mpImpl->mpCurrent->xmlChildrenNode !=
nullptr)
80 = xmlNodeListGetString(
mpImpl->mpDocPtr,
mpImpl->mpCurrent->xmlChildrenNode, 1);
81 aContent = OString(
reinterpret_cast<const char*
>(pContent));
96 mpImpl->mpStack.pop_back();
101 xmlChar* xmlAttribute
102 = xmlGetProp(
mpImpl->mpCurrent,
reinterpret_cast<const xmlChar*
>(
sName.getStr()));
103 OString aAttributeContent(
104 xmlAttribute ==
nullptr ?
"" :
reinterpret_cast<const char*
>(xmlAttribute));
105 xmlFree(xmlAttribute);
107 return aAttributeContent;
std::size_t ReadBytes(void *pData, std::size_t nSize)
sal_uInt64 remainingSize()
std::unique_ptr< char[]> aBuffer