And that's about it for the moment. Over the four parts of this article, I've given you a crash course in some of the more advanced aspects of XML schema design, explaining how you can use built-in schema constructs to design more efficient and extensible schemas.
I've shown you how to derive new types from existing types, either by extending or restricting them, and how to break up your schema definitions into separate files for greater maintainability. I've also shown you how to enforce basic referential integrity in a schema with primary and foreign key references, and how to enforce the use of namespaces in document instances to avoid name clashes between different document instances.
If you'd like more information on any of these topics, here are a few links you should look at:
Note: All examples in this article have been tested on Linux/i586. Examples are illustrative only, and are not meant for a production environment. Melonfire provides no warranties or support for the source code described in this article. YMMV!