The XMLATTRIBUTES function constructs XML attributes from
the arguments.

.-,--------------------------------------------------.
V |
>>-XMLATTRIBUTES--(----attribute-value-expression -+--------------------+-+--)-><
'-AS--attribute-name-'
This function can only be used as an argument of the XMLELEMENT
function. The result is an XML sequence containing XML attributes
for each non-null attribute-value-expression argument.
- attribute-value-expression
- An expression whose result is the attribute value. The data type
of attribute-value-expression must not be ROWID, DATALINK,
XML or a distinct type that is based on ROWID, DATALINK, or XML. The
expression can be any SQL expression. If the expression is not a simple
column reference, an attribute name must be specified.
- attribute-name
- Specifies an attribute name. The name is an SQL identifier that
must be in the form of an XML qualified name, or QName. See the W3C
XML namespace specifications for more details on valid names. The
attribute name cannot be "xmlns" or prefixed with "xmlns:". A namespace
is declared using the function XMLNAMESPACES. Duplicate attribute
names, whether implicit or explicit, are not allowed.
- If attribute-name is not specified, attribute-value-expression must
be a column name. The attribute name is created from the column name
using the fully escaped mapping from a column name to an XML attribute
name.
The result of the function is XML. If the result of any attribute-value-expression can
be null, the result can be null; if the result of every attribute-value-expression is
null, the result is the null value.
Example
Note: XMLATTRIBUTES does not insert
blank spaces or new line characters in the output. All example output
has been formatted to enhance readability.
- Produce an element with attributes.
SELECT E.EMPNO, XMLELEMENT(
NAME "Emp",
XMLATTRIBUTES(
E.EMPNO, E.FIRSTNME ||' '|| E.LASTNAME AS "name"
)
)
AS "Result"
FROM EMPLOYEE E
WHERE E.EDLEVEL = 12
This query
produces the following result:EMPNO Result
000290 <Emp EMPNO="000290" name="JOHN PARKER"></Emp>
000310 <Emp EMPNO="000310" name="MAUDE SETRIGHT"></Emp>
200310 <Emp EMPNO="200310" name="MICHELLE SPRINGER"></Emp>