Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MIR-1307 initial commit with TODO marker and first refactoring #997

Draft
wants to merge 1 commit into
base: 2023.06.x
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 13 additions & 20 deletions mir-module/src/main/resources/xsl/mods2xMetaDissPlus.xsl
Original file line number Diff line number Diff line change
Expand Up @@ -166,48 +166,41 @@
</xsl:variable>

<xsl:choose>
<xsl:when test="$is_hosted_periodical='true'">
<!-- A periodocal part published at the repository should handled as periodical Part. -->
<xsl:call-template name="XMDP_Document">
<xsl:with-param name="documentType" select="$type"/>
<xsl:with-param name="documentPublisher" select="$repositoryPublisher"/>
<xsl:with-param name="periodicalAsPartOf" select="'true'"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="($type = 'article' or $type = 'contributionToPeriodical' or $type='contributionToPeriodical ') and $is_hosted_periodical='false'
and ($publisher/dc:publisher/cc:universityOrInstitution/cc:name and $publisher/dc:publisher/cc:universityOrInstitution/cc:place) ">
<!-- A periodocal part not published at the repository should handled like a monograph. FormatDoc XMDP (2020) Kap. 0.8 S.5 und Kap.5.2 S.53 -->
<!-- A periodical part not published at the repository should handled like a monograph. FormatDoc XMDP (2020) Kap. 0.8 S.5 und Kap.5.2 S.53 -->
<xsl:call-template name="XMDP_Document">
<xsl:with-param name="documentType" select="$type"/>
<!-- <xsl:with-param name="documentPublisher" select="$publisher"/> -->
<xsl:with-param name="documentPublisher" select="$repositoryPublisher"/>
<xsl:with-param name="periodicalAsPartOf" select="'false'"/>
<xsl:with-param name="periodicalAsPartOf" select="$is_hosted_periodical"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="($type = 'doctoralThesis' or $type = 'bachelorThesis' or $type = 'masterThesis')
and ($publisher/dc:publisher/cc:universityOrInstitution/cc:name and $publisher/dc:publisher/cc:universityOrInstitution/cc:place) ">
<!-- TODO: x-xmdp-type auswerten statt harte codiert vergleichen -->
<xsl:when test="($type = 'doctoralThesis' or $type = 'bachelorThesis' or $type = 'masterThesis')
and ($publisher/dc:publisher/cc:universityOrInstitution/cc:name and $publisher/dc:publisher/cc:universityOrInstitution/cc:place) "> <!-- TODO: Kriterium für Verlagspublikation muss ein anderes sein, Klassifikation? -->
<!-- A thesis published by an publishing company should handled like a monograph. FormatDoc XMDP (2020) Kap.3.2. S.27 ; Kap.1.2 S.10-->
<xsl:call-template name="XMDP_Document">
<xsl:with-param name="documentType" select="'book'"/>
<xsl:with-param name="documentType" select="'book'"/> <!-- TODO: Fallunterscheidung abhängig von Verlagspublikation ('Book') oder nicht ($type) -->
<!-- <xsl:with-param name="documentPublisher" select="$publisher"/> -->
<xsl:with-param name="documentPublisher" select="$repositoryPublisher"/>
<xsl:with-param name="periodicalAsPartOf" select="'false'"/>
<xsl:with-param name="documentPublisher" select="$repositoryPublisher"/> <!-- TODO: mit DNB klären: müsste ggf. Univerlag sein? -->
<xsl:with-param name="periodicalAsPartOf" select="$is_hosted_periodical"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$type = 'doctoralThesis' and ($mods/mods:originInfo[@eventType='creation']/mods:dateOther[@type='accepted'] and $degree)">
<!-- Für eine Dissertationen und Habilitationen sind Hochschulort, Prüfungsjahr und Hochschule obligatorisch. -->
<xsl:call-template name="XMDP_Document">
<xsl:with-param name="documentType" select="$type"/>
<xsl:with-param name="documentPublisher" select="$repositoryPublisher"/>
<xsl:with-param name="periodicalAsPartOf" select="'false'"/>
<xsl:with-param name="periodicalAsPartOf" select="$is_hosted_periodical"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$type = 'bachelorThesis' or $type = 'masterThesis'">
<!-- Für Bachelor- und Masterarbeiten, Magisterarbeiten, Staatsexamen und Diplome ist der Hochschulschriftenvermerk fakultativ. -->
<xsl:call-template name="XMDP_Document">
<xsl:with-param name="documentType" select="$type"/>
<xsl:with-param name="documentPublisher" select="$repositoryPublisher"/>
<xsl:with-param name="periodicalAsPartOf" select="'false'"/>
<xsl:with-param name="periodicalAsPartOf" select="$is_hosted_periodical"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="$publisher/dc:publisher/cc:universityOrInstitution/cc:name and $publisher/dc:publisher/cc:universityOrInstitution/cc:place">
Expand All @@ -216,15 +209,15 @@
<xsl:with-param name="documentType" select="$type"/>
<!-- <xsl:with-param name="documentPublisher" select="$publisher"/> -->
<xsl:with-param name="documentPublisher" select="$repositoryPublisher"/>
<xsl:with-param name="periodicalAsPartOf" select="'false'"/>
<xsl:with-param name="periodicalAsPartOf" select="$is_hosted_periodical"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<!-- Implizite Erstveröffentlichung -->
<xsl:call-template name="XMDP_Document">
<xsl:with-param name="documentType" select="$type"/>
<xsl:with-param name="documentPublisher" select="$repositoryPublisher"/>
<xsl:with-param name="periodicalAsPartOf" select="'false'"/>
<xsl:with-param name="periodicalAsPartOf" select="$is_hosted_periodical"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
Expand Down Expand Up @@ -282,7 +275,7 @@
<xsl:if test="not(contains($MIR.xMetaDissPlus.disabledTemplates,'abstract'))">
<xsl:call-template name="abstract" />
</xsl:if>
<!-- Verlag/Verlegende Stelle und Verlagsort -->
<!-- Verbreitende Stelle / Repositorybetreiber und Ort -->
<xsl:copy-of select="$documentPublisher"/>
<!-- Beteiligte Personen und und Beteiligte Organisationen(Autorenschaft) -->
<xsl:call-template name="contributor" />
Expand Down
Loading