Menu

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

Automating Stylesheet Creation
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
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!
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
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
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
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
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
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
Bob DuCharme shows how easily XSLT processors can retrieve and use data from RESTful web services.
[Dec. 1, 2004]

Using Customized Schema Constraints
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
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
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
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
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
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
In this month's Transforming XML column Bob DuCharme continues his tour of generic, utility stylesheets.
[May. 5, 2004]

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

Tunneling Variables
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Bob DuCharme explores XSLT extension functions, showing you the best way to use them in portable stylesheets.
[Sep. 5, 2001]

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

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

Using the W3C XSLT Specification
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]