+++ /dev/null
-<?xml version="1.0"?>
-<!--
-⁌ 📰 Caudex ∷ transforms/entry.xslt
-
-© 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/>.
--->
-<!DOCTYPE transform [
- <!ENTITY Caudex "urn:fdc:ladys.computer:20240204:Caudex:">
- <!ENTITY 书社 "urn:fdc:ladys.computer:20231231:Shu1She4:">
-]>
-<transform
- xmlns="http://www.w3.org/1999/XSL/Transform"
- xmlns:Caudex="urn:fdc:ladys.computer:20240204:Caudex"
- xmlns:exsl="http://exslt.org/common"
- xmlns:html="http://www.w3.org/1999/xhtml"
- xmlns:书社="urn:fdc:ladys.computer:20231231:Shu1She4"
- exclude-result-prefixes="exsl Caudex"
- version="1.0"
->
- <import href="../lib/split.xslt"/>
- <书社:id>&Caudex;entry.xslt</书社:id>
- <template match="/html:div[@书社:parsed-by='&Caudex;catalog.xslt'][@class='entry']">
- <html:body>
- <for-each select="@*[namespace-uri()!='urn:fdc:ladys.computer:20231231:Shu1She4']">
- <copy/>
- </for-each>
- <for-each select="html:div[@id='@']/html:div[@书社:parsed-by='&Caudex;codex-entry.xslt']">
- <variable name="metadata" select="html:div[@书社:parsed-by='&书社;record-jar.xslt']/html:dl[1]"/>
- <html:meta itemprop="&书社;title">
- <attribute name="content">
- <value-of select="$metadata//html:dt[string()='TITLE']/following-sibling::html:dd"/>
- <if test="$metadata//html:dt[string()='TITLE'] and $metadata//html:dt[string()='ENTRY']">
- <text> </text>
- </if>
- <if test="$metadata//html:dt[string()='ENTRY']">
- <text>(</text>
- <value-of select="$metadata//html:dt[string()='ENTRY']/following-sibling::html:dd"/>
- <text>)</text>
- </if>
- </attribute>
- </html:meta>
- <html:article>
- <if test="$metadata//html:dt[string()='TITLE']">
- <html:h1>
- <value-of select="$metadata//html:dt[string()='TITLE']/following-sibling::html:dd"/>
- </html:h1>
- </if>
- <variable name="paragraphs">
- <call-template name="Caudex:split">
- <with-param name="source" select="string(html:pre[@书社:parsed-by='&书社;plain.xslt'])"/>
- <with-param name="separator" select="'

'"/>
- </call-template>
- </variable>
- <for-each select="exsl:node-set($paragraphs)/*">
- <variable name="lines">
- <call-template name="Caudex:split">
- <with-param name="source" select="string()"/>
- </call-template>
- </variable>
- <variable name="linespans" select="exsl:node-set($lines)/*"/>
- <variable name="partype">
- <choose>
- <when test="not($linespans[not(starts-with(., ' ') or starts-with(., '	'))])">
- <text>blockquote</text>
- </when>
- <otherwise>
- <text>p</text>
- </otherwise>
- </choose>
- </variable>
- <if test="$linespans[normalize-space()!='']">
- <element name="html:{$partype}">
- <for-each select="$linespans">
- <if test="normalize-space()!=''">
- <value-of select="normalize-space()"/>
- <if test="following-sibling::*[normalize-space()!='']">
- <text> </text>
- </if>
- </if>
- </for-each>
- </element>
- </if>
- </for-each>
- </html:article>
- </for-each>
- </html:body>
- </template>
-</transform>