A schema specifies a set of element names, the names and datatypes of any attributes associated with them, and rules about the contexts in which they may legally appear. A schema for our simple example above will say that elements named
<placeName> etc[.] exist. It may also specify that
<p> elements may appear within
<doc> elements, that
<placeName>s may appear within
<p>s, that the attribute
@n must have a numeric value etc. Note however that an XML schema still has no way of specifying that the tag
<placeName> indicates the name of a place, or what we mean by “a place”: such additional semantic constraints must be specified elsewhere, for example by documentation such as that provided by the TEI Guidelines.