XML Actions
  • 03 Jun 2022
  • 1 Minute to read
  • Dark
    Light

XML Actions

  • Dark
    Light

Article summary

XML Actions

parseXML

Parse serialized XML.

Property

Value

Description

xmlString*

text, expression, variable

a String, InputStream, or Reader containing serialized XML

returnVariable

expression, variable

name of the variable to be assigned to the return value

# Parse the XML so we can retrieve the desired data
parsedXML = parseXML(individualrecord['data'])

stripXMLNamespaces

Returns a copy of the XML with the namespaces removed.

Property

Value

Description

xml*

expression, variable

the input XML

returnVariable

expression, variable

name of the variable to be assigned to the return value

# Remove all erroneous XML Name Spaces
individualRecord['data']= stripXMLNamespaces(individualRecord['data'])

toXML

Convert Objects, Records, Arrays, etc. to XML.

Property

Value

Description

object*

expression, variable

the Object, Record, Arrays, etc to convert

returnVariable

expression, variable

name of the variable to be assigned to the return value

data = toXML(record)

xpath

Evaluate an XPath 1.0 expression against XML and return an XMLList containing the results.

Property

Value

Description

expression*

text, expression, variable

the XPath 1.0 expression

xml*

expression, variable

the XML

namespaces

expression, variable

an Object or Record that maps namespace prefixes to URIs

returnVariable

expression, variable

name of the variable to be assigned to the return value

requestID = xpath("ec2:requestID", data, varNamespaces)

xslt

Transform XML using XSLT 1.0.

Property

Value

Description

stylesheet*

text, expression, variable

Path the the XSLT stylesheet

xml*

expression, variable

the input XML

parameters

expression, variable

an Object or Record containing named stylesheet parameters

returnVariable

expression, variable

name of the variable to be assigned to the return value

# --Sample Action Set Showing Output of DSML 1.0 (XSLT Version)--
#
# map the dsml namespace
dsml = new Namespace("http://www.dsml.org/DSML")
# get records from DT file
input = openDelimitedTextInput("demodata/sample.csv",
"LastName,FirstName,Title,Email,Work,Fax,Mobile,Description")
# convert to generic XML
inputXML = toXML(input)
log(inputXML)
# convert generic XML to DSML using stylesheet
varDSML = xslt("demodata/dsmloutput.xsl", inputXML)
log(varDSML)
saveToFile("/tmp/output.dsml", varDSML)
close(input)

demodata/dsmloutput.xsl

<dsml xmlns="http://www.dsml.org/DSML" xsl:version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<directory-entries>
<xsl:for-each select="//record">
<entry dn="{field[@name='@dn']/value}">
<xsl:if test="field[@name='objectClass' or
@name='objectclass']">
<objectclass>
<xsl:for-each select="field[@name='objectClass' or
@name='objectclass']/value">
<oc-value>
<xsl:value-of select="."/>
</oc-value>
</xsl:for-each>
</objectclass>
</xsl:if>
<xsl:for-each select="field[not(@name='objectClass' or
@name='objectclass' or @name='@dn')]">
<attr name="@name">
<xsl:for-each select="value">
<value>
<xsl:value-of select="."/>
</value>
</xsl:for-each>
</attr>
</xsl:for-each>
</entry>
</xsl:for-each>
</directory-entries>
</dsml>

Was this article helpful?

ESC

Eddy AI, facilitating knowledge discovery through conversational intelligence