# XML Schema Object Model

By Kohsuke Kawaguchi

## Overview

XML Schema Object Model (XSOM) is a Java library that allows applications to easily parse XML Schema documents and inspect information in them. It is expected to be useful for applications that need to take XML Schema as an input.

The library is a straight-forward implement of "schema components" as defined in the XML Schema spec part 1. Refer to this specification of how this object model works. In particular, this diagram might be helpful.

## Documents

User's Guide
  Learn how to use XSOM
Implementor's Guide
  Learn the limitations and internals of XSOM
API Javadoc
  Javadoc of the interfaces

## Dependencies

XSOM comes in two versions. `xsom.jar` is built for JDK 5.0, but offers generified version. `xsom14.jar` is the version that works for earlier versions of JDK.

Both flavors of `xsom.jar` depends on `relaxngDatatype.jar` and JAXP 1.1. Make sure you have at least `xsom.jar` and `relaxngDatatype.jar` when you distribute your application that uses XSOM.

## License

XSOM is covered by CDDL, which basically allows you free use and redistribution with your application (but please do check the license for details.) `relaxngDatatype.jar` is covered by a BSD-like license. XSOM internally uses an URI class, which is copyrighted by Thai Open Source Center. Its license is here

## Support

Sun does not officially support this product, but Kohsuke Kawaguchi, the developer of this library, will provide support in a best-effort basis at java.net.