xlink:role=
http://www.isi.edu/in-notes/iana/assignments/media-types/text/xml-dtd
xlink:arcrole=http://www.rddl.org/purposes#validation
Given a namespace URI, we extract the document at the end of it (with the
document() function in XSLT) and select an RDDL resource element with the val-
idation arcrole. The XPath expression would be
//rddl:resource[@xlink:arcrole=http://www.rddl.org/purposes#validation]
If we can confirm that this element has the DTD nature as well, then
xlink:href must be a link to a DTD that can be used for validation in ordinary
ways, as presented in the next chapter.
Similarly, we can look for other standard resources with other standard roles.
It seems plausible that systems of such roles will be developed: with XML used to
describe commercial objects, we can expect a purchase role for a resource that
helps you link to software for buying one of whatever it is, and a complaints-
department role that helps you link to software to say that what you bought
wasnt what you thought you were buying.
Conclusion
Weve covered a lot of ground in this chapter. The most important notion is
a well-formed document, and the second most important notion is a namespace.
We have seen several XML languages, including XHTML, XLink, and RDDL. What
we have not done in this chapter is pose a question such as How do we check
that a particular XHTML document is not only well formed but also contains only
the markup that is expected in XHTML? This is the question of validity or con-
formance to a specific grammar, and we take it up in the next chapter.
79
Well-Formed Documents and Namespaces