Menu

Robert DuCharme's column provides regular practical examples of using XSLT to transform XML.

Automating Stylesheet Creation

By Bob DuCharme
Bob DuCharme shows how an XSLT stylesheet can read simplified XML-conversion instructions and create a new, working XSLT stylesheet from those instructions.  [Sep. 7, 2005]

Appreciating Libxslt

By Bob DuCharme
In this month's Transforming XML column, Bob DuCharme introduces libxslt, a very performant and feature-rich XSLT processor with roots in the GNOME world. [Aug. 3, 2005]

Push, Pull, Next!

By Bob DuCharme
Bob DuCharme compares the push and pull styles of XSLT stylesheet architectures and looks at two new XSLT 2.0 instructions that aid push-style development. [Jul. 6, 2005]

Seeking Equality

By Bob DuCharme
Bob DuCharme looks at how XSLT 1.0 and 2.0 let you evaluate whether two elements are equal. [Jun. 8, 2005]

The Path of Control

By Bob DuCharme
In his latest Transforming XML column, Bob DuCharme examines the potential contribution of XPath 2.0's new control structures to XSLT 2.0 stylesheets.  [May. 4, 2005]

Using Stylesheet Schemas

By Bob DuCharme
In this month's Transforming XML column, Bob DuCharme asks what a DTD or schema for XSLT stylesheets can add to your XSLT development and deployment. [Apr. 6, 2005]

The XPath 2.0 Data Model

By Bob DuCharme
Bob DuCharme, in his latest Transforming XML column, examines the XPath 2.0, hence the XSLT 2.0, data model. [Feb. 2, 2005]

Extending XSLT with EXSLT

By Bob DuCharme
In this month's Transforming XML column, Bob DuCharme reports happily that the promise of XSLT extensibility via EXSLT has become a reality. [Jan. 5, 2005]

XSLT Web Service Clients

By Bob DuCharme
Bob DuCharme shows how easily XSLT processors can retrieve and use data from RESTful web services. [Dec. 1, 2004]

Using Customized Schema Constraints

By Bob DuCharme
In the return of Bob DuCharme's Transforming XML column, he discusses ways to add customized constraints to schemas and how you can use XSLT as a bridge to implement them. [Nov. 10, 2004]

Schematron 1.5: Looking Under the Hood

By Bob DuCharme
In his latest Transforming XML column Bob DuCharme explains the elegant simplicity of Schematron, a rule-based XML validation tool often implemented in XSLT. [Oct. 6, 2004]

Converting XML to RDF

By Bob DuCharme
Bob DuCharme explains how to convert XML into RDF -- using the XML returned by Amazon's REST web service -- in this month's Transforming XML column. [Sep. 1, 2004]

Amazon's Web Services and XSLT

By Bob DuCharme
In his latest Transforming XML column, Bob DuCharme introduces us to the XSLT processing-service component of Amazon's web services. [Aug. 4, 2004]

An Interview with Michael Kay

By Bob DuCharme
In his latest Transforming XML column, Bob DuCharme interviews Michael Kay, developer of Saxon, about his new venture, Saxonica. [Jul. 7, 2004]

Entity and Character References

By Bob DuCharme
In this month's Transforming XML Bob DuCharme examines some of the issues surrounding entity and character references in XSLT 2.0. [Jun. 2, 2004]

Utility Stylesheets, Part Two

By Bob DuCharme
In this month's Transforming XML column Bob DuCharme continues his tour of generic, utility stylesheets. [May. 5, 2004]

Utility Stylesheets

By Bob DuCharme
In Bob DuCharme's latest Transforming XML column he shares several small stylesheets that follow a common design pattern. [Apr. 7, 2004]

Tunneling Variables

By Bob DuCharme
In Bob DuCharme's latest Transforming XML column he explains the use and virtues of XSLT 2.0's tunneled variables. [Mar. 24, 2004]

Opening Open Formats with XSLT

By Bob DuCharme
In Bob DuCharme's latest Transforming XML column he finds that four-year old XSLT 1.0 is solving more and more problems as more data becomes available in XML. [Feb. 4, 2004]

Trees, Temporarily

By Bob DuCharme
In his latest Transforming XML column Bob DuCharme explains XSLT 2.0's Temporary Trees, and then he demonstrates how to use them. [Dec. 3, 2003]

Grouping With XSLT 2.0

