/
2-banksy_schema.rnc
36 lines (36 loc) · 2.05 KB
/
2-banksy_schema.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
start = root
root = element root {header, body}
header = element header {fileDesc}
fileDesc = element fileDesc {titleStmt, publicationStmt, sourceDesc}
titleStmt = element titleStmt {creator, editor}
title = element title {text}
creator = element creator {"Banksy"}
editor = element editor {"Alyssa Argento"|"Abdual Nadeem"|"James Farley"}
publicationStmt = element publicationStmt {p}
p = element p {(ref|img|credit|text)*}
sourceDesc = element sourceDesc {bibl}
bibl = element bibl {title, alternate*, date, medium, location?, size, ref+, cause*, edition*}
ref = element ref {target, text}
target = attribute target {text}
img = element img {src, alt, empty}
src = attribute src {text}
alt = attribute alt {text}
credit = element credit {text}
body = element body {desc, p+}
desc = element desc {p+}
alternate = element alternate {text}
date = element date {when, text}
when = attribute when {xsd:gYear|xsd:date|xsd:gYearMonth}
medium = element medium {type, empty}
type = attribute type {list{("spray_paint"|"canvas"|"sculpture"|"sign"|"installation"|"film"|"book")+}}
location = element location {lat, long, ("Glastonbury, UK"|"Venice, IT"|"Anaheim, USA"|"Timbuktu, ML"|"Hastings, UK"|"Shoreditch, UK"|"Calais, FR"|"Hull, UK"|"Basque Country, ES"|"Isle Of Wight, UK"|"Chicago, USA "|"London, UK"|"Bristol, UK"|"Brighton, UK"|"San Francisco, USA"|"New York, USA"|"New Orleans, USA"|"Los Angeles, USA"|"Somerset, UK"|"Paris, FR"|"Sydney, AU"|"Melbourne, AU"|"Boston, USA"|"Brooklyn, USA"|"Palestine, IS"|"Toronto, CA"|"Wales, UK"|"Bethlehem, IS"|"Dover, UK"|"Gaza, PS"|"Liverpool, UK"|"Salt Lake City, USA")}
lat = attribute lat {xsd:float}
long = attribute long {xsd:float}
size = element size {dimension?, orientation, ("small"|"medium"|"large")}
dimension = attribute dimension {list{xsd:decimal, "x", xsd:decimal}}
orientation = attribute orientation {"landscape"|"portrait"}
cause = element cause {when, text}
edition = element edition {total?, signed?, unsigned?, text}
total = attribute total {xsd:integer}
signed= attribute signed {xsd:integer}
unsigned = attribute unsigned {xsd:integer}