[Kitodo] Komplexes Feld in mets exportieren

Roth-Steiner, Roland roland.roth-steiner at tu-darmstadt.de
Di Apr 20 11:38:33 CEST 2021


Hallo zusammen,

wer kann meinen xslt-Kenntnissen auf die Sprünge helfen?


Ich habe in meiner ruleset.xml den key extcat ("Externer Katalog") mit zwei subfeldern:

		<key id="extcat">
			<label>External catalog</label>
			<label lang="de">Externer Katalog</label>
			<key id="extcat_name">
				<label>Catalog / Database</label>
				<label lang="de">Katalog / Datenbank / Verzeichnis</label>
				<option value="gw"><label>Gesamtverzeichnis der Wiegendrucke</label></option>
				<option value="gwv"><label>Graupner Werkverzeichnis</label></option>
				<option value="istc"><label>ISTC (Incunabula Short Title Catalog)</label></option>
				<option value="kalliope"><label>Kalliope</label></option>		
				<option value="manumed"><label>Manumed</label></option>
				<option value="vd16"><label>VD 16</label></option>
				<option value="vd17"><label>VD 17</label></option>
				<option value="vd18"><label>VD 18</label></option>
			</key>
			<key id="extcat_id">
				<label>ID</label>
				<label lang="de">ID</label>
			</key>
		</key>

Der key kann bis zu 3 mal vergeben werden:

                        <permit key="extcat" maxOccurs="3">
                                <permit key="extcat_name" maxOccurs="1" /> 
                                <permit key="extcat_id" maxOccurs="1" />
                        </permit>

Ich habe einen Vorgang angelegt und das Feld 3 x belegt im MD-Editor, siehe Screenshot.

In ruleset.xsl habe ich:

                <xsl:variable name="extcatGroup" select="kitodo:metadataGroup[@name='extcat']"/>
                <xsl:variable name="extcat_id" select="kitodo:metadataGroup[@name='extcat']/kitodo:metadata[@name='extcat_id']"/>
               <xsl:variable name="extcat_name" select="kitodo:metadataGroup[@name='extcat']/kitodo:metadata[@name='extcat_name']"/>
               
               

                                <xsl:if test="$extcatGroup">
                                        <xsl:for-each select="$extcat_id">
                                                <mods:identifier>
                                                        <xsl:attribute name="type">
                                                                <xsl:value-of select="normalize-space($extcat_name)"/>
                                                        </xsl:attribute>
                                                        <xsl:value-of select="normalize-space(.)"/>
                                                </mods:identifier>
                                        </xsl:for-each>
                                </xsl:if>
                               
                               

Leider schlägt der Export in METS noch fehl mit (kitodo.log):

[ERROR] 2021-04-20 09:33:41.094 [Vorgang exportieren: Mus-Ms-411-06] Helper - Writing Mets file failed!: A sequence of more than one item is not allowed as the first argument of fn:normalize-space() ("kalliope", "gwv")


Muss ich da noch einen counter einbauen, oder was mache ich da falsch ?


Danke und LG

.......................................
Roland Roth-Steiner
. Univ.- und Landesbibliothek, ITF&E
. Magdalenenstr. 8, 64289 Darmstadt
+49 (0)6151 16-76317
skype-name: live:daropoi
.......................................
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : extcat-md-graupner.png
Dateityp    : image/png
Dateigröße  : 32258 bytes
Beschreibung: extcat-md-graupner.png
URL         : <http://bibservices.biblio.etc.tu-bs.de/pipermail/kitodo/attachments/20210420/470ae90e/attachment-0001.png>
-------------- nächster Teil --------------
_______________________________________________
Kitodo-Community mailing list
Kitodo-Community at kitodo.org
https://maillist.slub-dresden.de/cgi-bin/mailman/listinfo/kitodo-community


Mehr Informationen über die Mailingliste Kitodo