<?xml version="1.0"?>
<!--
-⁌ ⛩️📰 书社 ∷ lib/catalog2parser.xslt
+SPDX-FileCopyrightText: 2023, 2024, 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: MPL-2.0
+-->
+<!--
+⁌ ⛩📰 书社 ∷ lib/catalog2parser.xslt
-© 2023–2024 Lady [@ Lady’s Computer]
+© 2023–2025 Lady [@ Ladys 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/>.
-->
+<!DOCTYPE transform [
+ <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+]>
<transform
xmlns="http://www.w3.org/1999/XSL/Transform"
xmlns:catalog="urn:oasis:names:tc:entity:xmlns:xml:catalog"
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:for-each>
</xslt:template>
<xslt:template match="/">
- <xslt:variable name="parsedroot">
+ <xslt:variable name="about">
+ <xslt:apply-templates select="node()" mode="书社:about"/>
+ </xslt:variable>
+ <xslt:variable name="result">
<xslt:apply-templates select="node()" mode="书社:parse"/>
</xslt:variable>
- <xslt:for-each select="exsl:node-set($parsedroot)/node()">
- <xslt:choose>
- <xslt:when test="self::*">
- <xslt:copy>
- <xslt:attribute name="书社:cksum">
- <xslt:value-of select="$CKSUM"/>
- </xslt:attribute>
- <xslt:copy-of select="@*|node()"/>
- </xslt:copy>
- </xslt:when>
- <xslt:otherwise>
- <xslt:copy-of select="."/>
- </xslt:otherwise>
- </xslt:choose>
- </xslt:for-each>
+ <xslt:element name="书社:parsed">
+ <xslt:element name="书社:result">
+ <xslt:copy-of select="$result"/>
+ </xslt:element>
+ <xslt:element name="书社:metadata">
+ <xslt:element name="rdf:RDF" namespace="&rdf;">
+ <xslt:element name="rdf:Description" namespace="&rdf;">
+ <xslt:copy-of select="$about"/>
+ </xslt:element>
+ </xslt:element>
+ </xslt:element>
+ </xslt:element>
</xslt:template>
<xslt:template match="@*|node()" priority="-1">
<xslt:copy>
<xslt:apply-templates select="@*|node()" mode="书社:parse"/>
</xslt:copy>
</xslt:template>
+ <xslt:template match="@*|node()" mode="书社:about" priority="-1">
+ <xslt:apply-templates select="@*|node()" mode="书社:about"/>
+ </xslt:template>
<xslt:template match="html:script[@type]" mode="书社:parse" priority="1">
<xslt:variable name="parserdiv" select="exsl:node-set($书社:parsers)//html:div[html:dd=current()/@type]"/>
<xslt:choose>