diff options
author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-04-19 01:25:24 +0200 |
---|---|---|
committer | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-04-19 01:25:24 +0200 |
commit | 2bef1ee36b87948997b93d6b5430d1e4d00f5238 (patch) | |
tree | 78f3195ca88f9f1d9b9bf34a7289574de3d3468d /mockup/base.osml | |
parent | 93e25e4b6c6d26a7d0127422fdb91bc50b3eea63 (diff) |
Various changes to mockup code, started to implement standard ontology library.mockup
Diffstat (limited to 'mockup/base.osml')
-rw-r--r-- | mockup/base.osml | 86 |
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} + |