mirror of
https://github.com/postgres/postgres.git
synced 2025-07-07 00:36:50 +03:00
Support [NO] INDENT option in XMLSERIALIZE().
This adds the ability to pretty-print XML documents ... according to libxml's somewhat idiosyncratic notions of what's pretty, anyway. One notable divergence from a strict reading of the spec is that libxml is willing to collapse empty nodes "<node></node>" to just "<node/>", whereas SQL and the underlying XML spec say that this option should only result in whitespace tweaks. Nonetheless, it seems close enough to justify using the SQL-standard syntax. Jim Jones, reviewed by Peter Smith and myself Discussion: https://postgr.es/m/2f5df461-dad8-6d7d-4568-08e10608a69b@uni-muenster.de
This commit is contained in:
@ -3837,8 +3837,10 @@ ExecEvalXmlExpr(ExprState *state, ExprEvalStep *op)
|
||||
return;
|
||||
value = argvalue[0];
|
||||
|
||||
*op->resvalue = PointerGetDatum(xmltotext_with_xmloption(DatumGetXmlP(value),
|
||||
xexpr->xmloption));
|
||||
*op->resvalue =
|
||||
PointerGetDatum(xmltotext_with_options(DatumGetXmlP(value),
|
||||
xexpr->xmloption,
|
||||
xexpr->indent));
|
||||
*op->resnull = false;
|
||||
}
|
||||
break;
|
||||
|
Reference in New Issue
Block a user