Since weve talked about creating your own languages with XML, perhaps we can
extend that analogy. If the elements are the words of our language, the schema is
the grammar. It tells the world how the words have to be arranged so that they are
meaningful to our applications. You read earlier about valid XML documents. A
schema is used to determine that an XML document is valid for that schemas particu-
lar set of rules.
As with natural languages, there is a lot that can go into determining that a docu-
ment is valid. Think about it in terms of plain old English documents, such as this
book. On one level, this book is valid if the individual sentences are grammatically cor-
rect. The editors have certain requirements about section headings before they will call
it valid. The publisher wants the book to be a certain length and of a correct tone and
quality before it is considered valid to ship it to the stores. Ultimately, the reader makes
the call as to how valid the book is as a resource based on a number of factors.
The validity tests for XML documents can be as multifaceted as this. At the lowest
level, a schema can be used to determine if particular nodes have values of the right
type. The next step is to determine that the structure is right. Do the children elements
belong with their parent? Does the parent have all of the children nodes for it to be
valid? Then, you can look at how the different elements relate to each other to make
determinations of integrity. From there, the sky is the limit. If you desire, you can pile
complex business rules into your schema.
With an idea as to what schemas are about, its time to focus on how to implement
one. This can be as confusing as the complicated schemas we are talking about! There
are several different ways to define schemas. These are called schema languages.
(Good thing the languages we develop with XML are called schemas, or else they
would have to be called language languages!) The original schema language is DTD. In
fact, it has its own instruction built in to XML: <!DOCTYPE>. Though still widely used,
DTDs are becoming unpopular for a number of reasons, including cumbersome syntax
and the inability to define data types. The other popular schema languages are XML
based. W3C XML Schema is the heir apparent. There are other players, including
RELAX NG, Schematron, and Exampletron.
In the previous pages, XSQL was covered at a high level. You learned the problems that
XSQL addresses and how it integrates the technologies together. The XML basics covered
in the previous section will come up again and again throughout the book. Now, its time
to dive into XSQL development. The next couple of chapters cover the installation and
setup of XSQL. After you have XSQL installed, youll be ready to move forward.
271209 Ch01.F 12/9/02 2:00 PM Page 22