summaryrefslogtreecommitdiff
path: root/ontology/webpage.osml
blob: 7f5486b7e6f6754c1b5b2776dab656710390ed74 (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
%{
	Ousía Homepage

	(c) Andreas Stöckel, Benjamin Paaßen 2015

	This work is licensed under a Creative Commons Attribution-ShareAlike 4.0
	International License. <http://creativecommons.org/licenses/by-sa/4.0/>
}%

\begin{ontology#webpage}

% Main structure
\struct#webpage[root=true]
	\field#title[subtree=true,optional=true]
		\childRef[ref=primitive]
	\field
		\childRef[ref=section]

% Primitve text
\struct#block
\struct#primitive
\struct#text[isa=primitive,transparent=true]
	\primitive[type=string]

% Section
\struct#section
	\field#title[subtree=true,optional=false]
		\childRef[ref=primitive]
	\field#subtitle[subtree=true,optional=true]
		\childRef[ref=primitive]
	\field
		\childRef[ref=block]
		\childRef[ref=subsection]

% Subsection
\struct#subsection
	\field#subtitle[subtree=true,optional=false]
		\childRef[ref=primitive]
	\field
		\childRef[ref=block]

% Paragraph
\struct#paragraph[isa=block,transparent=true]
	\field
		\childRef[ref=primitive]

% Masthead, Pitch
\struct#masthead[isa=section]
\struct#pitch[isa=subsection]

% IPA
\struct#ipa[isa=primitive]
	\field#pronunciation[subtree=true,optional=false]
		\childRef[ref=text]
	\field
		\childRef[ref=primitive]

% Footnote
\struct#footnote[isa=primitive]
	\field
		\childRef[ref=primitive]

% Nav and buttons
\struct#nav[isa=subsection]
	\field
		\childRef[ref=button]
\struct#button
	\attributes
		\attribute#href[type=string,default=#]
	\field
		\childRef[ref=primitive]

\struct#link[isa=primitive]
	\attributes
		\attribute#href[type=string,default=#]
	\field#text
		\childRef[ref=primitive]

% addresses

\struct#contact[isa=block,transparent=true]
	\field
		\childRef[ref=address]
		\childRef[ref=phone]
		\childRef[ref=mail]

\struct#address
	\primitive#name[type=string, subtree=true]
	\primitive#street[type=string, subtree=true]
	\primitive#number[type=int, subtree=true]
	\primitive#plz[type=string, subtree=true]
	\primitive#city[type=string, subtree=true]

\typesystem#phone{
	\enum#phone-type
		\entry{office}
		\entry{home}
		\entry{mobile}
}

\struct#phone
	\attributes
		\attribute#type[type=phone-type]
	\primitive#number[type=string]

\struct#mail
	\primitive[type=string]

\struct#dl[isa=block]
	\field
		\childRef[ref=item]

\struct#item
	\field#title[subtree=true]
		\childRef[ref=primitive]
	\field
		\childRef[ref=primitive]

\struct#img[isa=primitive]
	\attributes
		\attribute#src[type=string]
	\primitive#alt[type=string]

\end{ontology}