HeleneFradin - Fri Jul 27 2007 - Version 1.18
Parent topic: SddContents
SDD Part 0: Introduction and Primer to the SDD Standard
3.8 Character hierarchies
The <characters> element in SDD is used to define a flat, unordered list of characters and states. However, some consuming applications may require characters to be ordered and/or to be arranged into hierarchies to, for example, enable easier navigation of characters in interactive keys, provide grouping mechanisms in listings and reports, and provide headers in natural language descriptions.
An example of a simple character tree is given below.
In this example there are eight characters (Petal number, Petal shape, Leaf length etc) arranged into four (nested) groups (Flowers, Petals, Sepals and Leaves).
In SDD, a character tree is created using three elements:
- Characters are defined in <Characters>
- Grouping concepts (such as the grouping nodes above) are defined in <DescriptiveConcepts>
- One or more character trees are defined, using the characters and concepts defined above, in <CharacterTrees>
Example 3.8.1 - A simple character hierarchy
The first node in this tree, node "cn1" references the descriptive concept "dc1" (Flowers). The second node, "cn2", references the descriptive concept "dc2" (Petals). The third node, "cn3", references the first true character in the hierarchy, "c1" (Petal number). Each node references it's parent (the node supporting the character "Petal number" references the descriptive concept "Petals" which is its immediate parent) and the character or concept which is tied to it. If a descriptive concept is tied to a node this is declared within the <Node> element, if a character is tied to a node this is declared in a <CharNode> element, which references its supporting node.
The <Representation> element provides a label for the character tree. This may be useful if the instance document includes multiple trees for different purposes, or is intended for publication in multiple languages (see the topic Language support in SDD).
<DesignedFor> specifies this character tree's purpose. Important roles are interactive identification, natural language reporting, or filtering.
The <Nodes> element is used to define the structure of the character tree. It contains an unordered list of <Node> and <Char> elements, each of which specifies a parent <Node>. The list can be used by a consuming application to construct a character tree.
The <CharacterTrees> element is also used to declare dependencies
-- Main.DonovanSharp - 01 Jun 2006