blob: b660d33ea44819f56e06e330804af2bbb25a02fe [file] [log] [blame]
bansp973a7ef2021-11-18 17:19:27 +01001<!-- dodatkowy schemat DTD dla nagłówka lokalnego (header.xml)
2 definiuje on podzbiór schematu TEI dla nagłówków lokalnych
3 użycie:
4 <!DOCTYPE teiHeader SYSTEM "header.dtd"> w header.xml
5
6 ver. 0.2, Piotr Bański, 04-05-2009
7 ver. 0.3, Adam Przepiórkowski, 13-05-2009
8 ver. 0.4, Adam Przepiórkowski, 21-05-2009
9 ver. 0.5, Piotr Bański and Adam Przepiórkowski, 23-05-2009
10 ver. 0.5.1, Adam Przepiórkowski, 23-05-2009
11 AP: Added @xml:lang to <topic>.
12 ver. 0.5.2, Adam Przepiórkowski, 25-09-2009
13 AP: Changed the possible values of nkjp:subcorpus.
14 AP: Possibly made various other modifications between
15 23-05-2009 and 25-09-2009.
16 ver. 0.5.3, Adam Przepiórkowski, 14-02-2010
17 AP: Added @from and @to to <date>
18-->
19
20<!ELEMENT teiHeader (fileDesc, encodingDesc?, profileDesc, revisionDesc)>
21<!ATTLIST teiHeader xmlns CDATA #FIXED "http://www.tei-c.org/ns/1.0">
22<!ATTLIST teiHeader xmlns:nkjp CDATA #FIXED "http://www.nkjp.pl/ns/1.0">
23<!ATTLIST teiHeader xml:lang CDATA #FIXED "en">
24<!ATTLIST teiHeader xml:id ID #REQUIRED>
25<!ATTLIST teiHeader type CDATA #FIXED "text">
26<!ELEMENT fileDesc (titleStmt, extent*, publicationStmt, sourceDesc)>
27<!ELEMENT publicationStmt (availability, idno*)>
28<!ATTLIST publicationStmt nkjp:subcorpus (balanced|unbalanced|restricted|one_million) #REQUIRED>
29<!ELEMENT availability (p+)>
30<!ATTLIST availability status (free | restricted) #REQUIRED>
31<!ELEMENT extent (num+)>
32<!ATTLIST extent nkjp:file (text.xml) #REQUIRED>
33<!ELEMENT num (#PCDATA)>
34<!ATTLIST num type (word | segment | sentence | character) #REQUIRED>
35<!ATTLIST num value CDATA #IMPLIED>
36<!ELEMENT profileDesc (langUsage?, textClass, nkjp:topic?, particDesc?, settingDesc?)>
37<!ELEMENT settingDesc (setting+)>
38<!ELEMENT setting (name*, date)>
39<!ELEMENT name (#PCDATA | ref)*>
40<!ATTLIST name type (person|place|voivodship) #IMPLIED> <!-- AP: person, by default -->
41<!ATTLIST name xml:lang (pl | en) #IMPLIED>
42<!ATTLIST name ref CDATA #IMPLIED>
43<!ELEMENT nkjp:topic (#PCDATA)>
44<!ATTLIST nkjp:topic xml:lang (pl | en) #IMPLIED>
45<!ELEMENT particDesc (person+)>
46<!ELEMENT person (persName, sex?, education?, age?, residence?)>
47<!ATTLIST person role (author|editor|speaker) #REQUIRED>
48<!ATTLIST person xml:id ID #IMPLIED>
49<!ELEMENT persName (#PCDATA)>
50<!ELEMENT sex (#PCDATA)>
51<!ATTLIST sex value (0|1|2|9) #REQUIRED>
52<!ELEMENT education (#PCDATA)>
53<!ATTLIST education xml:lang (pl | en) #IMPLIED>
54<!ELEMENT age (#PCDATA)>
55<!ELEMENT residence (#PCDATA)>
56<!ELEMENT langUsage (language+)>
57<!ELEMENT language (#PCDATA)>
58<!ATTLIST language ident (pl-x-formal | pl-x-informal) #REQUIRED> <!-- required by TEI -->
59<!ELEMENT revisionDesc (change+)>
60<!ATTLIST revisionDesc xml:id ID #IMPLIED>
61
62<!-- PB: content of fileDesc -->
63<!ELEMENT titleStmt (title+, author*, respStmt*)>
64<!ELEMENT title (#PCDATA)>
65<!ATTLIST title xml:lang (pl | en) #IMPLIED>
66<!ATTLIST title level (a | j | m) #IMPLIED>
67<!ATTLIST title type (file) #IMPLIED>
68<!ELEMENT respStmt (name, resp)>
69<!ATTLIST respStmt xml:lang (pl | en) #IMPLIED>
70<!ELEMENT resp (#PCDATA | ref)*>
71<!ATTLIST resp xml:lang (pl | en) #IMPLIED>
72
73<!ELEMENT idno (#PCDATA)>
74<!ATTLIST idno type (ISSN|ISBN|issue|para|nkjp) #REQUIRED>
75
76<!ELEMENT sourceDesc (bibl, listBibl*, recordingStmt?)>
77<!-- PB: bibl musi takie "luźne" być, ponieważ schemat TEI dopuszcza #PCDATA -->
78<!ELEMENT bibl (ptr?, title*, author*, respStmt*, date*, publisher?, pubPlace?, idno*, ref?, note*)>
79<!ATTLIST bibl xml:id ID #REQUIRED>
80<!ELEMENT author (#PCDATA)>
81<!ATTLIST author ref CDATA #IMPLIED> <!-- default: audio -->
82<!ELEMENT listBibl (bibl+)>
83<!ELEMENT recordingStmt (recording+)>
84<!ELEMENT recording (broadcast?)>
85<!ELEMENT broadcast (bibl)>
86<!ATTLIST recording type (audio|video) #IMPLIED> <!-- default: audio -->
87<!ATTLIST recording dur CDATA #IMPLIED>
88<!ELEMENT publisher (#PCDATA)>
89<!ELEMENT pubPlace (#PCDATA)>
90<!ELEMENT date (#PCDATA)>
91<!ATTLIST date type (created|first_published|published|acquired|recorded) #REQUIRED>
92<!-- PB: atrybut when MUSI mieć formę "yyyy(-mm(-dd))"; niestety, w ramach DTD nie mogę tego wymusić -->
93<!ATTLIST date when CDATA #IMPLIED>
94<!ATTLIST date from CDATA #IMPLIED>
95<!ATTLIST date to CDATA #IMPLIED>
96<!ATTLIST date xml:lang (pl | en) #IMPLIED>
97<!ELEMENT note (#PCDATA | ref)*>
98<!ATTLIST note type (text_origin | original_header) #REQUIRED>
99<!ATTLIST note xml:lang (pl | en) #IMPLIED>
100<!ELEMENT ref (#PCDATA)>
101<!ATTLIST ref type CDATA #IMPLIED>
102<!ATTLIST ref target CDATA #IMPLIED>
103
104<!-- PB: zawartość profileDesc; nie mogę tutaj niestety użyć IDREF ani NMTOKEN, musi być CDATA -->
105<!ELEMENT textClass (classCode | keywords | catRef)+>
106<!ELEMENT classCode (#PCDATA)>
107<!ATTLIST classCode scheme CDATA #REQUIRED>
108<!ELEMENT keywords (list)>
109<!ATTLIST keywords scheme CDATA #REQUIRED>
110<!ELEMENT catRef EMPTY>
111<!ATTLIST catRef scheme CDATA #REQUIRED>
112<!ATTLIST catRef target CDATA #REQUIRED>
113
114
115<!ELEMENT change (#PCDATA | ptr | list | gi | att | val | tag)*>
116<!ATTLIST change who CDATA #REQUIRED>
117<!-- PB: @when ma takie samo ograniczenie jak w <date>: "yyyy(-mm(-dd))" -->
118<!ATTLIST change when CDATA #IMPLIED>
119<!ELEMENT ptr EMPTY>
120<!ATTLIST ptr target CDATA #IMPLIED>
121<!ELEMENT gi (#PCDATA)>
122<!ELEMENT att (#PCDATA)>
123<!ELEMENT val (#PCDATA)>
124<!ELEMENT tag (#PCDATA)>
125
126
127<!ELEMENT list (head?, item+)>
128<!ATTLIST list xml:lang (pl | en) #IMPLIED>
129<!ELEMENT head (#PCDATA)>
130<!ELEMENT item (#PCDATA | ref | list)*>
131
132<!ELEMENT p (#PCDATA | ref)*>
133<!ATTLIST p xml:lang (pl | en) #IMPLIED>