Chapter 11. The NetworkedPlanet Constraint Language (NPCL)

Table of Contents

Key Concepts
Types
Constraints
Superclass-Subclass Inheritance
Scoping Topics
NPCL XML Schema
Overview
Namespace
schema Element
abstractType Element
topicType
occurrenceType Element
associationType Element
roleType Element
scopingTopic Element
subclasses Element
NPCL Topic Map Ontology
NPCL Meta Types
Constraint Topics

TMCore supports provides a set of utility APIs for managing the definitions of a set of constraints on a topic map. Constraints can be used to define what types of topics and associations can be created, what types of associations a topic of a specific type can participate in, what types of occurences can be given to a topic of a particular type and also to constrain the values of occurrences of a specific type. Constraints enable both topic map validation and also the creation of more user-friendly editing interfaces. These constraints are expressed using the NetworkedPlanet Constraint Language (NPCL).

This release of TMCore provides support for retrieving and modifying constraints stored either in the topic map itself or as a separate XML file conforming to the NPCL XML Schema. This release DOES NOT provide methods for validating topic maps against a set of constraints or for enforcing validation of individual topics and associations when they are modified. Developers are free to create their own application-specific validation and enforcement routines based on the APIs provided.

The APIs are described in later chapters. This chapter deals with the structure of NPCL and its representation in XML and in a topic map.