Constraining topic maps: a TMCL declarative implementation - Ramalho, José Carlos (2005)
This paper describes the design of an XML language to formally specify constraints over Topic Maps (XTche). This language allows to express contextual conditions on classes of Topic Maps that are further processed by a XSLT based processor. With XTche, a topic map designer defines a set of restrictions that guarantee that a particular topic map is semantically valid. Topic Maps tend to grow quite fast. Most times the designer has some restrictions in mind like: what kind of topics should be used for abstract concepts, what topics may link to resources and what topics can not, ... All these restrictions tend to blur when things get big or if the some member of the team changes. In these situatiations an automatic system able to validate the restrictions is desirable. The constraining process presented in this paper is composed of a language and a processor. The language is based on XML Schema syntax (we have used the same syntax and concepts in a similar approach to RDFS). The processor is developed in XSLT language. XTche processor is very similar to the Schematron or XCSL processors: it's an high-level stylesheet that takes a XTche specification as input and generates a specific XSLT stylesheet. This stylesheet when applied to the Topic Map validates the constraints in the XTche specification. In this paper we will show, in abstract terms and with concrete examples, how to specify Topic Maps schemas and constraints with XTche.