An Example Input Document
To demonstrate XSL Transformations, we first need a document to
transform. Example 8-1 shows
the document used in this chapter. The root element is people
, which contains two person
elements. The person
elements have roughly the same
structure (a name followed by professions and hobbies) with some
differences. For instance, Alan Turing has three professions, but Richard Feynman
only has one. Feynman has a middle_initial
and a hobby
, but Turing doesn’t. Still, these are
clearly variations on the same basic structure. A DTD that permitted
both of these would be easy to write.
<?xml version="1.0"?> <people> <person born="1912" died="1954"> <name> <first_name>Alan</first_name> <last_name>Turing</last_name> </name> <profession>computer scientist</profession> <profession>mathematician</profession> <profession>cryptographer</profession> </person> <person born="1918" died="1988"> <name> <first_name>Richard</first_name> <middle_initial>P</middle_initial> <last_name>Feynman</last_name> </name> <profession>physicist</profession> <hobby>Playing the bongoes</hobby> </person> </people>
Example 8-1 is an XML document. For purposes of this example, it will be stored in a file called people.xml. It doesn’t have a DTD; however, this is tangential. XSLT works equally well with valid and invalid (but well-formed) documents. This document doesn’t use namespaces either, although it could. XSLT works just fine with namespaces. ...
Get XML in a Nutshell, 3rd Edition 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.