Chapter 9. Numbering Lists

If you would like to add numbered lists to a result tree, you can use the XSLT instruction element number. The number element allows you to do simple number formatting, generate alphabetical lists, use Roman numerals, insert individual formatted numbers, and number lists at various levels. (Before actually using number, however, you’ll first learn how to do numbering with the position( ) function.)

You can also format numbers with the XSLT function format-number( ), used optionally with the decimal-format instruction element. You can read more about the number element in Section 7.7 of the XSLT specification, and more about format-number( ) and decimal-format in Section 12.3 of the same spec.

Numbering with the number element can be complex and sometimes confusing with the possible combinations of all nine of its optional attributes. I won’t touch on all possible numbering schemes in XSLT in this chapter, as I don’t think it would be reasonable to do so, even in an advanced book. Rest assured, though, that by the time you finish reading this chapter, you’ll understand most of what you need to know to order numbered lists with XSLT.

Numbered Lists

As usual, to illustrate a concept, I’ll begin with a simple example. In the directory examples/ch09, you’ll find the document canada.xml , which contains a list of all the Canadian provinces, in alphabetical order, as shown in Example 9-1.

Example 9-1. An XML list of Canadian provinces and territories
<?xml version="1.0" ...

Get Learning XSLT now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.