A programming language?
First, XML is a format to represent data. It has originally be designed for this data to be essentially text documents or messages, but nothing prevents you from representing any data you wish, including programs. There at least three big examples of programs expressed in XML that come to mind:
- XSLT is a Turing-complete language whose only standard format is in XML, whose essential purpose is data transformations.
- ANT is a task manager, used mostly for compilation management, whose tasks are described in XML.
- GCC-XML is a format that GCC can use to output the result of its parsing of a source code.
On a more esoteric note, you could cite o:XML, a full-fledged XML programming language.
So as any XML, DTD or Schema semantically extends XML itself, you could technically argue that XML itself, through some of its extensions, is a programming language.
Is there much to know?
Second, XML is a vast nebula of specifications, and most people only barely scratch the surface. Most people don’t even imagine the corner cases in XML itself, let alone what’s in XML Namespaces, XML Schema, XML Information Set, XQuery, XPath, XSLT, XSL-FO, XML Canonicalization, XML Signature, Efficient XML Interchange, XML Linking, etc.
So, yeah, I’d say there’s plenty to know…