Adobe 65011817 Extended User Guide - Page 288

Data node, Parameters

Page 288 highlights

Last updated 12/8/2009 EXTENDING FIREWORKS 284 Cross-Product Extensions Data node The data node is the most important type of XML node in RPC. Methods called through the func operation need to act on actual data or references to server objects identified in data nodes. The data nodes are used as parameters and parts of replies. There are several types of data nodes, as described in the following table. Data type Node name Example Description array array An array data type. It is simply a container node for the other data nodes. There are no restrictions on how many subelements it can contain or which types it can contain. The contained data nodes may be of the same type or of different types. No additional attributes have to be added to the contained nodes. Boolean bool The Boolean data type. It can contain either true or false and nothing else. Note that the values are case sensitive. dictionary dict A dictionary data type. Like the array data type, it is simply a container for other data nodes. Each direct child node of a dictionary node must contain an additional key attribute. The key attribute is a string and must be unique for the given dictionary node. The key string must start with a letter or an underscore (_) and may followed by numbers, letters, or underscores. Dictionary nodes can be used to pass objects by value. float double The floating-point data type. It can contain any floating-point (real) number within the range 1.7e +/- 308. integer int The integer data type. It can contain any signed integer in the range -2,147,483,648 through 2,147,483,647. null null The null type has only one value: null. The null type automatically coerces into the string type, array type, dictionary type, and the server object type. The null type cannot have any attributes or sub-elements. server object obj The server object data type. The value attribute is set to the object ID. The class attribute is optional. The server always specifies the object class when sending replies to the client. The client, however, is not required to specify the class when sending server object nodes to the server. The class attribute tells the client what properties and methods are available on an object. string string A string data type. It can contain a UTF-8-encoded string. If you include special characters, you must "escape" them (indicate that they are part of the string) according to the method described in the XML Data Model (from http://www.w3.org/XML/Datamodel.html). Most XML writing packages automatically do this. void void No value; no type. Cannot have any attributes or subelements. Parameters Parameters are simply data nodes with an order attribute. The order attribute identifies the order in which the parameters should be processed for the server. In this way, the RPC client can use any XML client library to build parameters in any order, and the RPC server retains the correct parameter order. The first parameter should have the order attribute set to 0; the second, to 1; and so on, as in this example:

  • 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
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336

284
EXTENDING FIREWORKS
Cross-Product Extensions
Las
t
up
d
a
ted
12/8/2009
Data node
The data node is the most important type of XML node in RPC. Methods called through the
func
operation need to
act on actual data or references to server objects identified in data nodes. The data nodes are used as parameters and
parts of replies. There are several types of data nodes, as described in the following table.
Parameters
Parameters are simply data nodes with an
order
attribute. The
order
attribute identifies the order in which the
parameters should be processed for the server. In this way, the RPC client can use any XML client library to build
parameters in any order, and the RPC server retains the correct parameter order. The first parameter should have the
order
attribute set to 0; the second, to 1; and so on, as in this example:
<string order="1" value="bob" />
Data type
Node name
Example
Description
array
array
<array><string value="stuff"
/><int value="50" /></array>
An array data type. It is simply a container node for the other
data nodes. There are no restrictions on how many
subelements it can contain or which types it can contain. The
contained data nodes may be of the same type or of different
types. No additional attributes have to be added to the
contained nodes.
Boolean
bool
<bool value="true" />
The Boolean data type. It can contain either
true
or
false
and
nothing else. Note that the values are case sensitive.
dictionary
dict
<dict><double key="foo"
value="5.0" /><string
key="bar" value="fred"
/></dict>
A dictionary data type. Like the array data type, it is simply a
container for other data nodes. Each direct child node of a
dictionary node must contain an additional
key
attribute. The
key
attribute is a string and must be unique for the given
dictionary node. The key string must start with a letter or an
underscore (_) and may followed by numbers, letters, or
underscores. Dictionary nodes can be used to pass objects by
value.
float
double
<double value="1.2345" />
The floating-point data type. It can contain any floating-point
(real) number within the range 1.7e +/- 308.
integer
int
<int value="50" />
The integer data type. It can contain any signed integer in the
range -2,147,483,648 through 2,147,483,647.
null
null
<null />
The null type has only one value: null. The null type
automatically coerces into the string type, array type,
dictionary type, and the server object type. The null type
cannot have any attributes or sub-elements.
server object
obj
<obj value="fw"
class="Fireworks" />
The server object data type. The
value
attribute is set to the
object ID. The
class
attribute is optional. The server always
specifies the object class when sending replies to the client.
The client, however, is not required to specify the class when
sending server object nodes to the server. The
class
attribute
tells the client what properties and methods are available on
an object.
string
string
<string value="foo" />
A string data type. It can contain a
UTF-8-encoded string. If you include special characters, you
must “escape” them (indicate that they are part of the string)
according to the method described in the XML Data Model
writing packages automatically do this.
void
void
<void />
No value; no type. Cannot have any attributes or subelements.