Blue bar graphic
Colorado Software Summit logo
Colorado Software Summit banner

Gold bar graphic

Neil Graham
XML Parser Development
IBM Toronto Lab

Who's Afraid of XML Schema?

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
Level: Intermediate

Tricks and Tips for Making Your XML Application Go Faster

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
Level: Intermediate

Photo of Neil Graham

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.

Neil was one of IBM's representatives to The Expert Group that drafted JSR 206, the Java 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.

Email: neilg@ca.ibm.com

Back to...

On to...

Aidon Jennery