Project

General

Profile

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xsl:stylesheet version="1.0"
3
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dnet="eu.dnetlib.miscutils.functional.xml.DnetXsltFunctions"
4
	xmlns:utils="eu.dnetlib.miscutils.datetime.DateUtils" xmlns:tei="http://www.tei-c.org/ns/1.0"
5
	xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:eagle="http://www.eagle-network.eu/eagle"
6
	exclude-result-prefixes="xsl tei dnet utils">
7

    
8
	<xsl:output indent="yes" />
9

    
10
	<xsl:param name="CP_ACRONYM" />
11
	<xsl:param name="CP_URL" />
12
	<xsl:param name="CP_NAME" />
13

    
14
	<xsl:variable name="REPO_ID" select="//dri:repositoryId" />
15
	<xsl:variable name="ORIG_OBJ_ID" select="//dri:objIdentifier" />
16

    
17
	<xsl:variable name="NOW" select="utils:now_ISO8601()" />
18

    
19
	<xsl:variable name="LANG" select="//tei:TEI/@*[local-name()='lang']" />
20
	<xsl:variable name="LOCAL_ID" select="//tei:idno" />
21
	<xsl:variable name="LOCAL_ID_MD5" select="dnet:md5(//tei:idno)" />
22
	<xsl:variable name="DATE_EDITED" select="//tei:change/@when" />
23
	<xsl:variable name="METADATA_EDITOR" select="//tei:change/@who" />
24
	<xsl:variable name="IPR_URL" select="//tei:licence/@target" />
25
	<xsl:variable name="IPR_STATEMENT" select="//tei:licence" />
26
	<xsl:variable name="TITLE" select="//tei:titleStmt/tei:title" />
27
	<xsl:variable name="DESCRIPTION" select="//tei:titleStmt/tei:title" />
28

    
29
	<xsl:template name="commonProperties">
30
		<recordSourceInfo>
31
			<xsl:attribute name="providerName">
32
                <xsl:value-of select="$CP_NAME" />
33
            </xsl:attribute>
34
			<xsl:attribute name="providerAcronym">
35
                <xsl:value-of select="$CP_ACRONYM" />
36
            </xsl:attribute>
37
			<xsl:attribute name="providerURI">
38
                <xsl:value-of select="$CP_URL" />
39
            </xsl:attribute>
40
			<xsl:value-of select="$LOCAL_ID" />
41
		</recordSourceInfo>
42
		<editingInfo>
43
			<dateEdited>
44
				<xsl:value-of select="$DATE_EDITED" />
45
			</dateEdited>
46
			<metadataEditor>
47
				<xsl:value-of select="$METADATA_EDITOR" />
48
			</metadataEditor>
49
		</editingInfo>
50
		<metadataIpr>
51
			<xsl:attribute name="url">
52
                <xsl:value-of select="$IPR_URL" />
53
            </xsl:attribute>
54
			<xsl:value-of select="$IPR_STATEMENT" />
55
		</metadataIpr>
56
		<title>
57
			<xsl:attribute name="lang">
58
                <xsl:value-of select="$LANG" />
59
            </xsl:attribute>
60
			<xsl:value-of select="$TITLE" />
61
		</title>
62
		<description>
63
			<xsl:attribute name="lang">
64
                <xsl:value-of select="$LANG" />
65
            </xsl:attribute>
66
			<xsl:value-of select="$DESCRIPTION" />
67
		</description>
68
	</xsl:template>
69

    
70
	<xsl:template match="/">
71
		<package>
72
			<!-- ARTIFACT -->
73
			<record>
74
				<header>
75
					<dri:objIdentifier>
76
						<xsl:value-of select="concat($ORIG_OBJ_ID, '_artifact')" />
77
					</dri:objIdentifier>
78
					<dri:dateOfCollection>
79
						<xsl:value-of select="$NOW" />
80
					</dri:dateOfCollection>
81
					<dri:repositoryId>
82
						<xsl:value-of select="$REPO_ID" />
83
					</dri:repositoryId>
84
				</header>
85
				<metadata>
86
					<eagleObject>
87
						<dnetResourceIdentifier>
88
							<xsl:value-of select="concat('artifact::', $CP_ACRONYM, '::', $LOCAL_ID_MD5)" />
89
						</dnetResourceIdentifier>
90
						<xsl:call-template name="commonProperties" />
91
						<entityType>Artifact</entityType>
92
						<artifact>
93
							<artifactType>Inscription</artifactType>
94
							<monumentType>
95
								<xsl:attribute name="uri">
96
                                    <xsl:value-of select="//tei:objectType/@ref" />
97
                                </xsl:attribute>
98
								<xsl:value-of select="//*[local-name()='objectType']" />
99
							</monumentType>
100
							<material>
101
								<xsl:attribute name="uri">
