- 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
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,
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:
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
what in our opinion is one of the benefits of