summaryrefslogtreecommitdiff
path: root/mockup/base.osml
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-04-19 01:25:24 +0200
committerAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-04-19 01:25:24 +0200
commit2bef1ee36b87948997b93d6b5430d1e4d00f5238 (patch)
tree78f3195ca88f9f1d9b9bf34a7289574de3d3468d /mockup/base.osml
parent93e25e4b6c6d26a7d0127422fdb91bc50b3eea63 (diff)
Various changes to mockup code, started to implement standard ontology library.mockup
Diffstat (limited to 'mockup/base.osml')
-rw-r--r--mockup/base.osml86
1 files changed, 86 insertions, 0 deletions
diff --git a/mockup/base.osml b/mockup/base.osml
new file mode 100644
index 0000000..43ff132
--- /dev/null
+++ b/mockup/base.osml
@@ -0,0 +1,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}
+