Adobe 0046100128056 Scripting Guide - Page 193
XML, method, as shown in the following script from
UPC - 718659087562
View all Adobe 0046100128056 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 193 highlights
CHAPTER 13: XML Rules XML Rules Examples 193 main(); function main(){ if (app.documents.length != 0){ var myDocument = app.documents.item(0); var myRuleSet = new Array (new AddAttribute); with(myDocument){ var elements = xmlElements; __processRuleSet(elements.item(0), myRuleSet); } } else{ alert("No open document"); } function AddAttribute(){ this.name = "AddAttribute"; this.xpath = "/devices/device/part_number"; this.apply = function(myElement, myRuleProcessor){ myElement.parent.xmlAttributes.add("part_number", myElement.texts.item(0).contents); return true; } } } In the previous XML rule, we copied the data from an XML element into an XML attribute attached to its parent XML element. Instead, what if we want to move the XML element data into an attribute and remove the XML element itself? Use the convertToAttribute method, as shown in the following script (from the ConvertToAttribute tutorial script): main(); function main(){ if (app.documents.length != 0){ var myDocument = app.documents.item(0); var myRuleSet = new Array (new ConvertToAttribute); with(myDocument){ var elements = xmlElements; __processRuleSet(elements.item(0), myRuleSet); } } else{ alert("No open document"); } //Converts all part_number XML elements to XML attributes. function ConvertToAttribute(){ this.name = "ConvertToAttribute"; this.xpath = "/devices/device/part_number"; // Define the apply function. this.apply = function(myElement, myRuleProcessor){ //Use __skipChildren to prevent the XML rule processor from becoming //invalid when we convert the XML element to an attribute. __skipChildren(myRuleProcessor); //Converts the XML element to an XML attribute of its parent XML element. myElement.convertToAttribute("PartNumber"); return true; } } } To move data from an XML attribute to an XML element, use the convertToElement method, as described in Chapter 12, "XML."