Adobe 65030365 Developer's Guide - Page 254

Translating a markup element to a footnote element, Translating Elements and Their Attributes

Page 254 highlights

16 Modifications to the default translation can rename their values either for all occurrences, or within a single context. To do so, you use one of these rules: value "val" is fm value "fmval"; attribute "attr" value "val" is fm value "fmval"; element "gi" attribute "attr" value "val" is fm value "fmval"; where val is a name token, fmval is a string, attr is an XML attribute, and gi is a generic identifier. For example, assume the attribute color is used for many elements with the values r, b, and g. You could write this rule to rename the values in the same way for all occurrences of the color attribute: attribute "color" { value "r" is fm value "Red"; value "b" is fm value "Blue"; value "g" is fm value "Green"; } For information on these rules, see "element" on page 376, "attribute" on page 367, "value" on page 464, and "is fm value" on page 439. Translating a markup element to a footnote element Many documents require footnotes to provide additional information. Handling of footnotes is primarily a formatting issue. Because of this, markup does not directly address them. FrameMaker, however, has a special type of element for creating and formatting footnotes. Because FrameMaker maintains footnotes as elements, there is no problem when writing a FrameMaker document as markup data. A footnote element becomes an XML or SGML element. However, if you have a markup document or DTD with an element that you want to treat as a footnote in FrameMaker, you must write a rule to indicate this. For example, to translate the markup element fn as a footnote element named Footnote in FrameMaker, use this rule: element "fn" is fm footnote element "Footnote"; In FrameMaker, a footnote element is always a footnote element. That is, you can't import the same element as a footnote in some contexts and as a normal paragraph in other contexts. If you have a single markup element that can be formatted as both a footnote and as a normal paragraph, you'll need to translate the same markup element to two different FrameMaker elements. This translation cannot be accomplished with read/write rules. In this case, you'll need to write a structure API client. For information on these rules, see "element" on page 376 and "is fm footnote element" on page 421. For information on writing structure API clients, see the Structure Import/Export API Programmer's Guide. Translating Elements and Their Attributes 236

  • 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
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385
  • 386
  • 387
  • 388
  • 389
  • 390
  • 391
  • 392
  • 393
  • 394
  • 395
  • 396
  • 397
  • 398
  • 399
  • 400
  • 401
  • 402
  • 403
  • 404
  • 405
  • 406
  • 407
  • 408
  • 409
  • 410
  • 411
  • 412
  • 413
  • 414
  • 415
  • 416
  • 417
  • 418
  • 419
  • 420
  • 421
  • 422
  • 423
  • 424
  • 425
  • 426
  • 427
  • 428
  • 429
  • 430
  • 431
  • 432
  • 433
  • 434
  • 435
  • 436
  • 437
  • 438
  • 439
  • 440
  • 441
  • 442
  • 443
  • 444
  • 445
  • 446
  • 447
  • 448
  • 449
  • 450
  • 451
  • 452
  • 453
  • 454
  • 455
  • 456
  • 457
  • 458
  • 459
  • 460
  • 461
  • 462
  • 463
  • 464
  • 465
  • 466
  • 467
  • 468
  • 469
  • 470
  • 471
  • 472
  • 473
  • 474
  • 475
  • 476
  • 477
  • 478
  • 479
  • 480
  • 481
  • 482
  • 483
  • 484
  • 485
  • 486
  • 487
  • 488
  • 489
  • 490
  • 491
  • 492
  • 493
  • 494
  • 495
  • 496
  • 497
  • 498
  • 499
  • 500
  • 501
  • 502
  • 503
  • 504
  • 505
  • 506
  • 507
  • 508
  • 509
  • 510
  • 511
  • 512
  • 513
  • 514
  • 515
  • 516
  • 517
  • 518
  • 519
  • 520
  • 521
  • 522
  • 523
  • 524
  • 525
  • 526
  • 527
  • 528
  • 529
  • 530
  • 531
  • 532
  • 533
  • 534
  • 535
  • 536
  • 537
  • 538
  • 539
  • 540
  • 541
  • 542
  • 543
  • 544
  • 545
  • 546
  • 547
  • 548
  • 549
  • 550
  • 551
  • 552
  • 553
  • 554
  • 555
  • 556
  • 557
  • 558
  • 559
  • 560
  • 561
  • 562
  • 563
  • 564
  • 565
  • 566
  • 567
  • 568
  • 569
  • 570
  • 571
  • 572
  • 573
  • 574
  • 575
  • 576
  • 577
  • 578
  • 579
  • 580
  • 581
  • 582
  • 583
  • 584
  • 585
  • 586
  • 587
  • 588

Translating Elements and Their Attributes
236
Modifications to the default translation
16
can rename their values either for all occurrences, or within a single context. To do so, you
use one of these rules:
value "
val
" is fm value "
fmval
";
attribute "
attr
" value "
val
" is fm value "
fmval
";
element "
gi
" attribute "
attr
" value "
val
" is fm value "
fmval
";
where
val
is a name token,
fmval
is a string,
attr
is an XML attribute, and
gi
is a
generic identifier.
For example, assume the attribute
color
is used for many elements with the values
r
,
b
,
and
g
. You could write this rule to rename the values in the same way for all occurrences
of the
color
attribute:
attribute "color" {
value "r" is fm value "Red";
value "b" is fm value "Blue";
value "g" is fm value "Green";
}
For information on these rules, see “element” on page 376
, “attribute” on page 367
, “value”
on page 464
, and “is fm value” on page 439
.
Translating a markup element to a footnote element
Many documents require footnotes to provide additional information. Handling of footnotes
is primarily a formatting issue. Because of this, markup does not directly address them.
FrameMaker, however, has a special type of element for creating and formatting footnotes.
Because FrameMaker maintains footnotes as elements, there is no problem when writing a
FrameMaker document as markup data. A footnote element becomes an XML or SGML
element. However, if you have a markup document or DTD with an element that you want
to treat as a footnote in FrameMaker, you must write a rule to indicate this.
For example, to translate the markup element
fn
as a footnote element named
Footnote
in FrameMaker, use this rule:
element "fn" is fm footnote element "Footnote";
In FrameMaker, a footnote element is always a footnote element. That is, you can’t import
the same element as a footnote in some contexts and as a normal paragraph in other
contexts. If you have a single markup element that can be formatted as both a footnote and
as a normal paragraph, you’ll need to translate the same markup element to two different
FrameMaker elements. This translation cannot be accomplished with read/write rules. In this
case, you’ll need to write a structure API client.
For information on these rules, see “element” on page 376
and “is fm footnote element” on
page 421
. For information on writing structure API clients, see the
Structure Import/Export
API Programmer’s Guide
.