X-Git-Url: https://git.ladys.computer/Shushe/blobdiff_plain/af5384c82a9ca4f5eec8d307f2215b4950162b6f..0.7.4:/lib/catalog2parser.xslt

diff --git a/lib/catalog2parser.xslt b/lib/catalog2parser.xslt
index ad38990..3fdbdb2 100644
--- a/lib/catalog2parser.xslt
+++ b/lib/catalog2parser.xslt
@@ -1,8 +1,12 @@
 <?xml version="1.0"?>
 <!--
+SPDX-FileCopyrightText: 2023, 2024 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: MPL-2.0
+-->
+<!--
 ⁌ ⛩️📰 书社 ∷ lib/catalog2parser.xslt
 
-© 2023–2024 Lady [@ Lady’s Computer]
+© 2023–2024 Lady [@ Lady’s Computer].
 
 This Source Code Form is subject to the terms of the Mozilla Public License, v 2.0.
 If a copy of the M·P·L was not distributed with this file, You can obtain one at <https://mozilla.org/MPL/2.0/>.
@@ -23,11 +27,11 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one
 	<template match="/">
 		<xslt:transform version="1.0">
 			<xslt:param name="BUILDTIME" select="'1972-12-31T00:00:00Z'"/>
-			<xslt:param name="CKSUM" select="false"/>
-			<xslt:param name="GENERATOR" select="false"/>
-			<xslt:param name="SRCREV" select="false"/>
+			<xslt:param name="CKSUM" select="false()"/>
+			<xslt:param name="IDENTIFIER" select="false()"/>
+			<xslt:param name="SRCREV" select="false()"/>
 			<xslt:param name="SRCTIME" select="'1972-12-31T00:00:00Z'"/>
-			<xslt:param name="VERSION" select="false"/>
+			<xslt:param name="THISREV" select="false()"/>
 			<xslt:variable name="书社:parsers">
 				<html:dl>
 					<for-each select="//catalog:uri">
@@ -88,23 +92,32 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one
 				<xslt:param name="media-type"/>
 				<xslt:param name="result" select="/.."/>
 				<xslt:for-each select="$result/node()">
-					<xslt:copy>
-						<xslt:if test="string($id)!=''">
-							<xslt:attribute name="书社:parsed-by">
-								<xslt:value-of select="$id"/>
-								<xslt:if test="@书社:parsed-by">
-									<xslt:text> </xslt:text>
-									<xslt:value-of select="@书社:parsed-by"/>
+					<xslt:choose>
+						<xslt:when test="self::*">
+							<xslt:copy>
+								<xslt:if test="string($id)!=''">
+									<xslt:attribute name="书社:parsed-by">
+										<xslt:value-of select="$id"/>
+										<xslt:if test="@书社:parsed-by">
+											<xslt:text>
+												<text> </text>
+											</xslt:text>
+											<xslt:value-of select="@书社:parsed-by"/>
+										</xslt:if>
+									</xslt:attribute>
+								</xslt:if>
+								<xslt:if test="string($media-type)!=''">
+									<xslt:attribute name="书社:media-type">
+										<xslt:value-of select="$media-type"/>
+									</xslt:attribute>
 								</xslt:if>
-							</xslt:attribute>
-						</xslt:if>
-						<xslt:if test="string($media-type)!=''">
-							<xslt:attribute name="书社:media-type">
-								<xslt:value-of select="$media-type"/>
-							</xslt:attribute>
-						</xslt:if>
-						<xslt:copy-of select="@*[namespace-uri()!='urn:fdc:ladys.computer:20231231:Shu1She4' or local-name()!='parsed-by' and local-name()!='media-type']|node()"/>
-					</xslt:copy>
+								<xslt:copy-of select="@*[namespace-uri()!='urn:fdc:ladys.computer:20231231:Shu1She4' or local-name()!='parsed-by' and local-name()!='media-type']|node()"/>
+							</xslt:copy>
+						</xslt:when>
+						<xslt:otherwise>
+							<xslt:copy-of select="."/>
+						</xslt:otherwise>
+					</xslt:choose>
 				</xslt:for-each>
 			</xslt:template>
 			<xslt:template match="/">