XML (Extensible Markup Language) in its broadest form can be regarded as a universal language for describing structured information. Structured information can be anything that contains both content (words, images, tables, and so on) and markup, which is the additional information that describes the content and gives it a definite meaning (table header, quantity, price, and so on). XML defines a standard syntax for describing a document’s content through the use of markup tags, as shown in the following code snippet:
<?xml version="1.0" encoding="UTF-8"?> <person> <first-name>Larry</first-name> <last-name>Kim</last-name> </person>
As the preceding code snippet illustrates, XML is unique in comparison to other information storage formats (for example, word processor, text, and spreadsheet files) in that it contains both the content (Larry Kim) and additional markup describing the semantics of the document’s content (first-name, last-name). As you can see in the preceding example, the document’s content and markup are interwoven within the code.
XML markup resembles HTML syntax to some extent; but unlike HTML, XML has no pre-defined tag set (such as Title, H1, Head, and Body). Instead, XML provides a general facility and syntax for defining tags and the structural relationships between them. The idea is that developers can then use this general form to create customized XML-based tag sets (also known as markup languages or custom XML vocabularies) for describing documents specific to their organization or industry. XML can be used as a flexible way to create common information formats and share content and information on the Internet.
There are many different kinds of XML documents currently used in the software industry. In addition, new XML document standards are being developed by various industry consortiums to address increasingly advanced functionality across virtually any vertical industry.
The vast majority of XML documents (or XML technologies) can be categorized as either a core XML infrastructure technology or as providing an XML-based vocabulary for a particular application or industry. This book focuses on core XML infrastructure technologies: XML Schemas, XSL/XSLT, SOAP, and WSDL, which are introduced in the following sections. Later chapters are entirely dedicated to designing and editing documents in each technology.
The important concept to grasp is that XML Schemas, XSL/XSLT, and SOAP are all simply XML documents. IT professionals, like you, must eventually design and edit these types of documents. Having a solid understanding of the core XML infrastructure technologies can give you a clear picture of what XML is and how the various technologies work together to solve a wide variety of technical challenges.