102
                                    <xsl:value-of select="//tei:material/@ref" />
103
                                </xsl:attribute>
104
								<xsl:value-of select="//*[local-name()='material']" />
105
							</material>
106
							<dimensions>
107
								<xsl:attribute name="unit">
108
                                    <xsl:value-of select="//tei:support/tei:dimensions/@unit" />
109
                                </xsl:attribute>
110
								<width>
111
									<xsl:value-of select="//tei:support/tei:dimensions/tei:width" />
112
								</width>
113
								<height>
114
									<xsl:value-of select="//tei:support/tei:dimensions/tei:height" />
115
								</height>
116
								<depth>
117
									<xsl:value-of select="//tei:support/tei:dimensions/tei:depth" />
118
								</depth>
119
							</dimensions>
120
							<decoration>
121
								<xsl:attribute name="uri">
122
                                    <xsl:value-of select="//tei:support/tei:rs[@type='decoration']/@ref" />
123
                                </xsl:attribute>
124
								<xsl:value-of select="//tei:support/tei:rs[@type='decoration']" />
125
							</decoration>
126
							<stateOfPreservation>
127
								<xsl:attribute name="uri">
128
                                    <xsl:value-of select="//tei:support/tei:rs[@type='statPreserv']/@ref" />
129
                                </xsl:attribute>
130
								<xsl:value-of select="//tei:support/tei:rs[@type='statPreserv']" />
131
							</stateOfPreservation>
132
							<originDating>
133
								<xsl:attribute name="notBefore"><xsl:value-of select="//tei:origDate/@notBefore-custom" /></xsl:attribute>
134
								<xsl:attribute name="notAfter"><xsl:value-of select="//tei:origDate/@notAfter-custom" /></xsl:attribute>
135
								<xsl:attribute name="datingMethod"><xsl:value-of select="//tei:origDate/@datingMethod" /></xsl:attribute>
136
								<xsl:attribute name="evidence"><xsl:value-of select="//tei:origDate/@evidence" /></xsl:attribute>
137
								<xsl:attribute name="period"><xsl:value-of select="//tei:origDate/@period" /></xsl:attribute>
138
								<xsl:value-of select="//tei:origDate" />
139
							</originDating>
140
							<yearOfFinding>
141
								<xsl:value-of select="//tei:provenance/tei:date/@when" />
142
							</yearOfFinding>
143
							<findingSpot>
144
								<romanProvinceItalicRegion>
145
									<xsl:attribute name="uri">
146
                                        <xsl:value-of select="//tei:origPlace/tei:placeName[@type='provinceItalicRegion']/@ref" />
147
                                    </xsl:attribute>
148
									<xsl:value-of select="//tei:origPlace/tei:placeName[@type='provinceItalicRegion']" />
149
								</romanProvinceItalicRegion>
150
								<ancientFindSpot>
151
									<xsl:attribute name="uri">
152
                                        <xsl:value-of select="//tei:origPlace/tei:placeName[not(@type)]/@ref" />
153
                                    </xsl:attribute>
154
									<xsl:value-of select="//tei:origPlace/tei:placeName[not(@type)]" />
155
								</ancientFindSpot>
156
								<modernFindSpot>
157
									<xsl:attribute name="uri">
158
                                        <xsl:value-of select="//tei:provenance[@type='found']/tei:placeName[not(@type)]/@ref" />
159
                                    </xsl:attribute>
160
									<xsl:value-of select="//tei:provenance[@type='found']/tei:placeName[not(@type)]" />
161
								</modernFindSpot>
162
								<modernCountry>
163
									<xsl:attribute name="uri">
164
                                        <xsl:value-of select="//tei:provenance[@type='found']/tei:placeName[@type='modernCountry']/@ref" />
165
                                    </xsl:attribute>
166
									<xsl:value-of select="//tei:provenance[@type='found']/tei:placeName[@type='modernCountry']" />
167
								</modernCountry>
168
								<modernRegion>
169
									<xsl:attribute name="uri">
170
                                        <xsl:value-of select="//tei:provenance[@type='found']/tei:placeName[@type='modernRegion']/@ref" />
171
                                    </xsl:attribute>
172
									<xsl:value-of select="//tei:provenance[@type='found']/tei:placeName[@type='modernRegion']" />
173
								</modernRegion>
174
								<modernProvince>
175
									<xsl:attribute name="uri">
176
                                        <xsl:value-of select="//tei:provenance[@type='found']/tei:placeName[@type='modernProvince']/@ref" />
177
                                    </xsl:attribute>
178
									<xsl:value-of select="//tei:provenance[@type='found']/tei:placeName[@type='modernProvince']" />
179
								</modernProvince>
180
							</findingSpot>
181
							<conservationPlace>
182
								<conservationCountry>
183
									<xsl:attribute name="uri">
