XPath 2.0 is the foundation of two essential recommendations currently in the final stages of development at W3C: XSLT 2.0 and XQuery. It is a major rewrite designed to significantly increase the power and efficiency of the language. In this article, Benoît Marchal shows how the new data model enables you to easily write more sophisticated requests.
Marchal, Benoit. IBM (2006). Articles>Information Design>XML>XSL
Integrating Partner Information Using XML and XSL 
BMC Software Inc., a company that writes utility tools for database administrators, wanted to reuse the error messages from partner database companies. Having learned that two of these database companies already used single-source files for their error messages, BMC Software integrated the information about the error messages from the database companies. We accomplished our goal by negotiating with our partner companies for the source files of the error message information. This session discusses how we took those source files and modified them to create simple XML files, then transformed them into HTML using XSL transforms within a product.
Gentle, Anne. STC Proceedings (2004). Articles>Information Design>XML>XSL
An Introduction to Extensible Stylesheet Language 
Introduces the three technologies that comprise the Extensible Stylesheet Language (XSL) family of specifications as defined by the World Wide Web Consortium (W3C).
Hodge, Drew W. Intercom (2004). Articles>Information Design>XML>XSL
XPath is a language for addressing parts of an XML document, designed to be used by both XSLT and XPointer. In this article we will learn about XPath, XPath expressions and how to use XPath in .NET and Java.
Zaman, Mamun. Dev Articles (2007). Articles>Information Design>XML>XSL
Opening Open Formats with XSLT
This month I'm taking a break from covering XSLT 2.0 to describe how the combination of XSLT 1.0 and an application with an open XML format solved a problem for me. I solved this problem so quickly and easily that it got me thinking about how the combination of XSLT 1.0 and the increasing amount of open XML formats are opening up a world of simple, valuable new applications and utilities for us to write.
DuCharme, Bob. OpenOffice.org (2004). Articles>Information Design>XML>XSL
Publishing XML Content with XSL

How do you convert your application-neutral, vendor-neutral, unformatted XML content into paginated content (such as PDF) or HTML? O'Keefe introduces one solution: the Extensible Stylesheet Language, a programming language for processing XML.
O'Keefe, Sarah S. Intercom (2008). Articles>Information Design>XML>XSL
Use PHP to create XForms, Part 1: Creating a PHP XForms library
This two-part article series is designed to get PHP developers up to speed in leveraging Web 2.0 XForms forms for their PHP forms development so that they can finally put their outdated Web 1.0 HTML forms away. This will be accomplished by creating a library of functions that generate XForms elements when called upon. In this article, Part 1 of a two-part series, developers will create the XForms library using PHP, allowing each function to take in parameters and output XForm elements.
Anderson, Tyler. IBM (2007). Articles>Information Design>XML>XSL
Use PHP to create XForms, Part 2: Using the PHP XForms Library to Create Useful XForms
This two-part article seriess is designed to get PHP developers up to speed in leveraging Web 2.0 XForms forms for their PHP forms development so that they can finally put their outdated Web 1.0 HTML forms away. In Part 1, you created the PHP XForms library. In this article, Part 2, you will enhance the library to include some error checking and convenience functions to help make using the library more manageable, and lastly you'll demo the library by creating a proof of concept XForm.
Anderson, Tyler. IBM (2007). Articles>Information Design>XML>XSL
XPath is a way of pulling out particular data from an XML document. It is used by XSL to determine what should be output in your documents. It is essentially a systematic way of defining an address of each piece of data.
Tech Write Tips (2006). Articles>Information Design>XML>XSL
In this conclusion to a three-part series on path expressions, you'll learn about complex predicates, dynamic paths, and more. This article is excerpted from chapter four of the book XQuery.
Walmsley, Priscilla. Dev Articles (2008). Articles>Information Design>XML>XSL
Extending XQuery for Grouping, Duplicate Elimination, and Outer Joins 
XQuery is the W3C’s emerging language standard for querying and transforming XML. XQuery is a powerful, flexible language designed to query the many kinds of structured and unstructured data that XML can represent. Despite its power, certain familiar SQL query operations, such as grouping, duplicate elimination, and outer-joins, are either difficult or impossible to express “reasonably” in XQuery. These primitives are important for data-oriented applications of XML, particularly applications that have a need for reporting (e.g., for OLAP and statistical querying). This paper presents a small set of XQuery extensions to enable grouping, duplicate elimination, and outer-join queries all to be expressed neatly within the XQuery language. The proposal does minimal “damage” to the XQuery standard; it generalizes the current FLWOR expression syntax of XQuery and requires no changes to the underlying XQuery data model. The extensions are slated to appear in the next major revision of the BEA XQuery engine and its encompassing products.
Borkar, Vinayak and Michael Carey. IDEAlliance (2004). Articles>Information Design>XML>XSL
Building an XPath-Powered Framework for XML Data Processing
As XML formatted content and data becomes pervasive on intranets and the Internet the requirement to minimize individual process times becomes great. XPath has been evolving into a rich expression language to query and extract data in a precise way. While it has been designed to be used by a host language such as XSLT and XQuery, an XPath processor can be used quite usefully standalone or as part of an application framework.
Scardina, Mark and Jinyu Wang. IDEAlliance (2004). Articles>Information Design>XML>XSL
XSL Transform Self-Documentation
The XSL stylesheets used at PubMed Central for data conversion present a particular challenge because documentation is needed not only for the reference of developers, but also for digital archivists to ensure that the conversion process conforms to accepted archiving standards. The choices that developers make in writing conversion filters need to be transparent and reviewable. To meet this need, we defined a format for inserting documentation into XSL stylesheets. The documentation had to be easy to maintain and needed to be capable of generating documentation for developers, archivists, and other stakeholders.
Tao, Sandy, Jeff Beck and Demian Hess. IDEAlliance (2005). Articles>Information Design>XML>XSL
One of the tenets of modern software design is that early and frequent testing is a key contributor to successful application development. Unit testing frameworks, tools designed to ease the development and execution of unit tests, exist for many programming languages. This paper discusses how unit testing can be applied to the development of stylesheets and describes a testing framework for XSLT 2.0 unit tests.
Walsh, Norman. IDEAlliance (2005). Articles>Information Design>XML>XSL
XQueryP: An XML Application Development Language
XQuery is a language that operates on XML in its native data model, using the type system of XML Schema. By the time of the XML 2006 conference, XQuery Version 1.0 will probably be adopted as a W3C Recommendation. Like SQL, XQuery is declarative and functional, which makes it well-suited for automatic optimization. XQuery Version 1.0 is designed for querying and transforming XML data, and W3C has published a working draft of an XQuery extension for updating XML data. With an additional small extension, XQuery could be turned into a native application development language for XML, eliminating the impedance mismatch problem. An earlier paper briefly outlined such an extension, called XQueryP. This paper expands on the XQueryP proposal, adding more details, additional features such as error handling, and some use cases that illustrate the use of the extended language in various different environments.
Kossmann, Donald. XML 2006 (2006). Articles>Information Design>XSL>XML
Controlling Whitespace, Part 1
XML considers four characters to be whitespace: the carriage return, the linefeed, the tab, and the spacebar space. Microsoft operating systems put both a carriage return and a linefeed at the end of each line of a text file, and people usually refer to the combination as the "carriage return". XSLT stylesheet developers often get frustrated over the whitespace that shows up in their result documents -- sometimes there's more than they wanted, sometimes there's less, and sometimes it's in the wrong place. Over the next few columns, we'll discuss how XML and XSLT treat whitespace to gain a better understanding of what can happen, and we'll look at some techniques for controlling how an XSLT processor adds whitespace to the result document.
DuCharme, Bob. XML.com (2001). Articles>Information Design>XML>XSL
Automating Stylesheet Creation
Since the early days of XSLT, many have asked whether it was possible to automate the creation of XSLT stylesheets. The general idea of filling out a form or dragging some icons around, then clicking a button and seeing a productive stylesheet generated from your input has always appealed to people. However, the problem of generating working XSLT syntax from the result of someone clicking on pull-down menus and radio buttons has not attracted many takers.
DuCharme, Bob. XML.com (2005). Articles>Information Design>XML>XSL
In a recent weblog post, XML.com's "Python and XML" columnist Uche Ogbuji provided a nice collection of links to discussions about the push vs. pull styles of XSLT stylesheet development. What do we mean by "push" and "pull"? As a short example of each, let's look at two approaches to converting the following DocBook document to XHTML.
DuCharme, Bob. XML.com (2005). Articles>Information Design>XML>XSL
XPath 1.0 (and hence your XSLT style sheets) considers two elements to be equal if their string values are the same. The string value is essentially all of the PCDATA between the element's start and end tags, even if the element has descendant elements. For example, an XSLT processor considers the w and z elements in the following to be equal, because they both have a string value of "abcdefghi".
DuCharme, Bob. XML.com (2005). Articles>Information Design>XML>XSL
Covers XPath's new ability to do some things that every real programming language can do: conditional statements and iteration, or, as they're more colloquially known, "if" statements and "for" loops. We'll also look at a useful related technique for checking whether certain conditions do or don't exist in a set of nodes.
DuCharme, Bob. XML.com (2005). Articles>Information Design>XML>XSL
Using XSLT to Filter and Sort Records in the Browser
With XSLT support fast becoming a commonly available component in the browser, web developers can now leverage transformations to manipulate large amounts of data in the browser at speeds acceptable for more advanced user interfaces. Once Safari gets its act together, I see more and more UI-specific data processing being moved off of the server into the browser. This article outlines the process involved in transforming the del.icio.us user API XML document into an HTML fragment.
Johnvey (2005). Articles>Information Design>XML>XSL
Scaling Up with XQuery, Part 1
The value of XQuery is not in its role as an alternative syntax to XSLT 2.0 for manipulating XML; it's in the implementations, which let you quickly retrieve, sort, and manipulate specific subsets of XML from collections that can measure in the terabytes. The ability to store large, indexed collections of data that don't fit neatly into normalized relational tables will create possibilities for all kinds of new applications, both inside and outside of the publishing world.
DuCharme, Bob. XML.com (2006). Articles>Information Design>XML>XSL
Scaling Up with XQuery, Part 2
Gets you to the point where you could start exploring those features with a reasonably large collection of your own data. Without spending any money, you can check them all out and discover the advantages to having large amounts of your XML stored in a database where you (or an application!) can use a W3C standard language to quickly retrieve what you want from that database.
DuCharme, Bob. XML.com (2006). Articles>Information Design>XML>XSL
XQuery is to XML what SQL is to database tables. XQuery was designed to query XML data.
W3Schools (2007). Articles>Information Design>XML>XSL
There are 10 readers currently online: 1 registered user and 9 guests. Register.

![]()
![]()


![]()
![]()
![]()