Adobe 0046100128056 Scripting Guide - Page 178

XML Rules, Overview

Page 178 highlights

13 XML Rules The InDesign XML- rules feature provides a powerful set of scripting tools for working with the XML content of your documents. XML rules also greatly simplify the process of writing scripts to work with XML elements and dramatically improve performance of finding, changing, and formatting XML elements. While XML rules can be triggered by application events, like open, place, and close, typically you will run XML rules after importing XML into a document. (For more information on attaching scripts to events, see Chapter 8, "Events.") This chapter gives an overview of the structure and operation of XML rules, and shows how to do the following: X Define an XML rule. X Apply XML rules. X Find XML elements using XML rules. X Format XML data using XML rules. X Create page items based on XML rules. X Restructure data using XML rules. X Use the XML-rules processor. We assume you already read Adobe InDesign CS5 Scripting Tutorial and know how to create and run a script. We also assume you have some knowledge of XML and have read Chapter 12, "XML." Overview InDesign's XML rules feature has three parts: X XML rules processor (a scripting object) - Locates XML elements in an XML structure using XPath and applies the appropriate XML rule(s). It is important to note that a script can contain multiple XML rule processor objects, and each rule-processor object is associated with a given XML rule set. X Glue code - A set of routines provided by Adobe to make the process of writing XML rules and interacting with the XML rules-processor easier. X XML rules - The XML actions you add to a script. XML rules are written in scripting code. A rule combines an XPath-based condition and a function to apply when the condition is met. The "apply" function can perform any set of operations that can be defined in InDesign scripting, including changing the XML structure; applying formatting; and creating new pages, page items, or documents. A script can define any number of rules and apply them to the entire XML structure of an InDesign document or any subset of elements within the XML structure. When an XML rule is triggered by an XML rule processor, the rule can apply changes to the matching XML element or any other object in the document. You can think of the XML rules feature as being something like XSLT. Just as XSLT uses XPath to locate XML elements in an XML structure, then transforms the XML elements in some way, XML rules use XPath to 178

  • 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

178
13
XML Rules
The InDesign XML- rules feature provides a powerful set of scripting tools for working with the XML
content of your documents. XML rules also greatly simplify the process of writing scripts to work with XML
elements and dramatically improve performance of finding, changing, and formatting XML elements.
While XML rules can be triggered by application events, like open, place, and close, typically you will run
XML rules after importing XML into a document. (For more information on attaching scripts to events, see
Chapter 8, “Events
.”
)
This chapter gives an overview of the structure and operation of XML rules, and shows how to do the
following:
X
Define an XML rule.
X
Apply XML rules.
X
Find XML elements using XML rules.
X
Format XML data using XML rules.
X
Create page items based on XML rules.
X
Restructure data using XML rules.
X
Use the XML-rules processor.
We assume you already read
Adobe InDesign CS5 Scripting Tutorial
and know how to create and run a script.
We also assume you have some knowledge of XML and have read
Chapter 12, “XML
.”
Overview
InDesign’s XML rules feature has three parts:
X
XML rules processor (a scripting object)
— Locates XML elements in an XML structure using XPath
and applies the appropriate XML rule(s). It is important to note that a script can contain multiple XML
rule processor objects, and each rule-processor object is associated with a given XML rule set.
X
Glue code
— A set of routines provided by Adobe to make the process of writing XML rules and
interacting with the XML rules-processor easier.
X
XML rules
— The XML actions you add to a script. XML rules are written in scripting code. A rule
combines an XPath-based condition and a function to apply when the condition is met. The “apply”
function can perform any set of operations that can be defined in InDesign scripting, including
changing the XML structure; applying formatting; and creating new pages, page items, or documents.
A script can define any number of rules and apply them to the entire XML structure of an InDesign
document or any subset of elements within the XML structure. When an XML rule is triggered by an XML
rule processor, the rule can apply changes to the matching XML element or any other object in the
document.
You can think of the XML rules feature as being something like XSLT. Just as XSLT uses XPath to locate XML
elements in an XML structure, then transforms the XML elements in some way, XML rules use XPath to