184
                                        <xsl:value-of select="//tei:country/tei:placeName[@type='modern']/@ref" />
185
                                    </xsl:attribute>
186
									<xsl:value-of select="//tei:country/tei:placeName[@type='modern']" />
187
								</conservationCountry>
188
								<conservationRegion >
189
									<xsl:attribute name="uri">
190
                                        <xsl:value-of select="//tei:region/tei:placeName[@type='modern']/@ref" />
191
                                    </xsl:attribute>
192
									<xsl:value-of select="//tei:region/tei:placeName[@type='modern']" />
193
								</conservationRegion>
194
								<conservationCity>
195
									<xsl:attribute name="uri">
196
                                        <xsl:value-of select="//tei:settlement/tei:placeName[@type='modern']/@ref" />
197
                                    </xsl:attribute>
198
									<xsl:value-of select="//tei:settlement/tei:placeName[@type='modern']" />
199
								</conservationCity>
200
								<museum>
201
									<xsl:attribute name="uri">
202
                                        <xsl:value-of select="//tei:msIdentifier/tei:repository/@ref" />
203
                                    </xsl:attribute>
204
									<xsl:value-of select="//tei:msIdentifier/tei:repository" />
205
								</museum>
206
								<position>
207
									<xsl:value-of select="//tei:msIdentifier/tei:collection" />
208
								</position>
209
								<inventoryNumber>
210
									<xsl:value-of select="//tei:msIdentifier/tei:idno" />
211
								</inventoryNumber>
212
							</conservationPlace>
213
							<!-- ARTIFACT+INSCRIPTION -->
214
							<inscription>
215
								<refersTrismegistosCard>
216
									<xsl:attribute name="tm_id">
217
										<xsl:value-of select="//tei:publicationStmt/idno[@type='TM_id']"></xsl:value-of>
218
									</xsl:attribute>###refersTrismegistosCard0</refersTrismegistosCard>
219
								<inscriptionType>
220
									<xsl:attribute name="uri">
221
                                        <xsl:value-of select="//tei:keywords/tei:term/@ref" />
222
                                    </xsl:attribute>
223
									<xsl:value-of select="//tei:keywords/tei:term" />
224
								</inscriptionType>
225
								<engravingTechnique>
226
									<xsl:attribute name="uri">
227
                                        <xsl:value-of select="//tei:rs[type='execution']/@ref" />
228
                                    </xsl:attribute>
229
									<xsl:value-of select="//tei:rs[type='execution']/@ref" />
230
								</engravingTechnique>
231
								<metre>
232
									<xsl:value-of select="//tei:rs[type='metre']" />
233
								</metre>
234
								<fieldSize>
235
									<xsl:attribute name="unit">
236
                                        <xsl:value-of select="//tei:layout/tei:dimensions/tei:width/@unit" />
237
                                    </xsl:attribute>
238
									<width><xsl:value-of select="//tei:layout/tei:dimensions/tei:width" /></width>
239
									<height><xsl:value-of select="//tei:layout/tei:dimensions/tei:height" /></height>
240
								</fieldSize>
241
								<paleographicCharacteristics>
242
									<xsl:value-of select="//tei:handDesc/tei:handNote" />
243
								</paleographicCharacteristics>
244
								<letterSize unit="unit5">
245
									<width>0</width>
246
									<height>0</height>
247
								</letterSize>
248
<!-- 								Properties down here are not present in EpiDoc. Can be initialized only for STARC metadata-->
249
<!-- 								<inscriptionAuthor>inscriptionAuthor0</inscriptionAuthor> -->
250
<!-- 								<honorand socialStatus="socialStatus1">honorand0</honorand> -->
251
<!-- 								<dedicator>dedicator0</dedicator> -->
252
<!-- 								<namesMentioned>namesMentioned0</namesMentioned> -->
253
<!-- 								<relatedEvent>relatedEvent0</relatedEvent> -->
254
<!-- 								<placesMentioned>placesMentioned0</placesMentioned> -->
255
<!-- 								<restorationInfo>restorationInfo0</restorationInfo> -->
256
<!-- 								<doubleSided>doubleSided0</doubleSided> -->
257
<!-- 								<erasures>erasures0</erasures> -->
258
<!-- 								<spellingErrors>spellingErrors0</spellingErrors> -->
259
								<xsl:for-each select="tei:facsimile/tei:graphic">
260
									<hasInscriptionVisualRepresentation>
261
										<xsl:attribute name="uri">thumbnail</xsl:attribute>
262
										<xsl:value-of select="concat('visual::', $CP_ACRONYM, '::', $LOCAL_ID_MD5, '::', position)" />
263
									</hasInscriptionVisualRepresentation>
264
								</xsl:for-each>
265
								<hasTranslation>###relTranslationObj###</hasTranslation>
266
								<hasTranscription>
