iCommerce.com Corporation
eCommerce


Search our
entire site

Enter your search
terms below, or visit
our
search page



Search case
studies only

Enter your search
terms below:




For the table
of contents and
hyperlinks to
general topics
proceed to
toc



























XML: More Than Just A Quick Fix

FEBRUARY 1999



Illustration by John BleckExtensible Markup Language is seen as a universal object model that will enhance Web development and simplify application integration

Extensible Markup Language is finding many uses in IT departments--driven largely by an insatiable need for new applications to drive electronic commerce. XML will help developers build and deploy sophisticated Web applications faster. XML will also hasten enterprise integration efforts so important to supply chains and other business collaboration initiatives.

XML is being used to develop next-generation Web applications that sport greater interactivity than those early systems, which relied solely on HTML to create and display static Web content. XML is also an important ingredient in the many application integration efforts under way in companies that need to link Web, client-server, and legacy systems. XML and some related technologies will make it easier for companies to develop distributed applications that can exchange formatted data across file types.

XML is a metalanguage that describes the way data is formatted and exchanged between clients and servers on an IP network. It's viewed as an extension to HTML, providing many more programming tags that can be used to format, structure, and search upon information contained in an application.

XML is specifically optimized for the Web. And while its adoption is being driven by Web development, XML will likely have applicability in systems beyond the Internet, such as broad-based application development tools and systems-management and mainframe applications.

Currently, XML is a proposed standard under the auspices of the World Wide Web Consortium. It's derived from the long-standing Standard General Markup Language specification. SGML was too complicated for Web documents, so a more efficient and network-aware specification was needed.

XML requires greater functionality to reach its full potential as a data standard and HTML killer. That's coming in the form of some complementary standards.

XML is winning acceptance from a range of vendors, such as IBM, Microsoft, Oracle, and Sun Microsystems. They're adding XML support to development tools, Web utilities, databases, and business applications. In the past quarter, two companies released XML servers: Object Design and Bluestone Software.

Data About Data
By its nature, HTML is for formatting documents, primarily for viewing on the Web. XML is good at presenting data in a form that's easy to understand--unlike most computer languages and applications. If an application is told that a document in the browser is an invoice, for example, the application will have a hard time parsing out all the various elements for further processing. There just isn't a standard way on the Web to identify and present an invoice and its individual pieces of data, or relate it to other data.

But data in an XML document can be extracted, analyzed, and presented in any format by any application that can parse XML data. For example, the figure on the right displays the text of the play Hamlet marked up with XML to identify the type of content that each text string contains. Another application can read this data and produce an annotated script, and another could analyze speech patterns while ignoring the character descriptions.

The Web is essentially a text-based medium with cumbersome adaptations for objects such as images and sound files. Text marked up with XML has the benefit of being cross-platform and simple to understand. XML also supports flexible data structures and international character sets (see chart below).

Text Benefits Of XML Over Binary File Formats
Cross-platform: Text is one of the few data formats universally supported on computer platforms, even if character sets vary.
Simplicity: XML can organize data while keeping the data in human-readable form. It also lends itself to common text editors for viewing and editing, and it is possible to use understandable strings for tags.
Flexible data structures: XML is ideally suited to representing tree, hierarchical, and nested data well, including the rooted tree structure of HTML; relational data, mapping data into a tree and displaying rows as subtrees; and graphs, when used with the proposed Resource Description Format.
International character sets: XML 1.0 is based on ISO-10646, the Unicode character set, so that virtually any character in use in any language is legal within an XML document.
Data: InformationWeek

HTML Killer
XML is useful as a standard way to describe data, but is far from revolutionary by itself. When XML is combined with two other emerging standards, the Extensible Style Language (XSL) and XML Linking Language (XLL), these three specifications define a rich markup language that is flexible, extensible, and keeps separate a Web page's data, formatting, and navigation. This separation makes it easier for developers to create and change applications as system and business needs dictate.

XSL is a superset of the Cascading Style Sheet, a proposed standard to allow flexible formatting of HTML files. What CSS does for HTML code, XSL does for XML, plus a lot more. XSL acts as almost a full processing language for the data contained within XML pages. It provides simple Select Case statements (xsl:choose), a programmatic construct that executes codes based on a specific condition. It also supports conditional branching (xsl:if), and condition and loop testing (xsl:for-each), which repeats blocks of code as long as a particular condition is true.

There are two parts to the XSL specification, one for transforming XML documents and another for formatting semantics. Transforming XML documents involves associating patterns with the source tree contained within the XML document, using XSL templates. This is the XSL feature that provides almost complete flexibility to convert data into any format, including an HTML-formatted Web page.

The other part of the XSL spec is used to provide formatting objects with attributes you can set for flexible formatting. XSL's formatting objects work much the same as style sheets in many word processors, using what the specification calls a formatting vocabulary. Each object represents a particular behavior, such as the construction of a page number with the page-number object or the formatting of a numbered list with the list flow object. Each object has a number of properties for fine-tuning the formatting.

XML and XSL together can provide what amounts to a customizable HTML. This lets Web designers define their own tags, rather than rely on Microsoft and Netscape to extend the language as they see fit, while keeping data separate from formatting.

But a major feature of the Web is navigation through hyperlinks, and nothing in either XML or XSL provides them. That's where XLL comes in. The two parts of this specification provide Web pages with far greater linking capabilities between documents and to parts of a document than was possible with HTML. The first part, XLink, gives documents advanced linking capabilities, such as links to multiple destinations, bidirectional links, and links with custom behaviors.

The other part of the XLL spec, XPointer, provides links to locations within documents even without special tags and a wider span of addressing to page elements, strings, and arbitrary selections. Web developers can use these features to exert more control over the relationships between documents.

Unfortunately, the XSL and XLL specifications aren't complete. But the combination of these three specifications can produce HTML documents, other well-formed XML documents that process the source data into different forms, or almost any other document type.

XML Offshoots
What ensures XML's long-term viability is the groundswell of uses to which it is being put: in corollary standards, as the foundation for other standards, and in support of various software products. It seems as though each week brings another substantial XML announcement.

IBM, Unisys, and other partners recently unveiled their XML Metadata Interchange proposal. XMI integrates XML with the Uniform Modeling Language, fast becoming the standard means of modeling software projects, and the Object Management Group's Meta Object Facility repository standard. XMI will let developers of distributed systems share object models. The biggest advantage of this is to enable collaborative application development over the Internet, with programmers sharing information and metadata.

One problem inherent in XML is the lack of a namespace--boundaries within which a tag name must be unique. For example, the tag could mean either a customer's location or a geographical location.

The solution is a proposed XML Namespace specification that describes how prefixes can uniquely identify a tag as belonging to a particular XML source document. Each such prefix is supported by descriptive metadata that gives the location of each source document's tag set.

TABLE OF CONTENTS


XML
Home
Architecture
B2B
Catalog Manager
ERP
Introduction
Microsoft
Middleware
Primer
XML to EDI
Extranet
Tech. Specs