summaryrefslogtreecommitdiff
path: root/mockup/article.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/article.osml
parent93e25e4b6c6d26a7d0127422fdb91bc50b3eea63 (diff)
Various changes to mockup code, started to implement standard ontology library.mockup
Diffstat (limited to 'mockup/article.osml')
-rw-r--r--mockup/article.osml126
1 files changed, 126 insertions, 0 deletions
diff --git a/mockup/article.osml b/mockup/article.osml
new file mode 100644
index 0000000..ca3d891
--- /dev/null
+++ b/mockup/article.osml
@@ -0,0 +1,126 @@
+%{
+ 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 "article" ontology contains elements used to write articles as found on
+ websites, in scientific journals, in magazines or (as a collection of
+ articles) in books.
+
+ \author{Andreas Stöckel}{astoecke@techfak.uni-bielefeld.de}
+}%
+\begin{ontology#article}
+
+\import[ontology]{./base.osml}
+\import[ontology]{./meta.osml}
+
+% Forward elements from "base"
+\struct#section[isa=base.section]
+\struct#subsection[isa=base.subsection]
+\struct#subsubsection[isa=base.subsubsection]
+\struct#text[isa=base.text]
+
+%{
+ Sectioning elements
+}%
+
+% Root article class
+\struct#article[root=true,isa=sectioning]{
+ \field#content{
+ \childRef[ref=article.section]
+ \childRef[ref=block]
+ }
+}
+
+%{
+ Inline elements
+}%
+
+% Speech
+\struct#speech[isa=inline]{
+ \syntax{
+ \open{<<}
+ \close{>>}
+ }
+ \field{
+ \childRef[ref=inline]
+ }
+}
+
+% Hyperlinks
+\struct#href[isa=inline]{
+ \primitive#url[type=string,subtree=true,optional=false]
+ \field[optional=true]{
+ \childRef[ref=inline]
+ }
+}
+
+% Inline code
+\struct#inlineCode[isa=inline]{
+ \attributes{
+ \attribute#lang[type=string]
+ }
+ \syntax{
+ \open{`}
+ \close{`}
+ }
+ \primitive[type=string]
+}
+
+%{
+ Block elements
+}%
+
+\struct#paragraph[isa=block,transparent=true]{
+ \field#title[subtree=true,optional=true]{
+ \childRef[ref=inline]
+ }
+ \field#content{
+ \childRef[ref=inline]
+ }
+}
+
+\struct#quote[isa=block]{
+ \field{
+ \childRef[ref=block]
+ }
+}
+
+\struct#aside[isa=block]{
+ \field{
+ \childRef[ref=block]
+ }
+}
+
+\struct#figure[isa=block]{
+ \field{
+ \childRef[ref=figureElement]
+ }
+}
+
+\struct#figureElement
+
+\struct#img[isa=figureElement,cardinality={0-1}]{
+ \primitive#src[optional=false,subtree=true,type=string]
+ \field{
+ \childRef[ref=imgMeta]
+ }
+}
+
+\struct#img[transparent=true]{
+ \field{
+
+ }
+}
+
+% Emphasis annotation
+\annotation#em
+
+\end{ontology}
+