Extensible Markup Language (XML) is a data storage toolkit, a configurable vehicle for any kind of information, an evolving and open standard embraced by everyone from bankers to webmasters. In just a few years, it has captured the imagination of technology pundits and industry mavens alike. So what is the secret of its success? A short list of XML's features says it all:
• XML can store and organize just about any kind of information in a form that is tailored to your needs.
• As an open standard, XML is not tied to the fortunes of any single company, nor married to any particular software.
• With Unicode as its standard character set, XML supports a staggering number of writing systems (scripts) and symbols, from Scandinavian runic characters to Chinese Han ideographs.
• XML offers many ways to check the quality of a document, with rules for syntax, internal link checking, comparison to document models, and datatyping.
• With its clear, simple syntax and unambiguous structure, XML is easy to read and parse by humans and programs alike.
• XML is easily combined with stylesheets to create formatted documents in any style you want. The purity of the information structure does not get in the way of format conversions.
Purposes of XML
XML was developed to overcome limitations of HTML, especially to better support dynamic content creation and management. HTML is fine for defining and maintaining static content, but as the Web evolves toward a software-enabled platform, in which data has associated meaning, content needs to be generated and digested dynamically. Using XML, you can define any number of elements that associate meaning with data; that is, you describe the data and what to do with it by using one or more elements created for the purpose.
For example:
<Company>
<CompanyName region="US">
Skateboots Manufacturing
</CompanyName>
<address>
<line>
200 High Street
</line>
<line>
Springfield, MA 55555
</line>
<Country>
USA
</Country>
</address>
<phone>
+1 781 555 5000
</phone>
</Company>
In this example, XML allows you to define not only elements that describe the data but also structures that group related data. It's easy to imagine a search for elements that match certain criteria, such as <Country> and <phone> for a given company, or for all <Company> elements and to return a list of those entities identifying themselves as companies on the Web.
Furthermore, as mentioned earlier, XML allows associated schemas to validate the data separately and to describe other attributes and qualities of the data, something completely impossible using HTML.
Of course, significant problems result from the great flexibility of XML. Because XML allows you to define your own elements, it's very difficult to ensure that everyone uses the same elements in the same way to mean the same thing. That's where the need for mutually agreed on, consistent content models comes in.
Technologies
XML is a family of technologies: a data markup language, various content models, a linking model, a namespace model, and various transformation mechanisms. The following are significant members of the XML family used as the basis of Web services:
- XML v1.0: The rules for defining elements, attributes, and tags enclosed within a document root element, providing an abstract data model and serialization format
- XML schema: XML documents that define the data types, content, structure, and allowed elements in an associated XML document; also used to describe semantic - processing instructions associated with document elements
- XML namespaces: The uniquely qualified names for XML document elements and applications
- XML Information Set: A consistent, abstract representation of the parts of an XML document
- XPointer: A pointer to a specific part of a document; XPath, expressions for searching XML documents; and XLink, for searching mulitple XML documents
- Extensible Stylesheet Language Transformations (XSLT): Transformation for XML documents into other XML document formats or for exporting into non-XML formats
DOM (Document Object Model) and SAX (Simple API for XML): Programming libraries and models for parsing XML documents, either by creating an entire tree to be traversed or by reading and responding to XML elements one by one.
Next >> WSDL |