Adobe 0046100128056 Scripting Guide - Page 192

XML rules and XML attributes

Page 192 highlights

CHAPTER 13: XML Rules XML Rules Examples 192 #include "glue code.jsx" main(); function main(){ if (app.documents.length != 0){ var myDocument = app.documents.item(0); //This rule set contains a single rule. var myRuleSet = new Array (new DuplicateElement); with(myDocument){ var elements = xmlElements; __processRuleSet(elements.item(0), myRuleSet); } } else{ alert("No open document"); } //Duplicates the part number element in each XML element. function DuplicateElement(){ this.name = "DuplicateElement"; this.xpath = "/devices/device/part_number"; this.apply = function(myElement, myRuleProcessor){ //Duplicates the part_number XML element. __skipChildren(myRuleProcessor); myElement.duplicate(); return true; } } } XML rules and XML attributes The following XML rule adds attributes to XML elements based on the content of their "name" element. When you need to find an element by its text contents, copying or moving XML element contents to XML attributes attached to their parent XML element can be very useful in XML-rule scripting. While the subset of XPath supported by XML rules cannot search the text of an element, it can find elements by a specified attribute value. For the complete script, see AddAttribute.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209

C
HAPTER
13: XML Rules
XML Rules Examples
192
#include "glue code.jsx"
main();
function main(){
if (app.documents.length != 0){
var myDocument = app.documents.item(0);
//This rule set contains a single rule.
var myRuleSet = new Array (new DuplicateElement);
with(myDocument){
var elements = xmlElements;
__processRuleSet(elements.item(0), myRuleSet);
}
}
else{
alert("No open document");
}
//Duplicates the part number element in each XML element.
function DuplicateElement(){
this.name = "DuplicateElement";
this.xpath = "/devices/device/part_number";
this.apply = function(myElement, myRuleProcessor){
//Duplicates the part_number XML element.
__skipChildren(myRuleProcessor);
myElement.duplicate();
return true;
}
}
}
XML rules and XML attributes
The following XML rule adds attributes to XML elements based on the content of their “name” element.
When you need to find an element by its text contents, copying or moving XML element contents to XML
attributes attached to their parent XML element can be very useful in XML-rule scripting. While the subset
of XPath supported by XML rules cannot search the text of an element, it can find elements by a specified
attribute value. For the complete script, see AddAttribute.