5.5.1

Table Of Contents
n
Workflow Scripting Examples on page 136
Workflow scripted elements, actions, and policies require scripting examples of common workflow
tasks. You can cut, paste, and adapt these examples into your scripted elements.
Basic Scripting Examples
Workflow scripted elements, actions, and policies require basic scripting of common tasks. You can cut,
paste, and adapt these examples into your scripted elements.
Access XML Documents
The following JavaScript example allows you to access XML documents from JavaScript by using the
ECMAScript for XML (E4X) implementation in the Orchestrator JavaScript API.
NOTE In addition to implementing E4X in the JavaScript API, Orchestrator also provides a Document
Object Model (DOM) XML implementation in the XML plug-in. For information about the XML plug-in and
its sample workflows, see the Using vCenter Orchestrator Plug-Ins.
var people = <people>
<person id="1">
<name>Moe</name>
</person>
<person id="2">
<name>Larry</name>
</person>
</people>;
System.log("'people' = " + people);
// built-in XML type
System.log("'people' is of type : " + typeof(people));
// list-like interface System.log("which contains a list of " +
people.person.length() + " persons");
System.log("whose first element is : " + people.person[0]);
// attribute 'id' is mapped to field '@id'
people.person[0].@id='47';
// change Moe's id to 47
// also supports search by constraints
System.log("Moe's id is now : " + people.person.(name=='Moe').@id);
// suppress Moe from the list
delete people.person[0];
System.log("Moe is now removed.");
// new (sub-)document can be built from a string
people.person[1] = new XML("<person id=\"3\"><name>James</name></person>");
System.log("Added James to the list, which is now :");
for each(var person in people..person)
for each(var person in people..person){
System.log("- " + person.name + " (id=" + person.@id + ")");
}
Developing with VMware vCenter Orchestrator
132 VMware, Inc.