Inside XSLT


Inside XSLT is designed to be a companion guide to Inside XML. This example oriented book covers XML to HTML, XML to Music, XML with Java, style sheet creation and usage, nodes and attributes, sorting data, creating Xpath expressions, using Xpath and XSLT functions, namespaces, names templates, name variables, designing style sheets and using XSLT processor API's, the 56 XSL formatting objects, the XSLT DTD, and much much more.

Read More Show ...
See more details below
Available through our Marketplace sellers.
Other sellers (Paperback)
  • All (13) from $1.99   
  • New (2) from $57.60   
  • Used (11) from $1.99   
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any coupons and promotions
Seller since 2008

Feedback rating:



New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.


Ships from: Chicago, IL

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Seller since 2015

Feedback rating:


Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Sort by
Sending request ...


Inside XSLT is designed to be a companion guide to Inside XML. This example oriented book covers XML to HTML, XML to Music, XML with Java, style sheet creation and usage, nodes and attributes, sorting data, creating Xpath expressions, using Xpath and XSLT functions, namespaces, names templates, name variables, designing style sheets and using XSLT processor API's, the 56 XSL formatting objects, the XSLT DTD, and much much more.

Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
Don't settle for an XSLT book that focuses solely on XML-to-HTML transformations. They're important, and will remain so, but they're only the tip of the iceberg. As XML languages and dialects proliferate, XML-to-XML transformations will become even more crucial, and you may find yourself generating RTF, plain text, even JavaScript and SQL-based databases. Steven Holzner covers all these, and much more, in his exhaustive Inside XSLT.

The companion to Holzner's bestselling Inside XML, this book covers all current (XSLT 1.1) elements and attributes, plus every XSLT and XPath function that can be used in XSLT stylesheets. Even better the breadth and depth of the explanations: there are literally hundreds of working examples.

Chances are, anything you'd need to do with XSLT is in here: handling white space, creating match patterns, making conditional "choice" decisions, sorting, working with templates, creating stylesheet rules, generating multiple output documents, performing XSLT transformations on web servers, connecting to databases, and using browsers to perform transformations on the fly -- to name more than a few. You'll even find introductions to several leading XSLT processors, including Xalan, Saxon, XT, and Oracle's XSLT processor. Inside XSLT: It's the definitive XSLT resource you're looking for. (Bill Camarda)

Bill Camarda is a consultant, writer, and web/multimedia content developer with nearly 20 years' experience in helping technology companies deploy and market advanced software, computing, and networking products and services. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks For Dummies®, Second Edition.

Read More Show Less

Product Details

  • ISBN-13: 9780735711365
  • Publisher: Pearson Education
  • Publication date: 7/20/2001
  • Series: Inside Series
  • Pages: 616
  • Product dimensions: 7.45 (w) x 9.10 (h) x 1.43 (d)

Table of Contents

