Node:Schema locating file syntax basics, Next:, Up:Schema locating files



Schema locating file syntax basics

There is a schema for schema locating files in the file locate.rnc in the schema directory. Schema locating files must be valid with respect to this schema.

The document element of a schema locating file must be locatingRules and the namespace URI must be http://thaiopensource.com/ns/locating-rules/1.0. The children of the document element specify rules. The order of the children is the same as the order of the rules. Here's a complete example of a schema locating file:

<?xml version="1.0"?>
<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
  <namespace ns="http://www.w3.org/1999/xhtml" uri="xhtml.rnc"/>
  <documentElement localName="book" uri="docbook.rnc"/>
</locatingRules>

This says to use the schema xhtml.rnc for a document with namespace http://www.w3.org/1999/xhtml, and to use the schema docbook.rnc for a document whose local name is book. If the document element had both a namespace URI of http://www.w3.org/1999/xhtml and a local name of book, then the matching rule that comes first will be used and so the schema xhtml.rnc would be used. There is no precedence between different types of rule; the first matching rule of any type is used.

As usual with XML-related technologies, resources are identified by URIs. The uri attribute identifies the schema by specifying the URI. The URI may be relative. If so, it is resolved relative to the URI of the schema locating file that contains attribute. This means that if the value of uri attribute does not contain a /, then it will refer to a filename in the same directory as the schema locating file.