VirtualMV/XML/Content

Introduction: Extensible Markup Language (XML)
The basic outline for these notes is based on a presentation by Daniel Rutten, from Clockwise Smart Software Solutions, to the Napier, (New Zealand) Microsoft Dot net user group in 2009.Based on a presentation by Daniel Rutten (2009).

What is XML
Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. It is used in a wide variety of situations for example:
 * In a database you can save the data tables into xml
 * In XHTML. This is HTML that follows the rules of XML. Note that HTML was based on XML but breaks some of the XML rules (see rules following). XHTML 4 was an attempt to realign the two but HTML 5 allows the rules to be broken again.
 * In Microsoft Office the "x" formats (docx, pptx, etc) indicate the document s saved as an XML file. If you want to see the xml file you can rename the docx file to .zip and look into the archive to find the XML files
 * For setting up defaults in many internet applications.

An XML file is just a text file so doesn't need any special programs to create (like HTML).

Basic XML file
Note how &lt;comment> is not mandatory

XML and Related Technologies

 * XML, XHTML, XML DOM,
 * XSL, XSLT
 * XPath, XSL-FO, XLink, XPointer, DTD
 * XSD, XForms, XQuery, SOAP, WSDL
 * RDF, RSS, WAP, SMIL, SVG

SGML

 * 1960’s
 * Standard Generalized Markup Language
 * Manage large documents
 * Subject to frequent revisions
 * Printed in different formats
 * Specifies rules for tagging elements
 * SGML ISO-8879, 1986

XML

 * Derived from SGML
 * eXtensible Markup Language
 * Easier to implement but less flexible
 * No need for a Document Type Definition
 * W3C Recommendation in 1998

EXI (Efficient XML Interchange)
The World Wide Web Consortium (W3C) has issued a standard for a compact form of XML for use on smartphones and devices with memory or bandwidth constraints. The Efficient XML Interchange (EXI) standard will reduce XML processing's demands for network utilization, power, and energy. Work is already underway to support the standard for the compact representation of XML information in development toolkits. "[EXI is] an optimization of the XML exchange," says John Schneider, editor of the EXI specification. EXI could be used in sensor networks, cameras, automobiles, real-time trading systems, and wireless phones. "Even though [XML is] used everywhere, it's not used in some places because [of] constraints like giant documents or battery consumption or limited bandwidth," says W3C's Liam Quin. EXI could potentially displace XML at some user sites, say W3C officials. (Krill, 2011, March 10)

HTML versus XML

 * HTML
 * Designed to display data
 * Focus on how data looks
 * Fixed tag set and semantics
 * XML
 * Designed to describe data
 * Focus on what data is
 * Extensible(!) tag set and semantics

Resources

 * XML Course Tutorials and Reference Guide (2011)