XML Family

There are several members of the XML family apart from XML itself. We shall be looking in more or less detail at the following:

XSLT
XSLT is Extensible Stylesheet Language transformations. It is more than anything a declarative programming language used for transforming an XML document into whatever you like. It might be into an XHTML document, into another XML document, into plain text, etc. As a programming language it reminisces SQLs SELECT declaration in spirit.
XPath
XPath is yet another language. It has expressions used in XSLT to locate specific parts of the XML document under treatment. In this respect it has the function that the SELECT ... WHERE has in SQL.
DTD
Document Type Definitions are the rule documents by which the XML document is validated. More accurately one of the so called Schema Languages. It is not itself an XML language.
XSD
XML Schema Definitions, a more nuanced alternative to DTDs as rule document for XML data.
XML Namespaces
The mere fact that XML is extensible, a meta language, meaning that you may define your own elements ad hoc, is a direction of eventual disaster. You may easily happen to use element names that are already in use by others. As long as you keep your documents free of others, this is all right, but as soon as you mix, you are doomed.

Mixing cannot be avoided if not by anything else then by the standardized language elements from the W3C. They don't, and you don't want to refrain from using your own meaningful element names. These names will collide.

To avoid ill effects of the collisions we get a way of prefixing otherwise colliding names with the so called namespace prefixes. A <title>...</title> is not just a title but rather a <xml:title>...</xml:title>, or a <book:title>...</book:title>, or, given the above, even just a <title>...</title>.

XHTML
XHTML is an XML implementation of HTML. With much stricter rules than regular HTML.