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 wasn’t what you thought you were buying. Conclusion We’ve 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