summaryrefslogtreecommitdiffstats
path: root/tcllib/modules/doctools2idx/include/concept.inc
blob: 61b8e20491ed64fe4ee85c1333bc588cd0227fa4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
[comment {
	 Description of the concepts used in keyword indices and how
	 their relate to each other. This is useful to understand the
	 serialization chosen for keyword indices.
}]
[list_begin enumerated]
[enum]
A [term {keyword index}] consists of a (possibly empty) set of [term keywords].

[enum]
Each keyword in the set is identified by its name.

[enum]
Each keyword has a (possibly empty) set of [term references].

[enum]
A reference can be associated with more than one keyword.

[enum]
A reference not associated with at least one keyword is not possible
however.

[enum]
Each reference is identified by its target, specified as either an url
or symbolic filename, depending on the type of reference ([const url],
or [const manpage]).

[enum]
The type of a reference (url, or manpage) depends only on the
reference itself, and not the keywords it is associated with.

[enum]
In addition to a type each reference has a descriptive label as
well. This label depends only on the reference itself, and not the
keywords it is associated with.

[list_end]

A few notes

[list_begin enumerated]
[enum]
Manpage references are intended to be used for references to the
documents the index is made for. Their target is a symbolic file name
identifying the document, and export plugins may replace symbolic with
actual file names, if specified.

[enum]
Url references are intended on the othre hand are inteded to be used
for links to anything else, like websites. Their target is an url.

[enum]
While url and manpage references share a namespace for their
identifiers, this should be no problem, given that manpage identifiers
are symbolic filenames and as such they should never look like urls,
the identifiers for url references.

[list_end]