By Bob DuCharme
In his latest Transforming XML column Bob DuCharme explains how to use the new grouping facilities in XSLT 2. [Nov. 5, 2003]

Datatype Checking With XSLT 2.0

By Bob DuCharme
In his latest Transforming XML column Bob DuCharme discusses the new datatypes system in the latest major release of XSLT. [Oct. 1, 2003]

Writing Your Own Functions in XSLT 2.0

By Bob DuCharme
In this month's Transforming XML column Bob DuCharme explains how to write arbitrary XSLT functions in XSLT 2.0. [Sep. 3, 2003]

New and Improved String Handling

By Bob DuCharme
In this month's Transforming XML column Bob DuCharme explains some of the new and improved string handling functions -- for concatenation, search, and replace -- in XSLT/XPath 2.0. [Aug. 6, 2003]

Transclusion with XSLT 2.0

By Bob DuCharme
In Bob DuCharme's latest Transforming XML column he examines some new XSLT 2.0 features which make document transclusion a reality. [Jul. 9, 2003]

Regular Expression Matching in XSLT 2

By Bob DuCharme
In this month's Transforming XML column Bob DuCharme explains why XSLT 2.0's new regular expression support will yield an expressive, powerful tool. [Jun. 4, 2003]

XSLT 2 and Delimited Lists

By Bob DuCharme
In his latest Transforming XML column Bob DuCharme begins a multipart expoloration of some of the features of the forthcoming XSLT 2.0 release. In this column DuCharme discusses the new support for tokenizing strings. [May. 7, 2003]

Conditional Execution

By Bob DuCharme
In Bob DuCharme's latest Transforming XML column, he explains how to use xsl:if and xsl:choose for conditional execution in XSLT transformations. [Apr. 2, 2003]

Prototyping One-to-many Links with XSLT

By Bob DuCharme
In his latest Transforming XML adventure, Bob DuCharme explains how to use XSLT to experiment with one-to-many hypertext links. [Mar. 5, 2003]

XSLT, Browsers, and JavaScript

By Bob DuCharme
Bob DuCharme, in this month's Transforming XML column, shows us how to include JavaScript in the HTML result tree of XSLT transformations. [Feb. 5, 2003]

Never Mind the Namespaces: An XSLT RSS Client

By Bob DuCharme
In his latest Transforming XML column, Bob DuCharme develops a simple, yet functional RSS aggregation client in XSLT. [Jan. 2, 2003]

Automatic Numbering, Part Two

By Bob DuCharme
In his latest Transforming XML column, Bob DuCharme returns to the issue of creating number sequences automatically in XSLT output. [Dec. 11, 2002]

Automatic Numbering, Part 1

By Bob DuCharme
In this month's Transforming XML column Bob Ducharme explains the use of xsl:number in handling numbers in XSLT stylesheets. [Nov. 6, 2002]

Duplicate and Empty Elements

By Bob DuCharme
In his monthly Transforming XML column, Bob DuCharme explains how to detect, delete, and create duplicate and empty elements in source and result trees. [Oct. 2, 2002]

Controlling the DOCTYPE and XML Declaration

By Bob DuCharme
In this month's Transforming XML column, Bob DuCharme explains how to use XSLT's xsl:output attributes to add or suppress DOCTYPE and XML declarations to result documents. [Sep. 4, 2002]

Finding the First, Last, Biggest, Smallest

By Bob DuCharme
In this month's Transforming XML column, Bob DuCharme explains how to do without a query language using XPath expressions, XSLT predicates, and last month's sorting tricks, he explains how to find the first, last, biggest and smallest nodes. [Aug. 7, 2002]

Sorting in XSLT

By Bob DuCharme
In this month's Transforming XML column, Bob DuCharme explains the various uses of xsl:sort, including sort ordering, multiple keys, and reversing the sort. [Jul. 3, 2002]

Comparing and Replacing Strings

By Bob DuCharme
In this month's Transforming XML column, Bob DuCharme gives us the ins and outs of string munging in XSLT, including string equality comparisons and search-and-replace operations. [Jun. 5, 2002]

Splitting and Manipulating Strings

By Bob DuCharme
This month the Transforming XML column explains how to use XSLT and XPath to manipulate strings in XML documents. [May. 1, 2002]

Putting Attributes to Work

By Bob DuCharme
In this month's Transforming XML column, Bob DuCharme examines the treatment of source tree attributes in XSL stylesheets. [Apr. 3, 2002]

