<?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/>.
xmlns:exsl="http://exslt.org/common"
xmlns:exslstr="http://exslt.org/strings"
xmlns:html="http://www.w3.org/1999/xhtml"
+ xmlns:nfo="http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xslt="http://www.w3.org/1999/XSL/TransformAlias"
xmlns:书社="urn:fdc:ladys.computer:20231231:Shu1She4"
- exclude-result-prefixes="catalog exslstr"
+ exclude-result-prefixes="catalog"
+ extension-element-prefixes="exslstr"
version="1.0"
>
<namespace-alias stylesheet-prefix="xslt" result-prefix="#default"/>
<template match="/">
- <xslt:transform version="1.0">
+ <xslt:transform extension-element-prefixes="exsl" version="1.0">
<xslt:param name="BUILDTIME" select="'1972-12-31T00:00:00Z'"/>
- <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="THISREV" select="false()"/>
<xslt:variable name="书社:parsers">
<html:dl>
<xslt:when test="self::*">
<xslt:copy>
<xslt:attribute name="书社:cksum">
- <xslt:value-of select="$CKSUM"/>
+ <xslt:value-of select="document('metadata')//*[@rdf:about=$IDENTIFIER]/nfo:hasHash[@nfo:hashAlgorithm='CRC32']/@nfo:hashValue"/>
+ </xslt:attribute>
+ <xslt:attribute name="书社:identifier">
+ <xslt:value-of select="$IDENTIFIER"/>
+ </xslt:attribute>
+ <xslt:attribute name="书社:mtime">
+ <xslt:value-of select="document('metadata')//*[@rdf:about=$IDENTIFIER]/nfo:fileLastModified"/>
</xslt:attribute>
- <xslt:copy-of select="@*|node()"/>
+ <xslt:copy-of select="@*[namespace-uri()!='urn:fdc:ladys.computer:20231231:Shu1She4' or not(contains(' cksum identifier mtime ', concat(' ', local-name(), ' ')))]|node()"/>
</xslt:copy>
</xslt:when>
<xslt:otherwise>