XML Parser Development
IBM Toronto Lab
In spite of the importance of W3C XML Schemas to many aspects of Web Services and XML data exchange in general, they have a rather fearsome reputation among developers. The XML Schema Structures specification in particular is widely regarded as close to unreadable, and many of its features remain largely unknown.
The goal of this talk is to transform a fear of XML Schema into a healthy respect. I’ll try to do this by demonstrating some of its less well understood features, such as identity constraints, substitution groups and various aspects of complexType restriction. I’ll also explore some of the more challenging aspects of XML Schema Structures, such as its rules regarding unique particle attribution and the consistency of element declarations. I’ll touch on XML Schema Datatypes, mainly with an eye to making developers aware of that specification’s extent and flexibility. Through the liberal use of examples at all points, I’ll aim not only to demystify these particular aspects of XML Schema, but also to enhance familiarity with XML Schema concepts and terminology generally --- a familiarity that will go a long way to enabling developers to handle any XML Schema application that might come their way.
Prerequisites: XML, exposure to simple XML Schemas
As XML has grown in importance, it has become more critical for XML applications to be as performant as possible, whether they’re concerned with transforming, validating, or just parsing XML data. In this talk, I’ll look at the most important XML API?s in Java --- the Java API for XML Processing (JAXP) 1.3, the Document Object Model (DOM) level 3 Core and Load/Save, and the Simple API for XML 2.0.2 --- from the perspective of maximizing performance. I’ll discuss the trade-offs among these APIs, and describe various techniques for getting the most out of them. I’ll also mention the Streaming API for XML (StAX), another API whose performance characteristics have been receiving considerable attention in the Java world.
Prerequisites: XML, Intermediate Java, some exposure to SAX, DOM, JAXP or other Java XML parsing API
Neil Graham has worked at IBM on XML parsing technology for the last five
years. He has been involved
with the Apache Xerces-Java project for the entire period, having become a
committer in early 2001. He is a Member of the Apache Software Foundation
and one of the members of the Xerces Project Mananagement Committee.
was one of IBM's representatives to The Expert Group that drafted JSR 206,
API for XML Processing 1.3. He served as Manager of XML Parser
Development at IBM until recently, when he took the opportunity to learn a
completely new technology by becoming Manager of C++ Compiler Front-End
and Runtime Development.
Neil holds a BSc in math from the University of Winnipeg, and a Masters in
computer science from the University of Toronto.
When he's not working, Neil likes to read and travel; he's also become
something of an audiophile.