op.xmlElement( name as String, [attributeValue as attributeNode], [childContent as String] ) as elementNode
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. |
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();