-
Notifications
You must be signed in to change notification settings - Fork 52
/
Copy pathParlaMint-teiCorpus.rnc
83 lines (73 loc) · 2.13 KB
/
ParlaMint-teiCorpus.rnc
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
default namespace = "http://www.tei-c.org/ns/1.0"
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
namespace xi = "http://www.w3.org/2001/XInclude"
a:documentation [
"RelaxNG XML schema for ParlaMint corpora: schema\x{a}" ~
' for "plain-text" root corpus file.'
]
include "ParlaMint-TEI.rnc" {
## Root element of a ParlaMint corpus root file.
start =
element teiCorpus {
id.att >> a:documentation [ "Obligatory @xml:lang." ],
attribute xml:lang { lang.val }
>> a:documentation [ "Optional @corresp for MTed corpora." ],
corresp.att,
teiHeader,
XInclude+
}
## Metadata of the "plain-text" corpus.
teiHeader =
element teiHeader {
global.atts, fileDesc, encodingDesc, profileDesc, revisionDesc?
}
## The title statement.
titleStmt =
element titleStmt { title-header+, meeting*, respStmt+, funder+ }
## The encoding description.
encodingDesc =
element encodingDesc {
global.atts,
element projectDesc { paras }+,
editorialDecl,
tagsDecl,
element classDecl { (taxonomy | XInclude)+ }
}
## The profile description.
profileDesc =
element profileDesc {
global.atts, settingDesc, textClass?, particDesc, langUsage
}
}
## The editorial declaration.
editorialDecl =
element editorialDecl {
element correction { paras },
element normalization { paras },
element hyphenation { paras },
element quotation { paras },
element segmentation { paras }
}
## The text class.
textClass =
element textClass {
element catRef {
attribute scheme { xsd:anyURI }?,
attribute target { anyURIs }
}+
}
## Metadata on the organisations (esp. political parties) and speakers.
## There can be only one list of organisations and one of speakers, and they can be
## XIncluded.
particDesc =
element particDesc { (listOrg | XInclude), (listPerson | XInclude) }
## Used languages.
langUsage =
element langUsage {
element language {
lang.att,
attribute ident { lang.val },
attribute usage { xsd:nonNegativeInteger }?,
normalized-space.string
}+
}