What is Metamorphosis

Topic Maps

Metamorphosis' Architecture









XTche - A Topic Maps Semantic Validator

This section introduces the semantic validation issue in the area of Topic Maps. It presents the topic map constraint language (called XTche) and respective processor that guarantees semantic validity according to a specification.

XTche -- A Topic Maps Schema and Constraint Language

When developing real topic maps, it is highly convenient to use a system to validate it; this is, to verify the correctness of the actual instance against the formal specification of that family of topic maps (according to the intention of its creator).

The syntactic validation of a topic map is assured because it is described by an XML specification (XTM format). However, it is well known that structural correctness does not mean the complete meaningfulness of the map -- semantics should also be guaranteed.

So, a specification language that allows us to define the schema and constraints of a family of Topic Maps is necessary. A list of requirements for the new language was recently established by the ISO Working Group -- the ISO JTC1 SC34 Project for a Topic Map Constraint Language (TMCL). XTche language meets all the requirements in that list.

XTche is designed to allow users to constrain any aspect of the topic map; for instance: topic names and scopes; association members, roles and players allowed in an association, instances of a topic (enumeration), association in which topics must participate, occurrences cardinality, etc.

Like XTM, XTche specifications can be too verbose; that way it is necessary to define constraints in a graphical way with the support of a visual tool. To overcome this problem, XTche syntax follows the XML Schema syntax; so, any XTche constraint specification can be written in a diagrammatic style with a common XML Schema editor. The textual output of that edition (XML Schema code) should now be processed to obtain a TM-Validator.

XTche is an XML Schema-based language.

XTche has mechanisms to constraint: Schema Constraints and Contextual Constraints.

XTche Processor and TM-Validator

The XTche language, listing all the conditions (involving topics and associations) that must be checked, specifies the Topic Maps validation process (TM-Validator), enabling the systematic codification (in XSL) of this verification task. In that circumstances we understood that it was possible to generate automatically the validator developing another XSL processor to translate an XTche specification into the TM-Validator XSL code.

According to figure below, the XTche processor is the TM-Validator generator; it takes a topic map constraint specification (an XML-Schema, written according to the XTche language), and generates an XSL stylesheet (the TM-Validator) that will process an input topic map to generate a valid topic map or error messages.

Both XSL stylesheets (the generator and the validator) are processed by a standard XSL processor like Saxon, what in our opinion is one of the benefits of the proposal.


Departamento de Informática - Campus de Gualtar
4710-057 Braga - Portugal
Tel.: +351 253604470 Fax : +351 253604471