Loading TOC...

op.xmlElement

op.xmlElement(
   $name as String,
   [$attributeValue as attributeNode],
   [$childContent as String]
) as elementNode

Summary

This function constructs an XML element with the name (which can be a string or QName), zero or more attributes, and child content. The child content can include a sequence or array of atomic values or an element, comment, or processing instruction nodes. Atomic values are converted to text nodes.

Parameters
$name The string or QName for the constructed element.
$attributeValue Any element attributes returned from op.xmlAttribute, or null if no attributes.
$childContent A sequence or array of atomic values or an element, a comment from op.xmlComment, or processing instruction nodes from op.xmlPI.

Example

const op = require('/MarkLogic/optic');

const literals = op.fromLiterals([
            {row:1, gp: 1, nm:"alpha", str:"a", num:10, bool:true},
            {row:2, gp: 1, nm:"beta", str:"b", num:20, bool:false},
            {row:3, gp: 2, nm:"gamma", str:"c", num:30, bool:true},
            {row:4, gp: 2, nm:"delta", str:"d", num:40, bool:false}
	          ])
literals.where(op.eq(op.col('gp'), 1))
        .select(['row',
                 op.as('node',
                       op.xmlDocument(
                          op.xmlElement(op.col('nm'),
                                        null,
                                        op.xmlElement(op.col('str'),
                                        null,
                                        op.xmlText(op.col('bool')))
	                       )
	                )),
                 op.as('kind', op.xdmp.nodeKind(op.col('node')))
               ])
        .orderBy('row')
        .result();
  

Stack Overflow iconStack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.