More formally, the nodes and arcs within a graph of data can be traversed to both identify nodes, and then make assertions about the relationships of those nodes to others within the same graph.
As the XPath specification [XPath] shows, there are many possible kinds of relationship, known as 'axes'.
While XML does include an ID/IDREF mechanism which allows for cross-referencing between elements, and hence another form of relationships, it only weakly binds those elements.
This paper introduces the Schematron language and the available implementations.
An overview of the architecture, with a view to producing customised versions is also provided.
This is followed by an outline of Schematron and the intended uses which have guided its design.
The Schematron language is then discussed, covering all major elements in the language with examples of their usage.
As an extensible, easy to use, open source tool Schematron is an extremely useful addition to the XML developers toolkit.
The initial section of this paper conducts a brief overview of tree pattern validation, and some of the advantages it has in comparison to a regular grammar approach.
Other tutorial materials fulfill these roles already [Holman],[XPath],[XSLT] ,[Ogbuji C],[Ogbuji U].