Introduction
This is a sample chapter from Professional Visual Basic XML
Now we have an easy and platform-independent method of describing XML data,
validating its type as we wish and modifying and reading it programmatically.
So we basically have a transportable miniature database. No surprise then that
when you start to work with it, you'll feel the need for a query mechanism.
Using the DOM, you can get to each and every node in your document, but it can
get tiresome, maneuvering through the hierarchies of children to find that single
node you are interested in.
What we would like to have is an XML version of SQL. We would like to say "Get
me all nodes of type X that have descendants of type Y". Many
initiatives in this direction have been started up. There were some working
groups specifying only a query language, but query mechanisms were also part
of the drafts under development for transformation (XSLT) and linking technologies
(XPointer). Then the W3C joined efforts with some of the working groups to specify
XPath.
XPath is a simple syntax to select a subset of the nodes in a document. It now
has recommendation status and is used in both the XSLT and XPointer standards
(as we'll see later in this chapter and in the next chapter).
Later in this chapter you will understand the importance of XPath in the context
of transforming one document type to another, but first we will look
at using XPath as a pure querying tool. In the initial release of IE5,
a basic version of XPath implementation was included (then called XQL).
Once XPath and XSLT gained recommendation status, Microsoft promised to deliver
a fully compliant implementation of XPath and XSLT soon, and in January 2000
Microsoft shipped a developers preview of the MSXML library. In the appendices
for XPath and XSLT (Appendix C and D respectively), you can find exactly which
features are supported in which releases.
We will work with the full version of XPath in this chapter. If you want to
program for the MSXML library that came with IE5 originally (if you cannot update
to the newer version on all installed versions), you are restricted to a subset
of XPath. We will indicate what can be used in the earlier IE5 versions in a
separate section.
Be aware of the fact that several (more powerful) XML query languages are still
under development. These include a syntax called XQL, that has firm support
from IBM, and an initiative from the W3C, called XML Query, which is still in
the first stages of specification. At the moment, XPath is the only way that
has reached recommendation status and it looks like it will be a long time before
anything else will.
This chapter will cover:
- XPath for querying a document
- XSLT for transforming a document
- Styling a document with Cascading Style Sheets
- Styling a document by using transformations (XSLT)