Compare commits

..

No commits in common. "73e749160c25a4b2c83a27fb161129aa71929c8c" and "1450d9eaae82015057515773e08939e20fc6cf38" have entirely different histories.

8 changed files with 220 additions and 500 deletions

View File

@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2022-2023 museum-digital Copyright (c) 2022
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@ -3,30 +3,14 @@
## Formats covered thus far ## Formats covered thus far
- `LIDO 1.0` - `LIDO 1.0`
(Primary exchange export format). See <https://lido-schema.org> (Primary exchange export format)
- LIDO 1.1
Updated version of the LIDO standard, as of 2022. See <https://lido-schema.org>
- EODEM
A LIDO profile (based on LIDO 1.1) specifically designed for the automation of the exchange of loan object information. Contrary to LIDO, it thus also covers some internal fields. See: <https://cidoc.mini.icom.museum/working-groups/documentation-standards/eodem-home/>
## Repository structure ## Repository structure
### [/src](./src) ### /src
Contains the relevant .xsl files used for converting md:xml to other formats. Contains the relevant .xsl files used for converting md:xml to other formats.
#### [/src/schemas](./src/schemas) ### /sample
This directory contains schemas for validating the different formats.
#### [/src/selections](./src/selections)
This directory contains JSON files listing which bits and pieces should be made available during an export from musdb when exporting to a given format. E.g., LIDO cannot represent internal information like insurance values. It thus does not make sense to export such information during the export to md:xml pre-transformation in the first place.
### [/sample](./sample)
Here you can find sample mx:xml files. Here you can find sample mx:xml files.
## License
This project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for the full license text.

View File

