1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-10-21 14:53:44 +03:00

parser: Introduce per-context resource loader

This commit is contained in:
Nick Wellnhofer
2024-06-11 03:51:43 +02:00
parent b9d2f3c911
commit 64ad272525
4 changed files with 67 additions and 8 deletions

View File

@@ -159,6 +159,10 @@ typedef struct _xmlStartTag xmlStartTag;
typedef struct _xmlParserNsData xmlParserNsData;
typedef struct _xmlAttrHashBucket xmlAttrHashBucket;
typedef int
(*xmlResourceLoader)(void *ctxt, const char *url, const char *publicId,
int type, int flags, xmlParserInputPtr *out);
/**
* xmlParserCtxt:
*
@@ -312,6 +316,9 @@ struct _xmlParserCtxt {
xmlStructuredErrorFunc errorHandler;
void *errorCtxt;
xmlResourceLoader resourceLoader;
void *resourceCtxt;
};
/**
@@ -1197,6 +1204,10 @@ XMLPUBFUN void
xmlSetExternalEntityLoader(xmlExternalEntityLoader f);
XMLPUBFUN xmlExternalEntityLoader
xmlGetExternalEntityLoader(void);
XMLPUBFUN void
xmlCtxtSetResourceLoader(xmlParserCtxtPtr ctxt,
xmlResourceLoader loader,
void *vctxt);
XMLPUBFUN xmlParserInputPtr
xmlLoadExternalEntity (const char *URL,
const char *ID,