<!--
 -  
 -  This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
 -  project.
 -  
 -  Copyright (C) 1998-2018 OpenLink Software
 -  
 -  This project is free software; you can redistribute it and/or modify it
 -  under the terms of the GNU General Public License as published by the
 -  Free Software Foundation; only version 2 of the License, dated June 1991.
 -  
 -  This program is distributed in the hope that it will be useful, but
 -  WITHOUT ANY WARRANTY; without even the implied warranty of
 -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 -  General Public License for more details.
 -  
 -  You should have received a copy of the GNU General Public License along
 -  with this program; if not, write to the Free Software Foundation, Inc.,
 -  51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 -  
 -  
-->
<?xml version="1.0" encoding="ISO-8859-1"?>
<refentry id="SX-G-1">
  <refmeta>
    <refentrytitle>XML from Data Base Examples</refentrytitle>
    <refmiscinfo>tutorial</refmiscinfo>
  </refmeta>
  <refnamediv>
    <refname>Making a Forest of XML elements by XMLCONCAT() function</refname>
    <refpurpose>XMLCONCAT() function</refpurpose>
  </refnamediv>

<refsect1 id="SX-G-1a">
<title>XMLCONCAT() function Overview</title>
<para>
XMLCONCAT() accepts a list of XML value expressions as its arguments, and produces a forest of elements by 
   concatenating the XML values that are returned from the same row to make one value. 
   <function>XMLCONCAT</function> works like <function>XMLFOREST</function>,
   except that <function>XMLCONCAT</function> parameters is a list of XML elements. 
    Null expressions are dropped from the result. If all the value expressions are null, then the function returns null.</para>
</refsect1>

<refsect1 id="SX-G-1b">
<title>Example 1</title>
<para> This example produces a forest from the &apos;FName&apos;, &apos;LName&apos; and &apos;Region&apos; (if a column value is not NULL)
  elements for each employee: 
</para>
<programlisting>
select XMLCONCAT (
  XMLELEMENT (&apos;FName&apos;, "FirstName"), XMLELEMENT (&apos;LName&apos;, "LastName"), 
  XMLELEMENT (&apos;Region&apos;, "Region") )
from "Demo"."demo"."Employees"; 
</programlisting>
</refsect1>

</refentry>
