mokko / zml2lido

xslt that transforms Zetcom's xml to LIDO plus some Python glue to make things easy
GNU General Public License v3.0
2 stars 2 forks source link

Export Orte, Fehlende Ortstypen in der LIDO Transformation #108

Closed FrankvonHagel closed 1 year ago

FrankvonHagel commented 1 year ago

Es scheinen nicht alle Orte ausgespielt zu werden. Fundorte würde zum "LIDO:Event: Fund" gehören und Entstehungsort stilistisch würde zum "LIDO:Event: Herstellung" gehören werden in LIDO nicht angegeben Ich habe mal zwei Beispiele ausgegeben.

2Beispiele.zip

mokko commented 1 year ago

Das Fund Event ist implementiert. Ob es auch wie gewünscht funktioniert, muss ich testen.

mokko commented 1 year ago

"Herstellungsort" ist auf der Liste der Orte, die ein Event Herstellung auslösen. Ob das wie gewünscht funktioniert, muss ich ausprobieren.

mokko commented 1 year ago

Der DS https://recherche.smb.museum/detail/2312591 enthält tatsächlich einen Fundort, aber das LIDO nicht. Der Grund liegt wohl daran, dass der Ort nicht im eigentlichen Feld eingetragen ist, sondern im Detail Feld daneben (vgl. Screenshot). Interessanterweise wird der Ort dann auch online bei Recherche ausgegeben (vgl. Screenshot). Ich werde also das LIDO-Mapping entsprechend ändern, um den gleichen Effekt zu erreichen. grafik grafik

mokko commented 1 year ago

zml

<dataField dataType="Varchar" name="DetailsTxt">
  <value>Meistersfelde (Gęsiki), Woje. Warmińsko-Mazurskie, Polen</value>
</dataField>

xslt versucht schon DetailsTxt auszuwerten. Funktioniert aber wohl nicht

    <xsl:variable name="geoname">
        <xsl:choose>
            <xsl:when test="$geopicker eq 'PlaceVoc' 
                or $geopicker eq 'PlaceILSVoc'">
                <xsl:value-of select="z:vocabularyReference[@name eq $geopicker]/z:vocabularyReferenceItem/z:formattedValue"/>
            </xsl:when>
            <xsl:when test="$geopicker eq 'DetailsText'">
                <xsl:value-of select="z:dataField[@name='DetailsTxt']/z:value"/>
            </xsl:when>
        </xsl:choose>
    </xsl:variable>
mokko commented 1 year ago

Das Problem war an anderer Stelle und zwar bei der Definition der Variable placesN, die eigentlich nur nicht-Orte wie Etrhnien herausgefiltern sollte, tatsächlich aber alle Orte ohne eine geogr.Bezeichnung herausgefiltert hat. Das ganze beheben wir mit dem kommenden Commit 65b0f17