267
									<xsl:value-of select="concat('transcription::', $CP_ACRONYM, '::', $LOCAL_ID_MD5)" />
268
								</hasTranscription>
269
							</inscription>
270
						</artifact>
271
					</eagleObject>
272
				</metadata>
273
			</record>
274
			
275
			<!-- TRANSCRIPTION -->
276
			<record>
277
				<header>
278
					<dri:objIdentifier>
279
						<xsl:value-of select="concat($ORIG_OBJ_ID, '_transcription')" />
280
					</dri:objIdentifier>
281
					<dri:dateOfCollection>
282
						<xsl:value-of select="$NOW" />
283
					</dri:dateOfCollection>
284
					<dri:repositoryId>
285
						<xsl:value-of select="$REPO_ID" />
286
					</dri:repositoryId>
287
				</header>
288
				<metadata>
289
					<eagleObject>
290
						<dnetResourceIdentifier>
291
							<xsl:value-of select="concat('doc::', $CP_ACRONYM, '::', $LOCAL_ID_MD5)" />
292
						</dnetResourceIdentifier>
293
						<xsl:call-template name="commonProperties" />
294
						<entityType>Documental manifestation</entityType>
295
						<documentType>Transcription</documentType>
296
					    <transcription>
297
					        <text type="sic" lang="lang1">text0</text>
298
					        <criticalApparatus>criticalApparatus0</criticalApparatus>
299
					        <criticalApparatus>criticalApparatus1</criticalApparatus>
300
					        <bibliography uri="http://www.oxygenxml.com/">bibliography0</bibliography>
301
					        <bibliography uri="http://www.oxygenxml.com/">bibliography1</bibliography>
302
					        <commentary>commentary0</commentary>
303
					        <commentary>commentary1</commentary>
304
					        <isTranscriptionOf>isTranscriptionOf0</isTranscriptionOf>
305
					        <isTranscriptionOf>isTranscriptionOf1</isTranscriptionOf>
306
					    </transcription>
307
					</eagleObject>
308
				</metadata>
309
			</record>
310
			
311
			<!-- VISUAL REPRESENTATION -->
312
			<xsl:for-each select="tei:facsimile/tei:graphic">
313
				<record>
314
					<header>
315
						<dri:objIdentifier>
316
							<xsl:value-of select="concat($ORIG_OBJ_ID, '_visual', position)" />
317
						</dri:objIdentifier>
318
						<dri:dateOfCollection>
319
							<xsl:value-of select="$NOW" />
320
						</dri:dateOfCollection>
321
						<dri:repositoryId>
322
							<xsl:value-of select="$REPO_ID" />
323
						</dri:repositoryId>
324
					</header>
325
					<metadata>
326
						<eagleObject>
327
							<dnetResourceIdentifier>
328
								<xsl:value-of select="concat('visual::', $CP_ACRONYM, '::', $LOCAL_ID_MD5)" />
329
							</dnetResourceIdentifier>
330
							<xsl:call-template name="commonProperties" />
331
							<entityType>Visual representation</entityType>
332
							<visualRepresentation>
333
							    <representationType>Image</representationType>
334
							    <url>http://www.oxygenxml.com/</url>
335
							    <thumbnail>http://www.oxygenxml.com/</thumbnail>
336
							    <author>author0</author>
337
							    <visualRepresentationIpr uri="http://www.oxygenxml.com/">visualRepresentationIpr0</visualRepresentationIpr>
338
							    <creationDate>creationDate0</creationDate>
339
							    <quality>quality0</quality>
340
							    <format>format0</format>
341
							    <isRepresentationOf>isRepresentationOf0</isRepresentationOf>
342
							    <isRepresentationOf>isRepresentationOf1</isRepresentationOf>
343
							    <info3D>
344
							        <acquisitionTechnology>acquisitionTechnology0</acquisitionTechnology>
345
							        <processingInfo>processingInfo0</processingInfo>
346
							        <horizontalResolution>horizontalResolution0</horizontalResolution>
347
							        <verticalResolution>verticalResolution0</verticalResolution>
348
							        <modelDimensions unit="unit1">
349
							            <width>0</width>
350
							            <height>0</height>
351
							            <depth>0</depth>
352
							        </modelDimensions>
353
							        <modelArea>modelArea0</modelArea>
354
							        <modelPerimeter>modelPerimeter0</modelPerimeter>
355
							    </info3D>
356
							    <infoVideo>
357
							        <duration>duration0</duration>
358
							        <resolution>resolution0</resolution>
359
							        <rate>rate0</rate>
360
							    </infoVideo>
361
							</visualRepresentation>
362
						</eagleObject>
363
					</metadata>
364
				</record>
365
			</xsl:for-each>
366
		</package>
367
	</xsl:template>
368
</xsl:stylesheet>
(2-2/4)