XSLT also allows serialization into other formats, including HTML and text files. As mentioned in Chapter 2, although serialization is not part of the core function of an XSLT processor, the language provides constructs such as <xsl:output> that enable you to control the process from within a stylesheet. Many products may also allow you to invoke the serializer as a separate component. With XSLT 2.0, the specification of serialization has been moved into a separate W3C Recommendation, to allow reuse of the facilities from within other XML processing languages such as XQuery and XProc. You can find the W3C specification at http://www.w3.org/TR/xslt-xquery-serialization/. Serialization is controlled by a set of parameters, each of which has a name and a value. The most important parameter is method, which takes one of the values xml, html, xhtml, or text. This determines which serialization method is used (user-defined or vendor-defined serialization methods are also allowed, but are outside the scope of this book).
What do You think about XSLT 2.0 And XPath 2.0 Programmer's Reference, 4th Edition (2010)?