aboutsummaryrefslogtreecommitdiff
path: root/contrib/xml2/xpath.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/xml2/xpath.c')
-rw-r--r--contrib/xml2/xpath.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/contrib/xml2/xpath.c b/contrib/xml2/xpath.c
index f44caf00200..e297ee08b37 100644
--- a/contrib/xml2/xpath.c
+++ b/contrib/xml2/xpath.c
@@ -74,8 +74,6 @@ pgxml_parser_init(PgXmlStrictness strictness)
/* Initialize libxml */
xmlInitParser();
- xmlSubstituteEntitiesDefault(1);
-
return xmlerrcxt;
}
@@ -104,7 +102,8 @@ xml_is_well_formed(PG_FUNCTION_ARGS)
PG_TRY();
{
- doctree = xmlParseMemory((char *) VARDATA_ANY(t), docsize);
+ doctree = xmlReadMemory((char *) VARDATA_ANY(t), docsize,
+ NULL, NULL, XML_PARSE_NOENT);
result = (doctree != NULL);
@@ -424,8 +423,9 @@ pgxml_xpath(text *document, xmlChar *xpath, xpath_workspace *workspace)
PG_TRY();
{
- workspace->doctree = xmlParseMemory((char *) VARDATA_ANY(document),
- docsize);
+ workspace->doctree = xmlReadMemory((char *) VARDATA_ANY(document),
+ docsize, NULL, NULL,
+ XML_PARSE_NOENT);
if (workspace->doctree != NULL)
{
workspace->ctxt = xmlXPathNewContext(workspace->doctree);
@@ -718,7 +718,9 @@ xpath_table(PG_FUNCTION_ARGS)
/* Parse the document */
if (xmldoc)
- doctree = xmlParseMemory(xmldoc, strlen(xmldoc));
+ doctree = xmlReadMemory(xmldoc, strlen(xmldoc),
+ NULL, NULL,
+ XML_PARSE_NOENT);
else /* treat NULL as not well-formed */
doctree = NULL;