Quick Guide to creating code
A Technical Description of the Schema Toolkit
A new approach to XML Models
Element representation
Simple Type representation
Complex Type representation
Group Representation
Attribute Group Representation
Frequently Asked Questions
Relevant Reading

A Technical Description of the Schema Toolkit

This section is to examine in detail what actions the toolkit performs. It is aimed at those who are already familiar with XML and XML Schema. The best place to learn about XML Schema is from the Primer.

This section uses technical jargon specific to XML. This is a quick guide to some of these terms.

XML TermExplanation
DOMThe Document Object Model, an early method to model XML as a tree format, with each XML feature described as a node of the tree.
XML InfosetThis is a W3C specification to describe the important information from a parsed XML document.
PSVIThe Post-Schema Validation Infoset. This aims to build upon the plain Infoset to create additional information provided by the schema which the XML document complies with.
XML NamespaceA W3C standard aiming to provide a means to create unique XML element and attribute names. Using standard English words as XML tags, there would soon be clashes in names. For example a description of furniture in XML could use an element with tag name table , clashing with the table element from the XHTML standard. XML Namespace shows how to use prefixes which are related to a unique identifier (URI).
SAXAn API that allows handling XML structures from the parser at a low level as if they were events. Created by David Megginson and the XML-Dev mailing list, it is widely used. It can be used to build other object models such as DOM.

XML experts may not understand terms from the Component Object Model and C++. Here is a brief summary.

Programming TermExplanation
COMThe Component Object Model. This is the basis for most of the interoperating functionality on Win32 machines. The idea is that program components present a group of methods that can be called by other programs. This group of methods is called a COM interface. A component can implement a particular interface to show it can accept certain common commands.
Dual interfaceA dual interface is a COM interface that has extra functionality allowing late binding. Late binding allows a program to discover what methods an interface has and how to call them with the correct variables. A dual interface extends the IDispatch interface.
VariantA variant is a union of many basic types, as well as a dual interface. This was first used in Microsoft's Visual Basic language. It is also used by VBScript and JScript, Microsoft's implementation of ECMAscript (a.k.a. Javascript).
DLLDynamic Link Library. This is a file containing executable functionality that can be used at run-time by an application. Often COM components are written as DLLs, where they can be used by many different applications.
MIDLMicrosoft's Interface Definition Language. An IDL is a language to create skeleton and stub code so that two processes can communicate. MIDL builds this code for COM components to communicate.