XSLT Cookbook

Second Edition Januar 2006
ISBN 978-0-596-00974-8
Seiten 774
EUR48.00, SFR78.90


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

Z[ Top ]
zip files, 640

	

Zurück zu XSLT Cookbook


Themen

Buchreihen

Special Interest

International Sites

O'Reilly China O'Reilly France O'Reilly USA O'Reilly Japan O'Reilly Taiwan