To build XSLT stylesheets, you need to be familiar with XSLT elements such as <xsl:template> and <xsl:stylesheet> . These elements support many attributes, and W3C has some formal definitions of the type of data you can assign to those attributes, so here are a few XSLT definitions you need to know:
NCNameChar . A letter, digit, period, hyphen, or underscore .
NCName . A letter or an underscore optionally followed by NCNameChars . That is, an XML name that doesnt contain any colons. (See Chapter 1 for the definition of XML names .)
QName . A qualified name. Its made up of a prefix (which must be an NCName ), followed by a colon , followed by a local part (which must also be an NCName ).
NameTest . A name (such as book) or a generic name with wildcards (such as book* or *).
Now its time to begin creating XSLT stylesheets, starting with the element you use to connect stylesheets to XML documents, <?xsl:stylesheet?> .