As an XSQL developer, you will be creating your own implicit schemas along the
way. However, it is a bit grandiose to think of these as brand new markup languages.
In most cases, they are going to be the Oracle canonical representation plus some XML
that you add around the edges. Still, this does give you an XML layer to your applica-
tion that is separate from the actual presentation. In terms of XSQL development, this
is the key advantage of XML. You are able to separate your application data from the
actual presentation. XSLT yields the actual presentation while you are able to easily
repurpose the XML layer.
Well-Formed versus Valid Documents
You may have heard of a document being referred to as valid or well formed. The def-
inition and distinction is important to the discussion here. A well-formed document is
simply an XML document that is syntactically correct. A valid document is a well-
formed document that also follows the rules of a schema.
Anytime you write XML, it has to be well formed. The need for validity is deter-
mined by whether there is a schema associated with your document. On the one hand,
if an application is processing the document, it is required to be valid. This makes the
job of the application much easier. If the document is unacceptable, the parser will gen-
erate an error before the document gets to the application. This greatly reduces the
number of error cases that the application must be prepared to handle. Because XSQL
documents are fed to an applicationthe XSQL page processorthey must be valid.
They must agree with the schema for XSQL pages.
On the other hand, the XML documents that XSQL generates only need to be valid.
This does not mean that it is all free love and long hair. First, you may have a Web ser-
vice consuming your XML that expects a schema. In most cases, your document is
going to be transformed. If your generated XML doesnt come out right, your transfor-
mation will be ugly. Fortunately, the XML that XSQL generates is pretty tight. Bad
transformations are really only a problem if you get fancy with custom action handlers
or include foreign XML.
An XML document is structured like a tree. Trees are some of the most pervasive struc-
tures in all of computer science. Probably the most common usage is a file system.
Trees are a great elegant structure because they can be used to establish relationships
between any set of data. Even a table of data can be easily represented with a tree, as
youll see later in this chapter.
Trees can be generally described with the following rules:
There can be only one root element.
The root element is the only element that has no parent.
Every nonroot element has exactly one parent element.
Any element can have one or more children elements, or no children at all.
In XML, the parent-child relationships are represented by start and end tags. The
following example shows a simple document that contains two child elements.
Introducing Oracle XSQL
271209 Ch01.F 12/9/02 2:00 PM Page 15