1 Essential XSLT 1
A Little Background 2
XML Documents 6
What Does XML Look Like in a Browser? 11
XSLT Transformations 12
Making an XSLT Transformation Happen 15
Using Standalone XSLT Processors 16
Using Browsers to Transform XML Documents 23
Using XSLT and JavaScript in the Internet Explorer 26
XSLT Transformations on Web Servers 27
XML-to-XML Transformations 29
XML-to-XHTML Transformations 32
XSLT Resources 35
XSL Formatting Objects: XSL-FO 41
XSL-FO Resources 41
Formatting an XML Document 42
The XSLT Stylesheet 43
Transforming a Document into Formatting Object Form 45
Creating a Formatted Document 48
2 Creating and Using Stylesheets 51
Trees and Nodes 51
The Information Set Model Versus the XSLT Tree Model 57
Working with XSLT Elements 58
The [left angle bracket]?xsl:stylesheet?[right angle bracket] Processing Instruction 59
The [left angle bracket]xsl:stylesheet[right angle bracket] Element 60
Top-Level Stylesheet Elements 63
The [left angle bracket]xsl:template[right angle bracket] Element 65
Template Bodies 65
The [left angle bracket]xsl:apply-templates[right angle bracket] Element 69
Accessing Node Values 72
XML Base Support 77
Choosing Output Methods 78
Simplified Stylesheets 85
Embedded Stylesheets 86
The [left angle bracket]xsl:include[right angle bracket] Element 89
The [left angle bracket]xsl:import[right angle bracket] Element 91
The [left angle bracket]xsl:apply-imports[right angle bracket] Element 92
Using Internet Explorer to Transform XML Documents 94
3 Creating and Using Templates 97
Creating a Template 97
Processing Child Nodes 99
Accessing Node Values 101
Creating Match Patterns 102
Selecting Which Template to Apply 103
Reading Attribute Values 107
The [left angle bracket]xsl:text[right angle bracket] Element 109
Disabling Output Escaping 111
Writing Attribute Values 114
Attribute Value Templates 115
Handling Whitespace 117
The [left angle bracket]xsl:strip-space[right angle bracket] and [left angle bracket]xsl:preserve-space[right angle bracket] Elements 119
Automatic Indenting 120
Default Template Rules 124
Deleting Content 127
Template Conflict Resolution 128
The [left angle bracket]xsl:copy[right angle bracket] Element 131
The [left angle bracket]xsl:copy-of[right angle bracket] Element 134
The [left angle bracket]xsl:message[right angle bracket] Element 135
4 Creating Match Patterns 139
Matching the Root Node 141
Matching Elements 141
Matching Children 141
Matching Element Descendants 142
Matching Attributes 142
Formally Defining Match Patterns 144
Part 1 of Step Patterns: Pattern Axes 147
Part 2 of Step Patterns: Node Tests 150
Part 3 of Step Patterns: Predicates 155
Creating Predicates 158
Matching by ID 170
Matching by Key 171
Using the Or Operator 173
Pattern Examples 175
5 Making Choices and Sorting Data 185
The [left angle bracket]xsl:if[right angle bracket] Element 186
The [left angle bracket]xsl:choose[right angle bracket], [left angle bracket]xsl:when[right angle bracket], and [left angle bracket]xsl:otherwise[right angle bracket] Elements 190
The [left angle bracket]xsl:for-each[right angle bracket] Element 198
Sorting Elements 202
The [left angle bracket]xsl:number[right angle bracket] Element 207
XSLT Extensibility 216
Extension Functions 218
Extension Elements 227
The [left angle bracket]xsl:fallback[right angle bracket] Element 229
6 Transforming from XML to XML, HTML, XHTML, RTF, and Modifying Document Content 231
The [left angle bracket]xsl:output[right angle bracket] Element 233
Altering Document Structure Based on Input 250
The [left angle bracket]xsl:element[right angle bracket] Element: Creating New Elements at Run Time 250
The [left angle bracket]xsl:attribute[right angle bracket] Element: Creating New Attributes 253
The [left angle bracket]xsl:comment[right angle bracket] Element: Generating Comments 255
The [left angle bracket]xsl:processing-instruction[right angle bracket] Element: Generating Processing Instructions 256
The [left angle bracket]xsl:document[right angle bracket] Element: Generating Multiple Output Documents 258
The [left angle bracket]xsl:namespace[right angle bracket] Element: Generating Namespace Declarations 260
The [left angle bracket]xsl:attribute-set[right angle bracket] Element: Generating Attribute Sets 261
Omitting the XML Declaration and Generating XML Fragments 263
Using generate-id to Create Unique Identifiers 265
Creating CDATA Sections 269
Setting Character Encoding 271
Modes: Context-Specific Formatting 272
7 Using and Understanding XPath 281
Understanding XPath 283
XPath Data Types 286
Creating XPath Location Paths 296
Part 1 of XPath Location Steps: Axes 297
Part 2 of XPath Location Steps: Node Tests 298
Part 3 of XPath Location Steps: Predicates 299
Using the XPath Axes 300
Using the ancestor Axis 300
Using the ancestor-or-self Axis 301
Using the descendant Axis 302
Using the descendant-or-self Axis 304
Using the following Axis 305
Using the following-sibling Axis 306
Using the namespace Axis 307
Using the parent Axis 309
Using the preceding Axis 310
Using the preceding-sibling Axis 311
Using the self Axis 313
Location Path Examples 314
XPath Abbreviated Syntax 315
Checking XPath Expressions 316
XPath 2.0 317
8 Using the XSLT and XPath Functions 321
The XSLT Functions 323
The XPath Node Set Functions 342
The XPath String Functions 349
The XPath Number Functions 363
The XPath Boolean Functions 366
The [left angle bracket]xsl:decimal-format[right angle bracket] Element: Creating Numeric Formats 371
New Functions in XSLT and XPath 2.0 374
9 Named Templates, Parameters, and Variables 377
The [left angle bracket]xsl:variable[right angle bracket] Element: Creating Variables 378
The [left angle bracket]xsl:call-template[right angle bracket] Element: Using Named Templates 387
The [left angle bracket]xsl:param[right angle bracket] and [left angle bracket]xsl:with-param[right angle bracket] Elements: Creating Parameters 390
The [left angle bracket]xsl:key[right angle bracket] Element: Matching by Key 401
The [left angle bracket]xsl:document[right angle bracket] Element: Generating Multiple Result Documents 407
The [left angle bracket]xsl:namespace-alias[right angle bracket] Element: Generating Stylesheets 411
10 Using XSLT Processor APIs 415
XSLT and JavaScript in the Internet Explorer 416
Handling Parsing Errors 418
Internet Explorer and Dynamic Styles 421
Internet Explorer and XML Data Islands 427
Calling Java Directly from XSLT Processors 429
Interfacing to XSLT Java APIs 431
Interfacing Xalan to Java 432
Interfacing Saxon to Java 435
Interfacing the Oracle XSLT Processor to Java 438
Interfacing XT to Java 442
Transforming XML to SQL-Based Databases 445
Using XSLT with Active Server Pages 449
Using XSLT with Java Server Pages 452
Using XSLT with Java Servlets 454
11 Using XSLT to Create XSL-FO Documents: Text and Tables 457
XSL Formatting 457
The XSL-FO Formatting Objects 459
The XSL-FO Formatting Properties 463
Formatting an XML Document 471
Using an XSLT Stylesheet to Transform to XSL-FO 473
Creating the Document Root: [left angle bracket]fo:root[right angle bracket] 479
Creating the Master Set Layout: [left angle bracket]fo:layout-master-set[right angle bracket] 480
Creating a Page Master: [left angle bracket]fo:simple-page-master[right angle bracket] 481
Creating Regions 482
Creating Page Sequences: [left angle bracket]fo:page-sequence[right angle bracket] 484
Creating Flows: [left angle bracket]fo:flows[right angle bracket] 485
Creating Block-Level Content: [left angle bracket]fo:block[right angle bracket] 486
Creating Tables 490
Creating Tables: [left angle bracket]fo:table[right angle bracket] 497
Creating Table Columns: [left angle bracket]fo:table-column[right angle bracket] 498
Creating Table Bodies: [left angle bracket]fo:table-body[right angle bracket] 499
Creating Table Rows: [left angle bracket]fo:table-row[right angle bracket] 500
Creating Table Cells: [left angle bracket]fo:table-cell[right angle bracket] 502
12 Using XSLT to Create XSL-FO Documents: Lists, Images, Columns, and Positioning 505
Creating XSL-FO Lists 505
Positioning Text with Block Containers: [left angle bracket]fo:block-container[right angle bracket] 514
Inline-Level Formatting Objects 520
Creating Footnotes: [left angle bracket]fo:footnote[right angle bracket] and [left angle bracket]fo:footnote-body[right angle bracket] 529
Creating Links: [left angle bracket]fo:basic-link[right angle bracket] 532
Creating Columns 536
Page Sequences and Page Numbering 538
A The XSLT DTD 549
DTD Fragment for XSLT Stylesheets (Non-Normative) 551
B XSL-FO Formatting Properties 559
Index 577
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)