summaryrefslogtreecommitdiff
path: root/mockup/base.osml
blob: 43ff132070b135de325856aab979a456e2b978fb (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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
%{
    Ousía -- Standard Ontology Library
    Copyright (C) 2015  Benjamin Paaßen, Andreas Stöckel

    This file is licensed under the Creative CommonsAttribution-ShareAlike 4.0
    International (CC BY-SA 4.0) license.

    See http://creativecommons.org/licenses/by-sa/4.0/ for more information.
}%

%{!
	The "base" ontology contains "abstract" base classes other ontologies might
	derive from. The "base" ontology should not be used by document authors
	directly.

	\author{Andreas Stöckel}{astoecke@techfak.uni-bielefeld.de}
}%
\begin{ontology#base}

%{!
	Basic inline elements.
}%

%{!
	The inline class is used for the definition of elements which are part of
	the text flow.
}%
\struct#inline

% The block class is used for the definition of elements which end the current
% text flow.
\struct#block

%{!
	The text class is used to specify 
}%
\struct#text[isa=inline,transparent=true]{
	\primitive[type=string]
}

% The sectioning class is the base class from which all sectioning elements
% (those that should appear in the outline of a document) should be derived.
\struct#sectioning{
	\field#title[subtree=true,optional=true]{
		\childRef[ref=inline]
	}
	\field#content{
		\childRef[ref=block]
	}
}

% The sectioning classes defined here should not directly be used for writing
% documents. Other ontologies should subclass these sectioning elements.

\struct#part[isa=sectioning]{
	\field#content{
		\childRef[ref=chapter]
	}
}

\struct#chapter[isa=sectioning]{
	\field#content{
		\childRef[ref=section]
	}
}

\struct#section[isa=sectioning]{
	\field#content{
		\childRef[ref=subsection]
	}
}

\struct#subsection[isa=sectioning]{
	\field#content{
		\childRef[ref=subsubsection]
	}
}

\struct#subsubsection[isa=sectioning]{
	\field#content{
		\childRef[ref=subsubsection]
	}
}

\end{ontology}