Graphical design component

r18 - 27 Jul 2007 - 10:54:29 - Main.HeleneFradinYou are here: TWiki >  SDD/Primer Web > SddContents > CharacterHierarchies

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.

character_trees_example.gif

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>

charactertrees.gif

Example 3.8.1 - A simple character hierarchy

    <Characters>
      <QuantitativeCharacter id="c1">
        <Representation>
          <Label>Petal Number</Label>
        </Representation>
      </QuantitativeCharacter>
      <CategoricalCharacter id="c2">
        <Representation>
          <Label>Petal Shape</Label>
        </Representation>
        <States>
          <StateDefinition id="s1">
            <Representation>
              <Label>ovate</Label>
            </Representation>
          </StateDefinition>
          <StateDefinition id="s2">
            <Representation>
              <Label>linear</Label>
            </Representation>
          </StateDefinition>
        </States>
            ... etc (for more detail see the topic <Characters>)            
    </Characters>

     <DescriptiveConcepts>
      <DescriptiveConcept id="dc1">
        <Representation>
          <Label>Flowers</Label>
        </Representation>
      </DescriptiveConcept>
      <DescriptiveConcept id="dc2">
        <Representation>
          <Label>Petals</Label>
        </Representation>
            ... etc (for more detail see the topic <DescriptiveConcepts>)
    </DescriptiveConcepts>

       <CharacterTrees>
      <CharacterTree id="ct1">
        <Representation>
          <Label>Default Feature Tree</Label>
        </Representation>
        <DesignedFor>
          <Role>InteractiveIdentification</Role>
        </DesignedFor>
        <Nodes>
          <Node id="cn1">
            <DescriptiveConcept ref="dc1"/>
          </Node>
          <Node id="cn2">
            <Parent ref="cn1"/>
            <DescriptiveConcept ref="dc2"/>
          </Node>
          <CharNode>
            <Parent ref="cn2"/>
            <Character ref="c1"/>
          </CharNode>
          <CharNode>
            <Parent ref="cn2"/>
            <Character ref="c2"/>
          </CharNode>
          <CharNode>
            <Parent ref="cn2"/>
            <Character ref="c3"/>
          </CharNode>
          <Node id="cn3">
            <Parent ref="cn1"/>
            <DescriptiveConcept ref="dc3"/>
          </Node>
          <CharNode>
            <Parent ref="cn3"/>
            <Character ref="c4"/>
          </CharNode>
          <CharNode>
            <Parent ref="cn3"/>
            <Character ref="c5"/>
          </CharNode>
          <Node id="cn4">
            <DescriptiveConcept ref="dc4"/>
          </Node>
          <CharNode>
            <Parent ref="cn4"/>
            <Character ref="c6"/>
          </CharNode>
          <CharNode>
            <Parent ref="cn4"/>
            <Character ref="c7"/>
          </CharNode>
          <CharNode>
            <Parent ref="cn4"/>
            <Character ref="c8"/>
          </CharNode>
        </Nodes>
      </CharacterTree>
    </CharacterTrees>

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

Show attachmentsHide attachments
Topic attachments
I Attachment Action Size Date Who Comment
gifgif character_trees_example.gif manage 3.2 K 11 Jul 2006 - 05:46 Main.DonovanSharp  
gifgif charactertrees.gif manage 8.6 K 07 Sep 2006 - 01:20 Main.DonovanSharp  
Edit | Attach | Printable | Backlinks: Web, All Webs | History: r18 < r17 < r16 < r15 < r14 | More topic actions
 
Back to TDWG Homepage TDWG Wiki > SDD/Primer
This site is powered by the TWiki collaboration platform

Valid XHTML 1.0 Transitional
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback