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.