XML Actions
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 |
Example
# Parse the XML so we can retrieve the desired data parsedXML = parseXML(individualrecord['data'])
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 |
Example
# Remove all erroneous XML Name Spaces individualRecord['data']= stripXMLNamespaces(individualRecord['data'])
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 |
Example
data = toXML(record)
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 |
Example
requestID = xpath("ec2:requestID", data, varNamespaces)
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 |
Example
# --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)
<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>