Reading Multiple Input Documents

By Bob DuCharme
This month's Transforming XML column explains how to use XSLT's document() function to insert all or part of a document into the result tree.  [Mar. 6, 2002]

Declaring Keys and Performing Lookups

By Bob DuCharme
This month's Transforming XML column explains how to use xsl:key and key() to do value lookups in XSLT stylesheets. [Feb. 6, 2002]

Controlling Whitespace, Part Three

By Bob DuCharme
In the third part of his series on handling whitespace in XSLT, Bob DuCharme discusses outputting tab characters and automated element indenting. [Jan. 2, 2002]

Controlling Whitespace, Part Two

By Bob DuCharme
Bob DuCharme continues his three-part series on controlling whitespace in XSLT using xsl:text and other techniques.  [Dec. 5, 2001]

Controlling Whitespace, Part 1

By Bob DuCharme
In the first of a multipart series, Bob DuCharme discusses stripping and preserving whitespace in XSLT transformations of XML documents. [Nov. 7, 2001]

Generating Unique IDs and Linking to Them

By Bob DuCharme
Bob DuCharme explains the creation and use of unique element IDs, using XSLT's generate-id(), in order to build complex document links. [Oct. 3, 2001]

XSLT Extensions

By Bob DuCharme
Bob DuCharme explores XSLT extension functions, showing you the best way to use them in portable stylesheets. [Sep. 5, 2001]

Getting Loopy

By Bob DuCharme
Ducharme discusses how to achieve common looping constructs, like "for" and "while", in XSLT. [Aug. 1, 2001]

Math and XSLT

By Bob DuCharme
XSLT is primarily for transforming text, but you can use it to do basic math too. [Jul. 5, 2001]

Using the W3C XSLT Specification

By Bob DuCharme
For advanced XSLT use, the W3C's XSLT specification can be a handy tool. This guide helps you read the specification and clears up confusing terms. [Jun. 6, 2001]

Namespaces and Stylesheet Logic

By Bob DuCharme
This month Bob DuCharme uses XSLT to process namespaces in source XML documents, including translating XLink into HTML. [May. 2, 2001]

Namespaces and XSLT Stylesheets

By Bob DuCharme
A guide to using XSLT to create documents that use XML Namespaces. [Apr. 4, 2001]

Entities and XSLT

By Bob DuCharme
Using XML entities can be tricky -- this article covers their usage with XSLT in both input and output documents. [Mar. 14, 2001]

Setting and Using Variables and Parameters

By Bob DuCharme
This article shows how variables and parameters can be used in XSLT stylesheets to substitute values into templates.  [Feb. 7, 2001]

Axis Powers: Part Two

By Bob DuCharme
Part one of this series introduced the role of XPath axes in XSLT. This article explains the remaining axes and shows how to handle namespaces in XPath. [Jan. 3, 2001]

Axis Powers: Part One

By Bob DuCharme
In this first installment of a two-part series, we examine the vital role of XPath in XSLT, and introduce the axes used in XPath expressions. [Dec. 20, 2000]

Combining Stylesheets with Include and Import

By Bob DuCharme
XSLT provides two means of combining multiple stylesheets into one, include and import. This article explores the use of these instructions and shows how they can be used to customize the DocBook XSLT stylesheets. [Nov. 1, 2000]

Finding Relatives

By Bob DuCharme
XML nodes have many friends and relations. In XSLT, the key to finding them is XPath. In this article Bob DuCharme shows you how. [Oct. 4, 2000]

XSLT, Comments and Processing Instructions

By Bob DuCharme
XSLT isn't just for transforming elements and attributes. In this month's Transforming XML column we show how to create and transform processing instructions and comments too. [Sep. 13, 2000]

HTML and XSLT

By Bob DuCharme
While HTML isn't an XML application itself, it can be both generated and transformed using XSLT. Bob DuCharme show us how. [Aug. 30, 2000]

Adding New Elements and Attributes

By Bob DuCharme
This month's installment of our XSLT tutorial covers adding new elements and attributes to the results of your XSLT transformations. [Aug. 2, 2000]

Copying, Deleting, and Renaming Elements

By Bob DuCharme
In the first of our new monthly column on using XSLT, Bob DuCharme shows how to do basic transformations on XML documents. [Jun. 7, 2000]