@ -34,133 +34,70 @@
</xsl:if> </xsl:if>
<lido:objectClassificationWrap> <lido:objectClassificationWrap>
<lido:objectWorkTypeWrap> <lido:objectWorkTypeWrap>
<lido:objectWorkType>
<xsl:choose> <xsl:for-each select="objektart_gnd">
<xsl:when test=" <lido:conceptID>
tagSet[0]/relation_type[. = 'object_type'] <xsl:attribute name="lido:source">gnd</xsl:attribute>
| tagSet[1]/relation_type[. = 'object_type'] <xsl:attribute name="lido:type">uri</xsl:attribute>
| tagSet[2]/relation_type[. = 'object_type'] <xsl:value-of select="concat('http://d-nb.info/gnd/', .)" />
| tagSet[3]/relation_type[. = 'object_type'] </lido:conceptID>
| tagSet[4]/relation_type[. = 'object_type'] </xsl:for-each>
| tagSet[5]/relation_type[. = 'object_type'] <xsl:for-each select="objektart_grobsystematik">
| tagSet[6]/relation_type[. = 'object_type'] <lido:conceptID>
| tagSet[7]/relation_type[. = 'object_type'] <xsl:attribute name="lido:source">grobsystematik</xsl:attribute>
| tagSet[8]/relation_type[. = 'object_type'] <xsl:attribute name="lido:type">uri</xsl:attribute>
| tagSet[9]/relation_type[. = 'object_type'] <xsl:value-of select="concat('https://term.museum-digital.de/grobsystematik/tag/', .)" />
| tagSet[10]/relation_type[. = 'object_type'] </lido:conceptID>
| tagSet[11]/relation_type[. = 'object_type'] </xsl:for-each>
| tagSet[12]/relation_type[. = 'object_type'] <xsl:for-each select="objektart_oberbegriffsdatei">
| tagSet[13]/relation_type[. = 'object_type'] <lido:conceptID>
| tagSet[14]/relation_type[. = 'object_type'] <xsl:attribute name="lido:source">oberbegriffsdatei</xsl:attribute>
| tagSet[15]/relation_type[. = 'object_type'] <xsl:attribute name="lido:type">uri</xsl:attribute>
| tagSet[16]/relation_type[. = 'object_type'] <xsl:value-of select="concat('https://term.museum-digital.de/oberbegriffsdatei/tag/', .)" />
| tagSet[17]/relation_type[. = 'object_type'] </lido:conceptID>
| tagSet[18]/relation_type[. = 'object_type'] </xsl:for-each>
"> <xsl:for-each select="objektart_aat">
<lido:conceptID>
<!-- objectWorkType exists via tags --> <xsl:attribute name="lido:source">aat</xsl:attribute>
<xsl:for-each select="tagSet/tag_id"> <xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:if test="../relation_type = 'object_type'"> <xsl:value-of select="concat('http://vocab.getty.edu/aat/', .)" />
<lido:objectWorkType> </lido:conceptID>
<xsl:for-each select="../noda_tag_Set/noda_source"> </xsl:for-each>
<xsl:if test="string-length(../noda_link)!=0"> <xsl:for-each select="objektart_lcsh">
<lido:conceptID> <lido:conceptID>
<xsl:attribute name="lido:source"> <xsl:attribute name="lido:source">lcsh</xsl:attribute>
<xsl:value-of select="../noda_source"/> <xsl:attribute name="lido:type">uri</xsl:attribute>
</xsl:attribute> <xsl:value-of select="concat('http://id.loc.gov/authorities/subjects/', .)" />
<xsl:attribute name="lido:type">uri</xsl:attribute> </lido:conceptID>
<xsl:value-of select="../noda_link"/> </xsl:for-each>
</lido:conceptID> <xsl:for-each select="objektart_md_tag">
</xsl:if> <lido:conceptID>
</xsl:for-each> <xsl:attribute name="lido:source">md:term</xsl:attribute>
<xsl:for-each select="../tag_name"> <xsl:attribute name="lido:type">uri</xsl:attribute>
<lido:term> <xsl:value-of select="concat('https://term.museum-digital.de/md-de/tag/', .)" />
<xsl:attribute name="lido:addedSearchTerm">no</xsl:attribute> </lido:conceptID>
<xsl:if test="string-length(./@lang)!=0"> </xsl:for-each>
<xsl:attribute name="xml:lang"> <xsl:if test="objektart!=''">
<xsl:value-of select="./@lang"/> <xsl:for-each select="objektart">
</xsl:attribute> <lido:term>
</xsl:if> <xsl:attribute name="xml:lang">de</xsl:attribute>
<xsl:value-of select="."/> <xsl:value-of select="." />
<xsl:variable name="objektartschlagwort" select="." /> </lido:term>
</lido:term> </xsl:for-each>
</xsl:for-each> </xsl:if>
</lido:objectWorkType> <xsl:if test="objekt_record_set/objektart!=''">
<xsl:for-each select="objekt_record_set">
<xsl:if test="substring(objekt_record_weitergabe,1,1)=0">
<lido:term>
<xsl:attribute name="xml:lang">
<xsl:value-of select="objekt_record_lang" />
</xsl:attribute>
<xsl:value-of select="objektart" />
</lido:term>
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
</xsl:if>
</xsl:when> </lido:objectWorkType>
<xsl:otherwise>
<lido:objectWorkType>
<xsl:for-each select="objektart_gnd">
<lido:conceptID>
<xsl:attribute name="lido:source">gnd</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('http://d-nb.info/gnd/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:for-each select="objektart_grobsystematik">
<lido:conceptID>
<xsl:attribute name="lido:source">grobsystematik</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('https://term.museum-digital.de/grobsystematik/tag/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:for-each select="objektart_oberbegriffsdatei">
<lido:conceptID>
<xsl:attribute name="lido:source">oberbegriffsdatei</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('https://term.museum-digital.de/oberbegriffsdatei/tag/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:for-each select="objektart_aat">
<lido:conceptID>
<xsl:attribute name="lido:source">aat</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('http://vocab.getty.edu/aat/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:for-each select="objektart_lcsh">
<lido:conceptID>
<xsl:attribute name="lido:source">lcsh</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('http://id.loc.gov/authorities/subjects/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:for-each select="objektart_md_tag">
<lido:conceptID>
<xsl:attribute name="lido:source">md:term</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('https://term.museum-digital.de/md-de/tag/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:if test="objektart!=''">
<xsl:for-each select="objektart">
<lido:term>
<xsl:attribute name="xml:lang">de</xsl:attribute>
<xsl:value-of select="." />
</lido:term>
</xsl:for-each>
</xsl:if>
<xsl:if test="objekt_record_set/objektart!=''">
<xsl:for-each select="objekt_record_set">
<xsl:if test="substring(objekt_record_weitergabe,1,1)=0">
<lido:term>
<xsl:attribute name="xml:lang">
<xsl:value-of select="objekt_record_lang" />
</xsl:attribute>
<xsl:value-of select="objektart" />
</lido:term>
</xsl:if>
</xsl:for-each>
</xsl:if>
</lido:objectWorkType>
</xsl:otherwise>
</xsl:choose>
</lido:objectWorkTypeWrap> </lido:objectWorkTypeWrap>
<lido:classificationWrap> <lido:classificationWrap>
<xsl:for-each select="collectionSet"> <xsl:for-each select="collectionSet">

View File

@ -33,135 +33,72 @@
</xsl:if> </xsl:if>
<lido:objectClassificationWrap> <lido:objectClassificationWrap>
<lido:objectWorkTypeWrap> <lido:objectWorkTypeWrap>
<lido:objectWorkType>
<xsl:choose> <xsl:for-each select="objektart_gnd">
<xsl:when test=" <lido:conceptID>
tagSet[0]/relation_type[. = 'object_type'] <xsl:attribute name="lido:source">gnd</xsl:attribute>
| tagSet[1]/relation_type[. = 'object_type'] <xsl:attribute name="lido:type">uri</xsl:attribute>
| tagSet[2]/relation_type[. = 'object_type'] <xsl:value-of select="concat('http://d-nb.info/gnd/', .)" />
| tagSet[3]/relation_type[. = 'object_type'] </lido:conceptID>
| tagSet[4]/relation_type[. = 'object_type'] </xsl:for-each>
| tagSet[5]/relation_type[. = 'object_type'] <xsl:for-each select="objektart_grobsystematik">
| tagSet[6]/relation_type[. = 'object_type'] <lido:conceptID>
| tagSet[7]/relation_type[. = 'object_type'] <xsl:attribute name="lido:source">grobsystematik</xsl:attribute>
| tagSet[8]/relation_type[. = 'object_type'] <xsl:attribute name="lido:type">uri</xsl:attribute>
| tagSet[9]/relation_type[. = 'object_type'] <xsl:value-of select="concat('https://term.museum-digital.de/grobsystematik/tag/', .)" />
| tagSet[10]/relation_type[. = 'object_type'] </lido:conceptID>
| tagSet[11]/relation_type[. = 'object_type'] </xsl:for-each>
| tagSet[12]/relation_type[. = 'object_type'] <xsl:for-each select="objektart_oberbegriffsdatei">
| tagSet[13]/relation_type[. = 'object_type'] <lido:conceptID>
| tagSet[14]/relation_type[. = 'object_type'] <xsl:attribute name="lido:source">oberbegriffsdatei</xsl:attribute>
| tagSet[15]/relation_type[. = 'object_type'] <xsl:attribute name="lido:type">uri</xsl:attribute>
| tagSet[16]/relation_type[. = 'object_type'] <xsl:value-of select="concat('https://term.museum-digital.de/oberbegriffsdatei/tag/', .)" />
| tagSet[17]/relation_type[. = 'object_type'] </lido:conceptID>
| tagSet[18]/relation_type[. = 'object_type'] </xsl:for-each>
"> <xsl:for-each select="objektart_aat">
<lido:conceptID>
<!-- objectWorkType exists via tags --> <xsl:attribute name="lido:source">aat</xsl:attribute>
<xsl:for-each select="tagSet/tag_id"> <xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:if test="../relation_type = 'object_type'"> <xsl:value-of select="concat('http://vocab.getty.edu/aat/', .)" />
<lido:objectWorkType> </lido:conceptID>
<xsl:for-each select="../noda_tag_Set/noda_source"> </xsl:for-each>
<xsl:if test="string-length(../noda_link)!=0"> <xsl:for-each select="objektart_lcsh">
<lido:conceptID> <lido:conceptID>
<xsl:attribute name="lido:source"> <xsl:attribute name="lido:source">lcsh</xsl:attribute>
<xsl:value-of select="../noda_source"/> <xsl:attribute name="lido:type">uri</xsl:attribute>
</xsl:attribute> <xsl:value-of select="concat('http://id.loc.gov/authorities/subjects/', .)" />
<xsl:attribute name="lido:type">uri</xsl:attribute> </lido:conceptID>
<xsl:value-of select="../noda_link"/> </xsl:for-each>
</lido:conceptID> <xsl:for-each select="objektart_md_tag">
</xsl:if> <lido:conceptID>
</xsl:for-each> <xsl:attribute name="lido:source">md:term</xsl:attribute>
<xsl:for-each select="../tag_name"> <xsl:attribute name="lido:type">uri</xsl:attribute>
<lido:term> <xsl:value-of select="concat('https://term.museum-digital.de/md-de/tag/', .)" />
<xsl:attribute name="lido:addedSearchTerm">no</xsl:attribute> </lido:conceptID>
<xsl:if test="string-length(./@lang)!=0"> </xsl:for-each>
<xsl:attribute name="xml:lang"> <xsl:if test="objektart!=''">
<xsl:value-of select="./@lang"/> <xsl:for-each select="objektart">
</xsl:attribute> <lido:term>
</xsl:if> <xsl:attribute name="xml:lang">de</xsl:attribute>
<xsl:value-of select="."/> <xsl:value-of select="." />
<xsl:variable name="objektartschlagwort" select="." /> </lido:term>
</lido:term> </xsl:for-each>
</xsl:for-each> </xsl:if>
</lido:objectWorkType> <xsl:if test="objekt_record_set/objektart!=''">
<xsl:for-each select="objekt_record_set">
<xsl:if test="substring(objekt_record_weitergabe,1,1)=0">
<lido:term>
<xsl:attribute name="xml:lang">
<xsl:value-of select="objekt_record_lang" />
</xsl:attribute>
<xsl:value-of select="objektart" />
</lido:term>
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
</xsl:if>
</xsl:when> </lido:objectWorkType>
<xsl:otherwise>
<lido:objectWorkType>
<xsl:for-each select="objektart_gnd">
<lido:conceptID>
<xsl:attribute name="lido:source">gnd</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('http://d-nb.info/gnd/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:for-each select="objektart_grobsystematik">
<lido:conceptID>
<xsl:attribute name="lido:source">grobsystematik</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('https://term.museum-digital.de/grobsystematik/tag/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:for-each select="objektart_oberbegriffsdatei">
<lido:conceptID>
<xsl:attribute name="lido:source">oberbegriffsdatei</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('https://term.museum-digital.de/oberbegriffsdatei/tag/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:for-each select="objektart_aat">
<lido:conceptID>
<xsl:attribute name="lido:source">aat</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('http://vocab.getty.edu/aat/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:for-each select="objektart_lcsh">
<lido:conceptID>
<xsl:attribute name="lido:source">lcsh</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('http://id.loc.gov/authorities/subjects/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:for-each select="objektart_md_tag">
<lido:conceptID>
<xsl:attribute name="lido:source">md:term</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('https://term.museum-digital.de/md-de/tag/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:if test="objektart!=''">
<xsl:for-each select="objektart">
<lido:term>
<xsl:attribute name="xml:lang">de</xsl:attribute>
<xsl:value-of select="." />
</lido:term>
</xsl:for-each>
</xsl:if>
<xsl:if test="objekt_record_set/objektart!=''">
<xsl:for-each select="objekt_record_set">
<xsl:if test="substring(objekt_record_weitergabe,1,1)=0">
<lido:term>
<xsl:attribute name="xml:lang">
<xsl:value-of select="objekt_record_lang" />
</xsl:attribute>
<xsl:value-of select="objektart" />
</lido:term>
</xsl:if>
</xsl:for-each>
</xsl:if>
</lido:objectWorkType>
</xsl:otherwise>
</xsl:choose>
</lido:objectWorkTypeWrap> </lido:objectWorkTypeWrap>
<lido:classificationWrap> <lido:classificationWrap>
<xsl:for-each select="collectionSet"> <xsl:for-each select="collectionSet">
<lido:classification> <lido:classification>
<xsl:attribute name="lido:type">Sammlung</xsl:attribute> <xsl:attribute name="lido:type">Sammlung</xsl:attribute>
@ -925,43 +862,6 @@
</lido:materialsTech> </lido:materialsTech>
</lido:eventMaterialsTech> </lido:eventMaterialsTech>
</xsl:if> </xsl:if>
<xsl:for-each select="tagSet/tag_id">
<xsl:if test="../relation_type = 'material'">
<lido:eventMaterialsTech>
<lido:materialsTech>
<lido:termMaterialsTech lido:type="material">
<xsl:for-each select="../noda_tag_Set/noda_source">
<xsl:if test="string-length(../noda_link)!=0">
<lido:conceptID>
<xsl:attribute name="lido:source">
<xsl:value-of select="../noda_source"/>
</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="../noda_link"/>
</lido:conceptID>
</xsl:if>
</xsl:for-each>
<xsl:for-each select="../tag_name">
<lido:term>
<xsl:attribute name="lido:addedSearchTerm">no</xsl:attribute>
<xsl:if test="string-length(./@lang)!=0">
<xsl:attribute name="xml:lang">
<xsl:value-of select="./@lang"/>
</xsl:attribute>
</xsl:if>
<xsl:value-of select="."/>
</lido:term>
</xsl:for-each>
</lido:termMaterialsTech>
</lido:materialsTech>
</lido:eventMaterialsTech>
</xsl:if>
</xsl:for-each>
<xsl:if test="technik2!=''"> <xsl:if test="technik2!=''">
<lido:eventMaterialsTech> <lido:eventMaterialsTech>
<lido:materialsTech> <lido:materialsTech>
@ -973,41 +873,7 @@
</lido:materialsTech> </lido:materialsTech>
</lido:eventMaterialsTech> </lido:eventMaterialsTech>
</xsl:if> </xsl:if>
</lido:event>
<xsl:for-each select="tagSet/tag_id">
<xsl:if test="../relation_type = 'technique'">
<lido:eventMaterialsTech>
<lido:materialsTech>
<lido:termMaterialsTech lido:type="technique">
<xsl:for-each select="../noda_tag_Set/noda_source">
<xsl:if test="string-length(../noda_link)!=0">
<lido:conceptID>
<xsl:attribute name="lido:source">
<xsl:value-of select="../noda_source"/>
</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="../noda_link"/>
</lido:conceptID>
</xsl:if>
</xsl:for-each>
<xsl:for-each select="../tag_name">
<lido:term>
<xsl:attribute name="lido:addedSearchTerm">no</xsl:attribute>
<xsl:if test="string-length(./@lang)!=0">
<xsl:attribute name="xml:lang">
<xsl:value-of select="./@lang"/>
</xsl:attribute>
</xsl:if>
<xsl:value-of select="."/>
</lido:term>
</xsl:for-each>
</lido:termMaterialsTech>
</lido:materialsTech>
</lido:eventMaterialsTech>
</xsl:if>
</xsl:for-each>
</lido:event>
</lido:eventSet> </lido:eventSet>
</xsl:if> </xsl:if>
@ -1325,40 +1191,39 @@
</xsl:if> </xsl:if>
<xsl:for-each select="tagSet/tag_id"> <xsl:for-each select="tagSet/tag_id">
<xsl:if test="(../relation_type != 'object_type') and (../relation_type != 'material') and (../relation_type != 'technique')"> <lido:subjectSet>
<lido:subjectSet> <lido:subject>
<lido:subject> <lido:subjectConcept>
<lido:subjectConcept> <xsl:for-each select="../noda_tag_Set/noda_source">
<xsl:for-each select="../noda_tag_Set/noda_source"> <xsl:if test="string-length(../noda_link)!=0">
<xsl:if test="string-length(../noda_link)!=0"> <lido:conceptID>
<lido:conceptID> <xsl:attribute name="lido:source">
<xsl:attribute name="lido:source"> <xsl:value-of select="../noda_source"/>
<xsl:value-of select="../noda_source"/> </xsl:attribute>
</xsl:attribute> <xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute> <xsl:value-of select="../noda_link"/>
<xsl:value-of select="../noda_link"/> </lido:conceptID>
</lido:conceptID> </xsl:if>
</xsl:if> </xsl:for-each>
</xsl:for-each> <xsl:for-each select="../tag_name">
<xsl:for-each select="../tag_name"> <lido:term>
<lido:term> <xsl:attribute name="lido:addedSearchTerm">no</xsl:attribute>
<xsl:attribute name="lido:addedSearchTerm">no</xsl:attribute> <xsl:if test="string-length(./@lang)!=0">
<xsl:if test="string-length(./@lang)!=0"> <xsl:attribute name="xml:lang">
<xsl:attribute name="xml:lang"> <xsl:value-of select="./@lang"/>
<xsl:value-of select="./@lang"/> </xsl:attribute>
</xsl:attribute> </xsl:if>
</xsl:if> <xsl:value-of select="."/>
<xsl:value-of select="."/> </lido:term>
</lido:term>
</xsl:for-each> </xsl:for-each>
</lido:subjectConcept> </lido:subjectConcept>
</lido:subject> </lido:subject>
</lido:subjectSet> </lido:subjectSet>
</xsl:if>
</xsl:for-each> </xsl:for-each>
</lido:subjectWrap> </lido:subjectWrap>
<lido:relatedWorksWrap> <lido:relatedWorksWrap>
<xsl:for-each select="vergleichsobjekte2"> <xsl:for-each select="vergleichsobjekte2">
<lido:relatedWorkSet> <lido:relatedWorkSet>
<lido:relatedWork> <lido:relatedWork>
@ -1893,7 +1758,7 @@
</xsl:for-each> </xsl:for-each>
</lido:resourceRepresentation> </lido:resourceRepresentation>
<lido:resourceRepresentation> <lido:resourceRepresentation>
<xsl:attribute name="lido:type">provided_text</xsl:attribute> <xsl:attribute name="lido:type">text</xsl:attribute>
<xsl:for-each select="../resource_location"> <xsl:for-each select="../resource_location">
<xsl:if test="position() = 1"> <xsl:if test="position() = 1">
<lido:linkResource> <lido:linkResource>

View File

@ -33,133 +33,70 @@
</xsl:if> </xsl:if>
<lido:objectClassificationWrap> <lido:objectClassificationWrap>
<lido:objectWorkTypeWrap> <lido:objectWorkTypeWrap>
<lido:objectWorkType>
<xsl:choose> <xsl:for-each select="objektart_gnd">
<xsl:when test=" <lido:conceptID>
tagSet[0]/relation_type[. = 'object_type'] <xsl:attribute name="lido:source">gnd</xsl:attribute>
| tagSet[1]/relation_type[. = 'object_type'] <xsl:attribute name="lido:type">uri</xsl:attribute>
| tagSet[2]/relation_type[. = 'object_type'] <xsl:value-of select="concat('http://d-nb.info/gnd/', .)" />
| tagSet[3]/relation_type[. = 'object_type'] </lido:conceptID>
| tagSet[4]/relation_type[. = 'object_type'] </xsl:for-each>
| tagSet[5]/relation_type[. = 'object_type'] <xsl:for-each select="objektart_grobsystematik">
| tagSet[6]/relation_type[. = 'object_type'] <lido:conceptID>
| tagSet[7]/relation_type[. = 'object_type'] <xsl:attribute name="lido:source">grobsystematik</xsl:attribute>
| tagSet[8]/relation_type[. = 'object_type'] <xsl:attribute name="lido:type">uri</xsl:attribute>
| tagSet[9]/relation_type[. = 'object_type'] <xsl:value-of select="concat('https://term.museum-digital.de/grobsystematik/tag/', .)" />
| tagSet[10]/relation_type[. = 'object_type'] </lido:conceptID>
| tagSet[11]/relation_type[. = 'object_type'] </xsl:for-each>
| tagSet[12]/relation_type[. = 'object_type'] <xsl:for-each select="objektart_oberbegriffsdatei">
| tagSet[13]/relation_type[. = 'object_type'] <lido:conceptID>
| tagSet[14]/relation_type[. = 'object_type'] <xsl:attribute name="lido:source">oberbegriffsdatei</xsl:attribute>
| tagSet[15]/relation_type[. = 'object_type'] <xsl:attribute name="lido:type">uri</xsl:attribute>
| tagSet[16]/relation_type[. = 'object_type'] <xsl:value-of select="concat('https://term.museum-digital.de/oberbegriffsdatei/tag/', .)" />
| tagSet[17]/relation_type[. = 'object_type'] </lido:conceptID>
| tagSet[18]/relation_type[. = 'object_type'] </xsl:for-each>
"> <xsl:for-each select="objektart_aat">
<lido:conceptID>
<!-- objectWorkType exists via tags --> <xsl:attribute name="lido:source">aat</xsl:attribute>
<xsl:for-each select="tagSet/tag_id"> <xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:if test="../relation_type = 'object_type'"> <xsl:value-of select="concat('http://vocab.getty.edu/aat/', .)" />
<lido:objectWorkType> </lido:conceptID>
<xsl:for-each select="../noda_tag_Set/noda_source"> </xsl:for-each>
<xsl:if test="string-length(../noda_link)!=0"> <xsl:for-each select="objektart_lcsh">
<lido:conceptID> <lido:conceptID>
<xsl:attribute name="lido:source"> <xsl:attribute name="lido:source">lcsh</xsl:attribute>
<xsl:value-of select="../noda_source"/> <xsl:attribute name="lido:type">uri</xsl:attribute>
</xsl:attribute> <xsl:value-of select="concat('http://id.loc.gov/authorities/subjects/', .)" />
<xsl:attribute name="lido:type">uri</xsl:attribute> </lido:conceptID>
<xsl:value-of select="../noda_link"/> </xsl:for-each>
</lido:conceptID> <xsl:for-each select="objektart_md_tag">
</xsl:if> <lido:conceptID>
</xsl:for-each> <xsl:attribute name="lido:source">md:term</xsl:attribute>
<xsl:for-each select="../tag_name"> <xsl:attribute name="lido:type">uri</xsl:attribute>
<lido:term> <xsl:value-of select="concat('https://term.museum-digital.de/md-de/tag/', .)" />
<xsl:attribute name="lido:addedSearchTerm">no</xsl:attribute> </lido:conceptID>
<xsl:if test="string-length(./@lang)!=0"> </xsl:for-each>
<xsl:attribute name="xml:lang"> <xsl:if test="objektart!=''">
<xsl:value-of select="./@lang"/> <xsl:for-each select="objektart">
</xsl:attribute> <lido:term>
</xsl:if> <xsl:attribute name="xml:lang">de</xsl:attribute>
<xsl:value-of select="."/> <xsl:value-of select="." />
<xsl:variable name="objektartschlagwort" select="." /> </lido:term>
</lido:term> </xsl:for-each>
</xsl:for-each> </xsl:if>
</lido:objectWorkType> <xsl:if test="objekt_record_set/objektart!=''">
<xsl:for-each select="objekt_record_set">
<xsl:if test="substring(objekt_record_weitergabe,1,1)=0">
<lido:term>
<xsl:attribute name="xml:lang">
<xsl:value-of select="objekt_record_lang" />
</xsl:attribute>
<xsl:value-of select="objektart" />
</lido:term>
</xsl:if> </xsl:if>
</xsl:for-each> </xsl:for-each>
</xsl:if>
</xsl:when> </lido:objectWorkType>
<xsl:otherwise>
<lido:objectWorkType>
<xsl:for-each select="objektart_gnd">
<lido:conceptID>
<xsl:attribute name="lido:source">gnd</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('http://d-nb.info/gnd/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:for-each select="objektart_grobsystematik">
<lido:conceptID>
<xsl:attribute name="lido:source">grobsystematik</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('https://term.museum-digital.de/grobsystematik/tag/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:for-each select="objektart_oberbegriffsdatei">
<lido:conceptID>
<xsl:attribute name="lido:source">oberbegriffsdatei</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('https://term.museum-digital.de/oberbegriffsdatei/tag/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:for-each select="objektart_aat">
<lido:conceptID>
<xsl:attribute name="lido:source">aat</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('http://vocab.getty.edu/aat/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:for-each select="objektart_lcsh">
<lido:conceptID>
<xsl:attribute name="lido:source">lcsh</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('http://id.loc.gov/authorities/subjects/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:for-each select="objektart_md_tag">
<lido:conceptID>
<xsl:attribute name="lido:source">md:term</xsl:attribute>
<xsl:attribute name="lido:type">uri</xsl:attribute>
<xsl:value-of select="concat('https://term.museum-digital.de/md-de/tag/', .)" />
</lido:conceptID>
</xsl:for-each>
<xsl:if test="objektart!=''">
<xsl:for-each select="objektart">
<lido:term>
<xsl:attribute name="xml:lang">de</xsl:attribute>
<xsl:value-of select="." />
</lido:term>
</xsl:for-each>
</xsl:if>
<xsl:if test="objekt_record_set/objektart!=''">
<xsl:for-each select="objekt_record_set">
<xsl:if test="substring(objekt_record_weitergabe,1,1)=0">
<lido:term>
<xsl:attribute name="xml:lang">
<xsl:value-of select="objekt_record_lang" />
</xsl:attribute>
<xsl:value-of select="objektart" />
</lido:term>
</xsl:if>
</xsl:for-each>
</xsl:if>
</lido:objectWorkType>
</xsl:otherwise>
</xsl:choose>
</lido:objectWorkTypeWrap> </lido:objectWorkTypeWrap>
<lido:classificationWrap> <lido:classificationWrap>
<xsl:for-each select="collectionSet"> <xsl:for-each select="collectionSet">

View File

@ -9,7 +9,6 @@
"show_markings": true, "show_markings": true,
"show_transcripts": true, "show_transcripts": true,
"show_links": true, "show_links": true,
"show_object_to_object_links": true,
"show_images": true, "show_images": true,
"show_hidden_images": false, "show_hidden_images": false,
"show_objekt_inventarnr": true, "show_objekt_inventarnr": true,

View File

@ -9,7 +9,6 @@
"show_markings": true, "show_markings": true,
"show_transcripts": true, "show_transcripts": true,
"show_links": true, "show_links": true,
"show_object_to_object_links": true,
"show_images": true, "show_images": true,
"show_hidden_images": false, "show_hidden_images": false,
"show_objekt_inventarnr": true, "show_objekt_inventarnr": true,

View File

@ -9,7 +9,6 @@
"show_markings": true, "show_markings": true,
"show_transcripts": true, "show_transcripts": true,
"show_links": true, "show_links": true,
"show_object_to_object_links": true,
"show_images": true, "show_images": true,
"show_hidden_images": false, "show_hidden_images": false,
"show_objekt_inventarnr": true, "show_objekt_inventarnr": true,