Second Edition Januar 2006
ISBN 978-0-596-00974-8
Weitere Informationen zu diesem Buch
Inhaltsverzeichnis |
Index |
Probekapitel |
Rezensionen |
Index
[ Symbols ], [ A ], [ B ], [ C ], [ D ], [ E ], [ F ], [ G ], [ H ], [ I ], [ J ], [ K ], [ L ], [ M ], [ N ], [ O ], [ P ], [ Q ], [ R ], [ S ], [ T ], [ U ], [ V ], [ W ], [ X ], [ Y ], [ Z ],
Symbols[ Top ]
#define constants, 485
$count keyword, 35
$punc variable, 42
(|) operator, 18
* meta-character, 29
+ meta-character, 29
. (dot), 29
? meta-character, 30
@name attribute, 595
| operator, 18
' (quote) characters, handling string literals, 212
A[ Top ]
abs( ) function, 86
absolute day numbers, calculating, 121
absolute hyperlinks, 379
absolute value (mathematic functions), 76
accounting
bookkeeping parameters, 80
formatting money, 63
accurate forecasting, xiii
actions, 514
adding
behavior, 204
extensions
elements (Java), 640-654
functions (Java), 634-640
newline characters, 223
whitespace, 222
addition, 88
batching, 90
divide and conquer algorithm, 89
mathematic functions, 88-93
addressing, XPath, 1
adjacent nodes, grouping by, 193
Adobe SVG plug-in, 472
advertisements, services, 604
aggregation
generic bounded functions, creating, 712-719
generic element functions, creating, 700-712
sequences, 15
algorithm-page layout template, 590
algorithms
divide and conquer, 33, 50, 89
generic, 686
sorting, 580
Topic Maps, 579
tree diagrams, 458
aligning labels, 426
ancestor axes, 6
AnsweringMachineState class, 514
Antenna House XSL Formatter, 369
Apache Cocoon (server), 368
API (Application Programming Interface), 657
applications
debugging, 498-505, 621
Java, 656
repositories, 475
applying
axes, 2-7
node comparisons, 19
nonbreaking space characters, 223
regular expressions, 29
Saxon
elements, 609
extensions, 608, 614-627
sequences, 10-12
set operations, 18
stylesheets to templates, 415
Xalan extensions, 614-627
Xalan-Java 2 extensions, 610
Arabic characters, formatting, 67
architecture
Topic Maps, 592
WDSL, 593-606
arcs, drawing, 439
assertions, 662
associations
relationships, 575
UML, 560, 572
atomic items, converting, 199
attributes
@name, 595
calendars, 147
disable-output-escaping, 648
extension-element-prefixes, 641
format, 210
group-by, 193
group-starting-with, 194
href, 210
processing, 625
renaming, 282-288
styling sets with, 392
type, 210
validation, 210
xmi.id, 562
xmi.idref, 562
xml:lang, 147
augmenting text, 53
automation
code generation, 473-482
data wrappers, 494-498
debugging, 498-505
file constants, 482-486
message-handling stub code, 491-494
switching code, 486-491
test data-entry web clients, 505
test-entry web CGI, 507-512
UML, 512-528
XSLT from XSLT, 528-534
insertion of debug output, 669-675
averages, computing, 100-104
axes
applying, 2-7
templates, 423
X and Y, 417
B[ Top ]
backward-compatibility mode, 200
Ball, Steve, 48
bar charts, 426
horizontal, 431
(see also charts)
BarStyle template, 429
base classes, CkBkTemplParam, 646
base conversions, numbers, 73-76
baseName stereotype, 560
batching, 90
behavior, adding low-priority templates, 204
Bézier curves, 433
binary trees, 174
bindings, 600
names, 602
namespaces, encoding, 609
ports, 597
biolerplates, transforming SVG, 409-417
bit masks (mathematic function), 106-111
bitTest template, 109
bookkeeping parameters, 80
Boolean-to-numeric conversions, 77
boundary conditions, testing, 683-685
bounded aggregation operations, creating templates for, 712-719
breaks, formatting line, 222
Breen, John, 536
C[ Top ]
calculations
absolute day numbers, 121
daylight savings time, 155
days of the week, 114
Julian day numbers, 121-125
last day of the month, 116
week numbers, 125
calendars, xiii
attributes, 147
Gregorian, 115
Hebrew, 133-140
Hijri, 132
Islamic, 130-132
ISO, 127-130
Julian, 127
last day of the month, calculating, 116
captured groups, 30
capturing nodes, 723
case, modifying, 46-48
catchXSL!, 669
cell elements, 233
characters
Arabic, formatting, 67
classes, 29
counting number of occurrences in a string, 52
deleting, 26-28
mapping, troubleshooting serialization, 208
newline, adding, 223
nonbreaking space, applying, 223
(see also strings)
charts
pie, 438
SVG reusable generation utilities, 417-453
child axes, 2
ckbk:abs(x) element, 76
ckbk:sqrt(x) element, 77
CkBkTemplParam base class, 646
Class Format namespace, 610
classes
AnsweringMachineState, 514
characters, 29
CkBkTemplParam, 646
data wrappers, generating, 494-498
Graphics2D, 636
java.awt.FontMetrics, 638
programming language, 582
TextLayout, 636
topics, 562
UML, 560
XslForEach, 647
clients, test data-entry web, 505
client-side XSLT processing with frames, 389
clocks, xiii
Cocoon, 593
code
duplication, eliminating, 196
generation, 473-482
data wrappers, 494-498
debugging, 498-505
file constants, 482-486
message-handling stub code, 491-494
switching code, 486-491
test data-entry web clients, 505
test-entry web CGI, 507-512
UML, 512-528
XSLT from XSLT, 528-534
generic, creating, 686
inline script, 611
testing, 679
writing, 626
XslText.java, 648
Cogitative Topic Maps Web Site (CTW), 578
collapsing levels (hierarchies), 259
colors, customizing, 426
columns, 557
Excel, 557
numbers, formatting, 61
reports, creating, 242-252
spreadsheets, creating numbers, 66
combinations (mathematic function), 104-106
Comma Separated Values (CSV) files, creating, 225
commands
xsl:for-each, 178
xsl:sort, 183
comments, debugging, 663
comparisons
nodes, 19
operators, 8
complex mappings, 230
component specifiers, 150
compressing files, 640
computing
combinatorial functions, 104-106
polymorphic functions, 709
products and sums, 88-93
statistical functions, 100-104
sums, 709
(see also calculations)
concat( ) function, 35
conditional if expressions (XPath 2.0), 13
conditional imports, 533
conditional includes, 533
conditions, testing, 683-685
constants
#define, 485
files, 482-486
constructing wildcards, 29
container documents, 293
contains( ) function, 43
context-sensitive matches, 30
conventions
naming, 608
topic mapping in UML, 559
conversion
absolute days, 128
atomic items, 199
base, numbers, 73-76
Boolean-to-numeric, 77
case, 46-48
numerical values, 117-121
Roman numerals, 70-72
simple named templates, 191
SVG to XML, 465
types, 199
Visio VDX documents to SVG, 536-548
XML, 54
attributes to elements, 275-277
elements to attributes, 277-282
copying
namespaces, 287
stylesheets, 274
coupling initiators, avoiding, 204
cpp file, 497
CSV (Comma Separated Values) files, creating, 225
C-switch statement generators, 489
CTW (Cogitative Topic Maps Web Site), 578
currency, formatting, 63
current( ) function, 217
current-group( ) function, 192
current-grouping-key( ) function, 192
customization
code-generation transformation, 485
colors, 426
Java extensions, 634-640
line styles, 436
D[ Top ]
data wrappers, 494-498
databases, relational, 622
date-and-time functions, 112, 617
absolute day numbers, calculating, 121
days of the week, calculating, 114
finding kth day before specific absolute days, 128
formatting, 141-153
Hebrew calendars, 133-140
holidays, determining, 153-156
Islamic calendars, 130-132
ISO calendars, 127-130
Julian calendars, 127
Julian day numbers, calculating, 121-125
last day of the month, calculating, 116
numerical values, converting, 117-121
week numbers, calculating, 125
dates, xiii
formatting, 141-153
daylight savings time, calculating, 155
days of the week, calculating, 114
debugging
applications, 498-505, 621
assertions, 662
comments, 663
stylesheets, 669-675
tracing navigation, 663-669
xsl:message element, 660-663
decimals, 59
(see also numbers)
declarations, operations, 603
decorators, 204
deepening hierarchies, 303-308
defining
expressions, group-by attributes, 193
functions, 32
template tags, 689
deleting
characters from strings, 26-28
duplicates, 288
extra parameters, 199
whitespace, 27, 220
delimited data, exporting to XML, 225-242
delimiters, searching word, 42
Dershowitz, N., 122
descendent axes, 2
design
object-oriented patterns, emulating, 200-205
state machines, 512
(see also formatting)
detecting executed messages, 661
diagrams
SVG trees, 453-463
Visio, 548
Diamond, Jason, 113
Difference template, 322
disable-output-escaping attribute, 648
displaying hierarchies, 253-261
divide and conquer algorithm, 33, 50, 89
DocBook, 373, 700
Document Type Definition (DTD), 357
document( ) function, 217
documents
multiple, outputting, 210
namespaces, stripping from, 287
order, 20
traversal, 179
Visio, 542
XML
container documents, 293
creating HTML frames, 387-392
creating HTML self-contained transformations, 398-402
creating HTML stylesheets, 392-398
creating HTML tables, 379-387
deepening hierarchies, 303-308
flattening hierarchies, 300-303
hyperlinking HTML, 376-379
joining elements, 297
joins, 334-338
merging with identical schemas, 288-293
merging with unlike schemas, 293-298
populating HTML forms, 402-407
reorganizing hierarchies, 308-312
splitting, 298-300
stylizing into HTML, 369-376
weaving, 295
dot (.), 29
drawing arcs, 439
DTD (Document Type Definition), 357
duplicates
deleting, 288
elements, ignoring, 160-164
duplication
code, eliminating, 196
strings, 14-17
N times, 34-36
dynamic errors, 146, 150, 627
E[ Top ]
editors, graphics, 548
Eisenberg, J. David, 439
elements, 612
cell, 233
ckbk:abs(x), 76
ckbk:sqrt(x), 77
duplicate, ignoring, 160-164
encoding, 625
extensions
adding using Java, 640-654
scripting, 613
generic aggregation functions, creating, 700-712
Geom, 546
Java extensions, 612
joining, 297
joins, 334-338
pages, 584
partitioning, 298-300
renaming, 282-288
Saxon extensions, 609
Saxon StyleElement method, 642
saxon:output extension, 298
specific, excluding, 165
ss:Worksheet, 558
svgElement, 542
tables, processing encoded, 625
translate, 221
web sites, 584
Xalan Java 2, 610, 612
xinclude, 390
XML
converting attributes to, 275-277
converting to attributes, 277-282
xsl:apply-templates, 213
xsl:attribute, 213
xsl:call-template, 213
xsl:comment, 213
xsl:copy, 214, 287
xsl:copy-of, 214, 287, 293
xsl:date-format, 147
xsl:decimal-format, 59
xsl:element, 214, 282
xsl:for-each, 214
xsl:for-each-group instruction, 192
xsl:include, 679
xsl:key, 289, 335
xsl:message, 214
xsl:messages, troubleshooting with, 660-663
xsl:normalize-space, 220
xsl:number, 60, 72, 215, 269
xsl:output, 215
xsl:param, 215
xsl:preserve-space, 222
xsl:processing-instruction, 216
xsl:strip-space, 216, 220
xsl:stylesheet, 216
xsl:template, 216
xsl:text, 221, 222
xsl:value-of, 216
xsl:variable, 216
xsl:with-param, 216
xslx:templtext, 646
eliminating code duplication, 196
embedding, 608
stylesheets, 400
testing, 675-680
SVG in HTML, 463-472
empty node sets, 10
empty search patterns, 32
emulating regular expression matches, 22, 51
enabling XPath, 533
encoding
bindings, 609
elements, 625
namespaces, 609
ending nodes, grouping by, 194
endpoints (services), 602
ends-with( ) function, 25
entities, 47
equality, 317
set, determining, 327-331
equi-joins, 336
errors
conditions, testing, 683-685
dynamic, 146, 150, 627
recoverable, 150
static, 147
types, 8
escapes, 644
disable-output-escaping attribute, 648
state machines, 646
European currencies, formatting, 64
evaluating XPath expressions, 624
events, style, 669
Excel columns, 557
Excel, exporting to XML, 549-559
except operator, 19
execution
JavaScript, 628
templates, 660
expanded-QName, 147
expanding sequences, 15
exporting
Excel to XML, 549-559
XML to delimited data, 225-242
expr%delimit behavior, 647
expressions
conditional if (XPath 2.0), 13
filtering, 9
group-by attributes, defining values, 193
paths using axes, 7
regular
applying, 29
emulating matches, 51
matching text patterns, 52-54
processing unstructured text, 205-208
XPath, 627
parsing, 642
EXSLT, 25
set operations on nodes, 317
string functions, 54
Extensible Markup Language (see XML)
Extensible Stylesheet Language Transformations (see XSLT)
extension-element-prefixes attribute, 641
extensions, 608
elements, scripting, 613
functions, 54-57
global variables, 687-689
Java
adding, 634
adding elements, 640-654
Class Format namespace, 610
customizing, 634-640
elements, 612
Java Format namespace, 611
Package Format namespace, 611
JavaScript, 628-634
MSXML functions, 614
Saxon, 608
applying, 614-627
elements, 609
scripting, 611
writing, 626
Xalan, 614-627
Xalan-Java 2, 610
elements, 612
extra parameters, defining, 199
F[ Top ]
factorial (mathematic function), 85
files
constants, 482-486
cpp, 497
CSV, formatting, 225
Excel XML, mapping, 552
zip, 640
filtering nodes, 7-10
fixed number of decimal places, formatting numbers, 61
flattening hierarchies, 300-303
floor( ) function, 115
following axes, 6
fonts, testing, 637
forecasting, xiii
format attribute, 210
format-date( ) function, 119, 147
format-number( ) function, 59
rounding with, 69
formatting, 222
Arabic characters, 67
columnar reports, 242-252
columns, spreadsheets, 66
CSV files, 225
dates, 141-153
four-quadrant plots, 425
frames (HTML), 387-392
generic code, 686
generic mapping functions, 720-728
generic node-set generators, 728-732
grids, 423
line breaks, 222
money, 63
European currencies, 64
numbers, 59-68, 700-712
base conversions, 73-76
Roman numerals, 65
converting, 70-72
shapes, 544
stylesheets, 529
HTML, 392-398
SVG
pie charts, 438
tree diagrams, 453
tables (HTML), 379-387
templates, 585
text
indentation, 253
wrapping, 270-273
times, 141-153
tokens, 60
Topic Maps, 579
web sites, 584
whitespace, 220-225
X and Y axes, 421
forms, populating HTML, 402-407
formulas, 115
(see also calculations)
four-qaudrant plots, creating, 425
frames (HTML), 387-392
Friedl, Jeffery E. F., 30
full representation of values, 151
functional programming, 691
functionality, executing JavaScript, 628-634
function-available( ) function, 217
functions
abs( ), 86
concat( ), 35
contains( ), 43
current( ), 217
current-group( ), 192
current-grouping-key( ), 192
date-and-time, 112, 617
days of the week, calculating, 114
formatting, 141-153
Hebrew calendars, 133-140
holidays, determining, 153-156
Islamic calendars, 130-132
ISO calendars, 127-130
Julian calendars, 127
Julian day numbers, calculating, 121-125
last day of the month, calculating, 116
numerical values, converting, 117-121
week numbers, calculating, 125
defining, 32
document( ), 217
ends-with( ), 25
extended information about node and trees, 621
extensions, 54-57
scripting, 611
writing, 626
floor( ), 115
format-date( ), 119, 147
format-number( ), 59
rounding with, 69
function-available( ), 217
generic mapping, creating, 720-728
incr generic, 721
Java extension
Class Format namespace, 610
Java Format namespace, 611
Package Format namespace, 611
key( ), 217
last( ), 183
lower-case( ), 46
math:log( ), 78
math:log10( ), 78
math:lowest, 93, 96
math:min, 93
math:power( ), 81
math:power-f( ), 83
mathematics, 76, 76-88
addition, 88-93
bit masks, 106-111
combinations, 104-106
minimums and maximums, 93-100
statistics, 100-104
MSXML extensions, 614
name( ), 165
node-set( ), 161
normalize-space( ), 27
not( ), 10
parsing, 505
polymorphism, 693-700
position( ), 183
replace( ), 28, 30
Saxon extensions, 608
elements, 609
saxon:path( ), 627
starts-with( ), 25
str:align( ), 55
str:concat( ), 56
str:decode-uri( ), 56
str:encode-uri( ), 56
str:padding( ), 55
str:replace( ), 55
str:split( ), 56
str:tokenize( ), 55
string-length( ), 25
substring( ), 25
substring-after( ), 43
substring-before( ), 32, 43
sum( ), 92
system-property( ), 217
time, 112
tokenize( ), 31, 50
translate( ), 27, 46, 52
type-safe, 197
unparsed-text( ), 207
upper-case, 46
writing, 626
Xalan-Java 2 extensions, 610
XPath, 1
G[ Top ]
GCA Research Institute, 574
generalization relationships, 573
generating
code, 473
multiple plots, 438
sequences, 15
generators, creating generic node-set, 728-732
generic bounded aggregation functions, creating, 712-719
generic code, creating, 686
generic element aggregation functions, creating, 700-712
generic mapping functions, creating, 720-728
generic node-set generators, creating, 728-732
generic programming, 691
Geom elements, 546
get interface, 497
global variables, extensions, 687-689
graphics, 408
editors, 548
SVG, 408
(see also SVG)
Graphics2D class, 636
graphicsVisio, 548
graphs, SVG, 412, 417-453
Gregorian calendars, 115
grids, creating, 423
group-by attribute, 193
groups
by adjacent nodes, 193
captured, 30
data for inclusion in tables, 381
by ending node, 194
OMG, 578
optimizing, 192-196
by starting node, 194
SVG, 412
by values, 193
group-starting-with attribute, 194
guards, 514
H[ Top ]
headers, TITLE, 586
Hebrew calendar, 133
Heshvan, determining length of, 135
hierarchies
deepening, 303-308
displaying, 253-261
flattening, 300-303
reorganizing, 308-312
SVG tree diagrams, 453-463
tree diagrams, 453
Hijri calendar, 132
holidays, determining, 153-156
hooks, calling named templates, 695
horizontal bar charts, 431
href attribute, 210
HTML (Hypertext Markup Language)
SVG, embedding, 463-472
XML
creating frames, 387-392
creating self-contained transformations, 398-402
creating stylesheets, 392-398
creating tables, 379-387
hyperlinking, 376-379
populating forms, 402-407
stylizing documents into, 369-376
hyperlinks
absolute, 379
HTML, 376-379
Hypertext Markup Language (see HTML)
I[ Top ]
IDEAlliance, 574
identification of stereotypes, 562
identity transforms, 274
IEEE floating points, limitations of, 69
if statements, modifying, 12-14
images
SVG, populating, 409-417
(see also graphics)
implementation
Java extensions, 612
Saxon extensions, 609
set operations, 620
summary stylesheets, 726
W3C XML query-use cases (XSLT), 339-367
importing stylesheet template tags, 689
incr generic function, 721
indentation in text output, 253
indexes
hyperlinks, 376
Java extensions, 640
Muenchian Method, 195
substrings, searching, 26
variables, 30
initiators, coupling, 204
inline script code, 611
in-order traversals, executing, 174-177
instanceOf relationships (XTM), 567
instantiation, 567
UML association, 560
integer arithmetic, emulating, 115
integration
numeric, 716
templates, 719
interaction with relational databases, 622
interfaces
API, 657
get, 497
State, 514
interprocess messaging
protocols, 474
repository, 475
Intersection template, 322
invariants, testing, 662
invoking
Java, 656
scripting languages, 628
Islamic calendar, 130
ISO calendar, 127
items, converting atomic, 199
J[ Top ]
Java
extensions
adding, 634
adding elements, 640-654
Class Format namespace, 610
customizing, 634-640
elements, 612
Java Format namespace, 611
Package Format namespace, 611
scripting, 611
Xalan-Java 2 elements, 612
file constants, 486
invoking, 656
Saxon extensions, 608
elements, 609
Xalan-Java 2 extensions, 610
java.awt.FontMetrics class, 638
JavaScript, executing, 628-634
joining
elements, 297
sequences, 16
joins, 334-338
equi-joins, 336
ports and bindings, 597
Julian day numbers, calculating, 121-125
K[ Top ]
Kay, Michael, 30, 45
key( ) function, 217
keys, 516
identification of stereotypes, 562
plang-codes, 590
keywords
$count, 35
preceding, 160
Kislev, determining length of, 135
Knuth, 80
kth day before specific absolute days, searching, 128
L[ Top ]
labels, aligning, 426
last day of the month, calculating, 116
last( ) function, 183
layouts
TextLayout class, 636
web sites, 584
level-order traversals, executing, 178-183
lines
breaks, 222
styles, 436
links, 379
Lisp implementation, 113
literals
strings, handling quote characters, 212
wildcards, mixing, 29
literate programming, 533
local-name( ) function, 165
logarithms, calculating, 78
logical operators, 10
lowercase strings, converting, 46-48
lower-case( ) function, 46
M[ Top ]
Maclaurin series, 84
management, OMG, 578
mapping
characters, troubleshooting serialization, 208
columnar reports, 245
complex, 230
Excel XML files, 552
generic functions, creating, 720-728
sequences, 15
Visio-to-SVG, 536
XTM Topic Maps, 559-578
generating web sites, 578-593
masters, Visio documents, 542
matching
context-sensitive, 30
regular expressions, emulating, 51
templates, 689
text patterns, 52-54
XPath, 1
math functions, emulating integer arithmetic, 115
math:highest function, 93
math:log( ) function, 78
math:log10( ) function, 78
math:log10-util template, 80
math:lowest function, 93, 96
math:max function, 93
math:min function, 93
math:power( ) function, 81
math:power-f( ) function, 83
math:power-frac template, 84
mathematic functions, xiii, 58, 76-88
addition, 88-93
bit masks, 106-111
combinations, 104-106
minimums and maximums, 93-100
statistics, 100-104
MathML content fragments, 170
maximums, finding, 93
merging
documents into container documents, 293
XML documents
with identical schemas, 288-293
with unlike schemas, 293-298
message-handling stub code, generating, 491-494
messages
code, switching, 486-491
debugging, 498-505
detecting, 661
interprocess message repository, 475
interprocess messaging protocols, 474
meta-characters, constructing wildcards, 29
methods
Muenchian Method, 195, 310, 384
Saxon StyleElement, 642
stringHeight( ), 636
stringWidth( ), 636
StyleElement, 642
Template, 202
xslx:et-context, 641
Metonic cycles, 133
minimums and maximums (mathematic function), 93-100
modes, 196, 378
backward-compatibility, 200
transforms, 378
modification
case, 46-48
databases, 622
if statements, 12-14
values, 625
modularizing, 196
money
European currencies, 64
formatting, 63
(see also numbers)
MSXML extension functions, 614
Muenchian Method, 195, 310, 384
multiple destinations, outputting Saxon to, 615
multiple documents, outputting, 210
multiple plots, generating, 438
multiple XML documents, merging, 292
multiplication, 88
N[ Top ]
N times, duplicating strings, 34-36
name( ) function, 165
namespaces
Class Format (Java), 610
copying, 287
documents, stripping from, 287
encoding, 609
Java Format, 611
Package Format (Java), 611
re-namespacing, 283
naming
binding names, 602
conventions, 608
shapes, 545
templates, 689
tags, 689-693
National Institute of Standards and Technology (NIST), 581
navigation
stylesheets, tracing, 663-669
XML trees, 6
newline characters, adding, 223
NIST (National Institute of Standards and Technology), 581
nodes, 55
adjacent, grouping by, 193
capturing, 723
comparisons, 19
context, selecting by, 166
ending, grouping by, 194
extended information about, 621
filtering, 7-10
generic node-set generators, creating, 728-732
minimums and maximums, searching, 93-100
processing by position, 183
selecting unique, 160
sequences, 10-12
starting, grouping by, 194
traversals, processing by position, 183-189
XML, performing set operations on, 314-317
node-set( ) function, 161
nonbreaking space characters, applying, 223
Non-Uniform Rational B-Splines (NURBS), 546
normalize-space( ) function, 27
not( ) function, 10
numbers, 58
Arabic characters, 67
base conversions, 73-76
formatting, 59-68, 700-712
Arabic characters, 67
as spreadsheets, 66
decimal-format, 59
formatting tokens, 60
U.S. money format, 63
Roman numerals, 65
converting, 70-72
rounding, 68
with format-number( ), 69
textual output, 261-270
numeric integration, 716
numerical transformation (see mathematic functions)
numerical values, converting, 117-121
NURBS (Non-Uniform Rational B-Splines), 546
O[ Top ]
O(N2) performance, 98
Object Management Group (OMG), 578
object-oriented design/reuse patterns, emulating, 200-205
occurrences, topics, 575
OMG (Object Management Group), 578
Open-Hi-Lo-Close plots, 445
operations, 600
declarations, 603
declaring, 603
set, 620
operators
(|), 18
|, 18
comparison, 8
except, 19
logical, 10
XPath, 1
optimization
global variables, 687
groups, 192-196
order of magnitude, 45
output
multiple documents, 210
Saxon to multiple destinations, 615
overloading, 693
overriding, 693
copy idiom, 274, 275, 278, 282
templates, 426, 436, 687-689
P[ Top ]
Package Format namespace, 611
packaging tests with stylesheets, 675
page elements, web sites, 584
pageNumber parameter, 537
pages, elements, 584
parameters
extra, deleting, 199
pageNumber, 537
tunnel, 201
userScale, 537
parent axes, 6
Park, Jack, 578
parsing
functions, 505
text, 54
XPath expressions, 642
partitioning elements, 298-300
paths, expressions using axes, 7
patterns
object-oriented design/reuse, emulating, 200-205
state machines, 512
template-method (hierarchies), 261
text, matching, 52-54
XPath, 1
Perl, troubleshooting, 654-656
permutations, computing, 104-106
picture strings, 149
pie charts, 438
creating, 438
stylesheets, 444
(see also charts)
Piez Method, 36
pipelines, splitting transformations, 616
plang-codes key, 590
plots
four-qaudrant, creating, 425
multiple, 438
Open-Hi-Lo-Close, 445
XY, 432
plug-ins, Adobe SVG, 472
polymorphism, 693-700
sums, computing, 709
populating
forms, 402-407
SVG images, 409-417
porting stylesheets, 198-200
ports, 600
bindings, 597
services, 597
portType, 596, 600
position( ) function, 183
postconditions, testing, 662
postorder traversals, executing, 171-174
powers, calculating, 81
preceding axes, 6
preceding keyword, 160
precision, type-safe functions, 197
preconditions, testing, 662
predicate templates, 135
preorder traversals, 166
executing, 167-171
presentation modifiers, 150
pretty printers, generating, 498-505
processing
encoded elements, 625
unstructured text, 205-208
products, computing, 88-93
programming
code generation, 473-482
data wrappers, 494-498
debugging, 498-505
file constants, 482-486
message-handling stub code, 491-494
switching code, 486-491
test data-entry web clients, 505
test-entry web CGI, 507-512
UML, 512-528
XSLT from XSLT, 528-534
functional, 691
generic, 691
inline script code, 611
language classes, 582
literate, 533
writing, 626
XslText.java source code, 648
properties
svgElement, 542
Visio, 542
protocols
interprocess messaging, 474
SOAP, 536
PSI (published subject indicators), 573
Q[ Top ]
QName, 146, 147
queries
recursive, 358
reference-based queries, 360
XML, 313
applying value semantics, 317-327
determining set equality, 327-331
executing structure-preserving, 332
implementing W3C XML query-case, 339-367
joins, 334-338
performing set operations on node sets, 314-317
XQuery, 313
quote (') characters, handling string literals, 212
R[ Top ]
Rational Rose, 560
recoverable errors, 150
recovery, dynamic errors, 627
recursion
batching, 90
divide and conquer, 89
recursive queries, 358
reverse searches, 28
tail, 39, 41
recursive-aggregation, 184, 187
reference-based queries, 360
regex, 29, 30
regular expressions
applying, 29
matches, emulating, 22, 51
text, matching patterns, 52-54
unstructured text, processing, 205-208
Reingold, E., 113, 122
relational databases, interacting with, 622
relationships
associations, 575
generalization, 573
superclass-subclass, 573
re-namespacing elements and attributes, 283
renaming XML attributes/elements, 282-288
reorganizing hierarchies, 308-312
Muenchian Method, 310
replace( ) function, 28, 30
replacing
search strings with replacement nodes, 55
substrings, 41-46
text, 53
reports, creating columnar, 242-252
repositories, 475
code, switching, 486-491
file constants, 484
resuse, emulating object-oriented patterns, 200-205
reusable generation utilities (SVG), 417-453
reversing
searches, 28
strings, 17, 36-41
Roman numerals
converting, 70-72
converting numbers to, 70
formatting, 65
root topic (web sites), 583
rounding numbers, 68
row major mappings, columnar reports, 245
runtime, evaluating XPath expressions, 624
S[ Top ]
safety, type-safe functions, 197
SAX (Simple API for XML), 503
Saxon
extensions, 608
applying, 614-627
elements, 609
output to multiple destinations, 615
StyleElement methods, 642
stylesheets, 663
saxon:output extension element, 298
saxon:path( ) function, 627
Scalable Vector Graphics (see SVG)
Scaliger, Joseph J., 122
schemas
code generation, 475
XSD, 600
scripting
elements, 613
extensions, 611
invoking, 628
JavaScript, extending, 628-634
searching
kth day before specific absolute days, 128
minimums and maximums, 93-100
reverse, 28
substrings, 28-33
positions of, 26
wildcards, constructing, 29
sections, TODO, 493
selections, 157
duplicate elements, ignoring, 160-164
nodes by context, 166
specific elements, 165
semantics, applying values, 317-327
sequences
aggregation, 15
atomic items, converting, 199
expanding, 15
generating, 15
joining, 16
mapping, 15
nodes, 10-12
processing by position, 183-189
testing, 17
text, numbering output, 261-270
(see also strings)
serialization, character maps, 208
servers, Apache Cocoon, 368
services
advertisements, 604
endpoints, 602
ports, 597
set equality, determining, 327-331
set operations
applying, 18
EXSLT, 317
implementing, 620
set operations, implementing, 620
SGML (Standard Generalized Markup Language), 357
shapes
creating, 544
formatting, 544
naming, 545
Visio, 542
sibling axes, 4
Simple API for XML (SAX), 503
simple named templates, converting, 191
SOAP (Simple Object Access Protocol), 536
sorting algorithms, 580
source code, XslText.java, 648
source trees, extended information about, 621
specific elements, excluding, 165
splitting
transformations, 616
XML documents, 298-300
spreadsheets
creating, 66
importing, 687
XML, exporting to, 549-559
square root, calculating, 77
ss:Worksheet elements, 558
standard deviations, computing, 100-104
Standard Generalized Markup Language (SGML), 357
standard.ent, 48
starting nodes, grouping by, 194
starts-with( ) function, 25
State interface, 514
state machines, 512
escapes, 646
statements, if, 12-14
static errors, 147
statistics (mathematic function), 100-104
stereotypes, 514, 559
baseName, 560
identification of, 562
keys, 562
variant, 560
str:align( ) function, 55
str:concat( ) function, 56
str:decode-uri( ) function, 56
str:encode-uri( ) function, 56
str:padding( ) function, 55
str:replace( ) function, 55
str:split( ) function, 56
str:tokenize( ) function, 55
stringHeight( ) method, 636
string-length( ) function, 25
strings, xiii, 24
aligning within other strings, 55
case, modifying, 46-48
characters, deleting, 26-28
counting number of occurrence of a character, 52
duplicating, 14-17
N times, 34-36
EXSLT string functions, 54
extension functions, 54-57
literals, handling quote characters, 212
numbers, base conversions, 73-76
padding, 55
picture, 149
regular expressions
matches, emulating, 51
matching text patterns, 52-54
replacing search strings with replacement nodes, 55
reversing, 17, 36-41
searching
divide and conquer, 33, 50
word delimiters, 42
splitting, 56
substrings
replacing, 41-46
searching, 28-33
searching positions of, 26
testing, 25
tokenizing, 48-51
URI-encoded, 56
whitespace, deleting, 27
XPath
applying axes, 2-7
filtering nodes, 7-10
sequences, 10-12
stringWidth( ) method, 636
structure-preserving queries, executing, 332
structuring testing, 680-682
stub code, generating message-handling, 491-494
StyleElement method, 642
styles
events, 669
lines, 436
stylesheets
copying, 274
creating, 529
debugging, 669-675
DocBook, 700
embedding, 400
testing, 675-680
Excel, 552
HTML, 392-398
identity transforms, 274
managing whitespace, 223
pie charts, 444
porting, 198-200
summary, implementing, 726
templates
SVG, 415
tags, 689
tracing navigation, 663
tree diagrams, 458
troubleshooting, 660-663
tracing navigation, 663-669
whitespace in, 223
xml-stylesheet processing instructions, 370, 400
stylized text, tokenizing, 53
stylizing documents into HTML, 369-376
subdocuments, partitioning elements, 298-300
subject Indicators, 575
subparts of parent documents, incorporating, 293
substring( ) function, 25
substring-after( ) function, 32, 43
substring-before( ) function, 32, 43
substrings
replacing, 41-46
searching, 26, 28-33
testing, 25
sum( ) function, 92
summary stylesheets, implementing, 726
sums, computing, 88-93, 709
superclass-subclass relationship, 573
SVG (Scalable Vector Graphics), xiv, 408
boilerplates, transforming, 409-417
HTML, embedding, 463-472
reusable generation utilities, 417-453
tree diagrams, 453-463
Visio VDX documents, converting to, 536-548
svgElement property, 542
switching code, 486-491
system-property( ) function, 217
T[ Top ]
tables
elements, processing encoded, 625
grouping data, 381
HTML, 379-387
tags, templates, 689-693
tail recursion, 39, 41
Template method, 202
template-method patterns (hierarchies), 261
templates
algorithm-page layout, 590
axes, 423
BarStyle, 429
bitTest, 109
boilerplate, SVG, 411
boundary conditions, 683
Difference, 322
formatting, 585
generic bounded aggregation functions, creating, 712-719
generic mapping functions, creating, 720-728
generic node-set templates, creating, 728-732
initiators, avoiding coupling, 204
integrating, 719
Intersection, 322
Julian days, converting, 123
low-priority, adding behavior, 204
math:log10-util, 80
math:power-frac, 84
overriding, 426, 436, 687-689
simple named, converting, 191
stylesheets, 415
tags, 689-693
Union, 322
visio-nurbs.xsl, 546
XPath, 1
Tennison, Jeni, 39, 48
test data-entry web clients, 505
test-entry web CGI, 507-512
testing
assertions, 662
bits, 106-111
boundary conditions, 683-685
code, 679
error conditions, 683-685
fonts, 637
sequences, 17
structuring, 680-682
stylesheets, embedding, 675-680
substrings, 25
troubleshooting, 680
text, 205-208
augmenting, 53
columnar reports, creating, 242-252
hierarchies, displaying, 253-261
output, 219
indentation, 253
numbering, 261-270
parsing, 54
patterns, matching, 52-54
replacing, 41-46, 53
whitespace, formatting, 220-225
wrapping, 270-273
TextLayout class, 636
Tidwell, Doug, 640
times, xiii
formatting, 141-153
functions, 112
(see also date-and-time functions)
TITLE header, 586
TODO sections, 493
tokenize( ) function, 31, 50
tokenizing
formatting, 60
str:tokenize( ) function, 55
strings, 48-51
stylized text, 53
Třndering, Claus, 115
tools
catchXSL!, 669
stylesheets
embedding unit test data, 675
structuring unit test data, 680
xsl:message, 660
Topic Maps, 535
algorithms, 579
architecture, 592
topics
classes, 562
mapping, conventions for, 559
unconstrained, 574
tracing stylesheet navigation, 663-669
Transformation API for XML (TrAX), 657
transformations, xii
transforms
identity, 274
modes, 378
splitting, 616
XMI to XTM, 560
XML to text, 219
translate element, 221
translate( ) function, 27, 46, 52
translating
classes into topics, 562
Visio diagrams, 548
traversals, 157
binary trees, 174
in-order, 174
in-order, executing, 174-177
level-order, executing, 178-183
nodes, processing by position, 183-189
ports and bindings, 597
postorder, executing, 171-174
preorder, 166, 167
executing, 167-171
TrAX (Transformation API for XML), 657
trees
deepening, 303-308
extended information about, 621
flattening, 300-303
reorganizing, 308-312
SVG diagrams, 453-463
XML
filtering nodes, 7-10
selecting nodes, 2-7
sequences, 10-12
trigonometry, 439
troubleshooting
dynamic errors, 627
Perl, 654-656
porting, 198-200
serialization, 208
stylesheets
automating insertion of debug output, 669-675
tracing navigation, 663-669
testing, 680
types, 8
xsl:message element, 660-663
(see also errors)
tunnel parameters, 201
types
attributes, 210
converting, 199
errors, 8
XPath, 20-22
type-safe functions, 197
U[ Top ]
UML (Unified Modeling Language), 481
associations, 572
classes, 560
code generation, 512-528
XTM Topic Maps, generating from, 559-578
unconstrained topics, 574
Unified Modeling Language (see UML)
union operation (|), 18
Union template, 322
unit test data, structuring, 680-682
unparsed-text( ) function, 207
unstructured text, processing, 205-208
uppercase strings, converting, 46-48
upper-case( ) function, 46
URI-encoded strings, 56
userScale parameter, 537
V[ Top ]
validation attribute, 210
values
absolute, 76
full representation of, 151
grouping by, 193
modifying, 625
numerical, converting, 117-121
semantics, applying, 317-327
set equality, determining by, 327-331
variables, 625
variables
$data, 688
$data1-public-data, 687
$punc, 42
global, 687-689
indexes, 30
values, 625
variances, computing, 100-104
variants, 560, 564
vector graphics, 408
(see also SVG)
vertical XSLT applications
Excel, exporting to XML, 549-559
Visio VDX documents, converting to SVG, 536-548
WDSL, SOAP documentation from, 593-606
XTM Topic Maps, 559-578
generating web sites, 578-593
viewing hierarchies, 253-261
Visio
diagrams, 548
document masters, 542
VDX documents, converting to SVG, 536-548
visio-nurbs.xsl template, 546
W[ Top ]
Wall, Larry, xi
weaving XML documents together, 295
web pages, creating SVG, 463-472
Web Service Definition Language (WSDL), 536
SOAP documentation from, 593-606
web sites, 584
CTW, 578
root topic, 583
XTM Topic Maps, generating from, 578-593
week numbers, calculating, 125
whitespace
adding, 222
deleting, 27, 220
formatting, 220-225
newline characters, adding, 223
removing from strings, 27
in stylesheets, 223
wildcards, constructing, 29
wizards, 493
word delimiters, searching, 42
Worksheets, 558
wrapping text, 270-273
writing
functions, 626
programming, 626
WSDL (Web Service Definition Language), 536
SOAP documentation from, 593-606
X[ Top ]
Xalan extensions, applying, 614-627
Xalan-Java 2 extensions, 610, 612
X-axes
formatting, 421
generating, 417
XInclude, 294
xinclude element, 390
XMI (XML Metadata Interchange), 481
xmi.id attribute, 562
xmi.idref attribute, 562
XML (Extensible Markup Language)
attributes
converting to elements, 275-277
renaming, 282-288
converting, 54
delimited data, exporting to, 225-242
documents
creating HTML frames, 387-392
creating HTML self-contained transformations, 398-402
creating HTML stylesheets, 392-398
creating HTML tables, 379-387
deepening hierarchies, 303-308
flattening hierarchies, 300-303
hyperlinking HTML, 376-379
merging with identical schemas, 288-293
merging with unlike schemas, 293-298
populating HTML forms, 402-407
reorganizing hierarchies, 308-312
splitting, 298-300
stylizing into HTML, 369-376
elements
converting to attributes, 277-282
renaming, 282-288
Excel, exporting to, 549-559
nodes
filtering, 7-10
selecting, 2-7
sequences, 10-12
queries, 313
applying value semantics, 317-327
determining set equality, 327-331
executing structure-preserving, 332
implementing W3C XML query-use case, 339-367
joins, 334-338
performing set operations on node sets, 314-317
SAX, 503
text
creating columnar reports, 242-252
displaying hierarchies, 253-261
formatting whitespace, 220-225
numbering output, 261-270
wrapping, 270-273
XML Metadata Interchange (see XMI)
xml:lang attribute, 147
xml-stylesheet processing instructions, 370, 400
XPath
axes, applying, 2-7
enabling, 533
expressions, 627
parsing, 642
floor( ) function, 115
if statements, modifying, 12-14
nodes
comparisons, 19
filtering, 7-10
sequences, 10-12
overview of, 1
regular expression matches, emulating, 22
set operations, applying, 18
strings
duplicating, 14-17
reversing, 17
sum( ) function, 92
types, 20-22
XPath 2.0
conditional if expressions, 13
strings
duplicating, 15
reversing, 17
XQuery, 313
XSD schemas, 600
xsl:apply-templates element, 213
xsl:attribute element, 213
xsl:call-template element, 213
xsl:comment element, 213
xsl:copy element, 214, 287
xsl:copy-of element, 214, 287, 293
xsl:date-format element, 147
xsl:decimal-format element, 59
xsl:element element, 214, 282
xsl:for-each command, 178
xsl:for-each element, 214
xsl:for-each-group instruction element, 192
xsl:include element, 679
xsl:key element, 289, 335
xsl:message element, 214
troubleshooting with, 660-663
xsl:normalize-space element, 220
xsl:number element, 60, 66, 72, 215, 269
xsl:output element, 215
xsl:param element, 215
xsl:preserve-space element, 222
xsl:processing-instruction element, 216
xsl:sort command, 178, 183
xsl:strip-space element, 216, 220
xsl:stylesheet element, 216
xsl:template element, 216
xsl:text element, 221, 222
xsl:value-of element, 216
xsl:variable element, 216
xsl:with-param element, 216
XslForEach class, 647
XSLT (Extensible Stylesheet Language Transformation)
new features of, 212-218
overview of, xi
XSLT from XSLT, generating, 528-534
XslText.java source code, 648
xslx:et-context method, 641
xslx:templtext element, 646
XSmiles, 369
XTM Topic Maps, 559-578
web sites, generating, 578-593
XMI, 560
XY plots, 432
Y[ Top ]
Y-axes
formatting, 421
generating, 417
Zurück zu XSLT Cookbook