|
Article Excerpt Traditionally, APIs for processing XML, have been categorized according to whether they're designed for processing entire XML documents loaded in memory, such as the W3C DOM, or for processing XML in a streaming, forward-only fashion, such as SAX. However, these divisions do not fully represent the various classes of APIs for processing XML
**********
In a recent article entitled "A Survey of APIs and Techniques for Processing XML," I describe six primary methodologies for processing XML
1. Push-model APIs such as SAX
2. Pull-model APIs such as the .NET Framework's XmlReader class
3. Tree-model APIs such as DOM
4. Cursor-model APIs such as the .NET Framework's XPathNavigator class
5. Object-XML mapping technologies such as the .NET Framework's XmlSerializer class
6. XML-specific languages such as XQuery
This list highlights that the range of considerations when choosing an API or technique for processing XML extends beyond forward-only access over XML streams versus random access over XML documents stored in memory. Other considerations include whether the XML being processed is used to represent semi-structured documents versus rigidly structured data, whether the XML is considered to be strongly or weakly typed, and ease of use of the API.
The purpose of this article is to explore whether a single API could be designed that satisfies the various needs that warrant the existence of six different categories of technologies for processing XML.
Rigidly Structured Data and Semi-Structured Documents
One of the main reasons for XML's rise to prominence as the lingua franca for information interchange is that, unlike prior data interchange formats, can easily represent both rigidly structured tabular data (e.g., relational data or serialized objects) and semi-structured data (e.g., office documents). However, applications that utilize XML typically produce or consume XML that is primarily either rigidly structured data or semi-structured documents. Several defining characteristics distinguish both XML usage patterns.
Software applications are usually the primary consumers of XML documents that represent rigidly structured data. Such XML documents usually have content that is meant primarily for machine processing that is labeled with markup targeted for human consumption. XML configuration files, log files, and relational database dumps are examples of rigidly structured data that are meant primarily for machine processing. The markup in these documents is mainly of use to human readers who are either editing or debugging an XML application. Such XML documents typically comprise elements and attributes where only the deepest subelements--the leaf nodes contain character data. Although XML considers the order of elements to be significant, the order of sibling elements in such documents is...
|
|

Looking for additional articles?
Search our database of over 3 million articles.
Looking for more in-depth information on this industry?
Search our complete database of Industry & Market reports by text, subject, publication
name or publication date.
About Goliath
Whether you're looking for sales prospects, competitive information, company
analysis or best practices in managing your organization,
Goliath can help you meet your business needs.
Our extensive business information databases empower business
professionals with both the breadth and depth of credible,
authoritative information they need to support their business
goals. Whether it be strategic planning, sales prospecting,
company research or defining management best practices -
Goliath is your leading source for accurate information.
|
|