19#include <libxml/xpath.h>
20#include <libxml/tree.h>
21#include <libxml/xmlmemory.h>
25#include <libxslt/xslt.h>
26#include <libxslt/xsltInternals.h>
27#include <libxslt/security.h>
28#include <libxslt/transform.h>
29#include <libxslt/xsltutils.h>
64 if (fcinfo->nargs == 3)
92 "error parsing XML document");
101 "error parsing stylesheet as XML document");
108 "failed to parse stylesheet");
136 (
errmsg(
"could not set libxslt security preferences")));
143 "failed to apply stylesheet");
194 errmsg(
"xslt_process() is not available without libxslt")));
225 params = (
const char **)
repalloc(params,
228 params[nparams++] = pos;
243 params[nparams++] = pos;
255 params[nparams] =
NULL;
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
#define palloc_object(type)
#define PG_GETARG_TEXT_PP(n)
#define PG_FUNCTION_INFO_V1(funcname)
#define PG_RETURN_TEXT_P(x)
void * repalloc(void *pointer, Size size)
static Size VARSIZE_ANY_EXHDR(const void *PTR)
static char * VARDATA_ANY(const void *PTR)
text * cstring_to_text_with_len(const char *s, int len)
char * text_to_cstring(const text *t)
struct PgXmlErrorContext PgXmlErrorContext
void xml_ereport(PgXmlErrorContext *errcxt, int level, int sqlcode, const char *msg)
bool pg_xml_error_occurred(PgXmlErrorContext *errcxt)
void pg_xml_done(PgXmlErrorContext *errcxt, bool isError)
@ PG_XML_STRICTNESS_LEGACY
PgXmlErrorContext * pgxml_parser_init(PgXmlStrictness strictness)
Datum xslt_process(PG_FUNCTION_ARGS)