diff --git a/src/backend/utils/adt/xml.c b/src/backend/utils/adt/xml.c index 44d327d7606df620c01b6e6532e53a9ee7a21f23..a9150e856921c33496a036a9fa8a0c622f47178d 100644 --- a/src/backend/utils/adt/xml.c +++ b/src/backend/utils/adt/xml.c @@ -2383,7 +2383,7 @@ xmldata_root_element_start(StringInfo result, const char *eltname, else appendStringInfo(result, " xsi:noNamespaceSchemaLocation=\"#\""); } - appendStringInfo(result, ">\n\n"); + appendStringInfo(result, ">\n"); } @@ -2417,8 +2417,11 @@ query_to_xml_internal(const char *query, char *tablename, errmsg("invalid query"))); if (!tableforest) + { xmldata_root_element_start(result, xmltn, xmlschema, targetns, top_level); + appendStringInfoString(result, "\n"); + } if (xmlschema) appendStringInfo(result, "%s\n\n", xmlschema); @@ -2581,6 +2584,7 @@ schema_to_xml_internal(Oid nspid, const char *xmlschema, bool nulls, result = makeStringInfo(); xmldata_root_element_start(result, xmlsn, xmlschema, targetns, top_level); + appendStringInfoString(result, "\n"); if (xmlschema) appendStringInfo(result, "%s\n\n", xmlschema); @@ -2758,6 +2762,7 @@ database_to_xml_internal(const char *xmlschema, bool nulls, result = makeStringInfo(); xmldata_root_element_start(result, xmlcn, xmlschema, targetns, true); + appendStringInfoString(result, "\n"); if (xmlschema) appendStringInfo(result, "%s\n\n", xmlschema); diff --git a/src/test/regress/expected/xmlmap.out b/src/test/regress/expected/xmlmap.out index cf46c9ffb58291d63074d75acd53b40872ccb00f..d54410b2310968127143840e5445b39e7e4a8a2a 100644 --- a/src/test/regress/expected/xmlmap.out +++ b/src/test/regress/expected/xmlmap.out @@ -56,19 +56,16 @@ SELECT table_to_xml('testxmlschema.test1', false, true, ''); table_to_xml --------------------------------------------------------------- <test1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+ - + <a>1</a> + <b>one</b> + </test1> + + <test1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+ - + <a>2</a> + <b>two</b> + </test1> + + <test1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+ - + <a>-1</a> + </test1> + + @@ -79,19 +76,16 @@ SELECT table_to_xml('testxmlschema.test1', true, true, ''); table_to_xml --------------------------------------------------------------- <test1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+ - + <a>1</a> + <b>one</b> + </test1> + + <test1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+ - + <a>2</a> + <b>two</b> + </test1> + + <test1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+ - + <a>-1</a> + <b xsi:nil="true"/> + </test1> + @@ -510,19 +504,16 @@ SELECT table_to_xml_and_xmlschema('testxmlschema.test1', false, true, ''); </xsd:schema> + + <test1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + - + <a>1</a> + <b>one</b> + </test1> + + <test1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + - + <a>2</a> + <b>two</b> + </test1> + + <test1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + - + <a>-1</a> + </test1> + + @@ -561,19 +552,16 @@ SELECT table_to_xml_and_xmlschema('testxmlschema.test1', true, true, 'foo'); </xsd:schema> + + <test1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="foo"> + - + <a>1</a> + <b>one</b> + </test1> + + <test1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="foo"> + - + <a>2</a> + <b>two</b> + </test1> + + <test1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="foo"> + - + <a>-1</a> + <b xsi:nil="true"/> + </test1> + @@ -670,19 +658,16 @@ SELECT query_to_xml_and_xmlschema('SELECT * FROM testxmlschema.test1', true, tru </xsd:schema> + + <row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + - + <a>1</a> + <b>one</b> + </row> + + <row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + - + <a>2</a> + <b>two</b> + </row> + + <row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + - + <a>-1</a> + <b xsi:nil="true"/> + </row> + @@ -695,18 +680,15 @@ SELECT cursor_to_xml('xc'::refcursor, 5, false, true, ''); cursor_to_xml ------------------------------------------------------------- <row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+ - + <a>-1</a> + </row> + + <row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+ - + <a>1</a> + <b>one</b> + </row> + + <row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+ - + <a>2</a> + <b>two</b> + </row> + @@ -773,25 +755,21 @@ SELECT schema_to_xml('testxmlschema', false, true, ''); <testxmlschema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">+ + <test1> + - + <a>1</a> + <b>one</b> + </test1> + + <test1> + - + <a>2</a> + <b>two</b> + </test1> + + <test1> + - + <a>-1</a> + </test1> + + + <test2> + - + <z>55</z> + <y>abc</y> + <x>def </x> + @@ -1159,26 +1137,22 @@ SELECT schema_to_xml_and_xmlschema('testxmlschema', true, true, 'foo'); </xsd:schema> + + <test1> + - + <a>1</a> + <b>one</b> + </test1> + + <test1> + - + <a>2</a> + <b>two</b> + </test1> + + <test1> + - + <a>-1</a> + <b xsi:nil="true"/> + </test1> + + + <test2> + - + <z>55</z> + <y>abc</y> + <x>def </x> +