blob: ca3d89110a724474ffdb04402c4777474e088795 (
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
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}
|