X-Git-Url: https://git.ladys.computer/Shushe/blobdiff_plain/edacd9742b9feb3d3d6e10f41b6b077cb51e8002..7e39a36064ba7afc8c061ca5c2da125756014553:/parsers/record-jar.xslt?ds=sidebyside diff --git a/parsers/record-jar.xslt b/parsers/record-jar.xslt index db8948e..b58505d 100644 --- a/parsers/record-jar.xslt +++ b/parsers/record-jar.xslt @@ -1,41 +1,53 @@ <?xml version="1.0"?> <!-- -⁌ ⛩️📰 书社 ∷ parsers/record-jar.xslt +SPDX-FileCopyrightText: 2024 Lady <https://www.ladys.computer/about/#lady> +SPDX-License-Identifier: MPL-2.0 +--> +<!-- +⁌ ⛩📰 书社 ∷ parsers/record-jar.xslt -© 2024 Lady [@ Lady’s Computer] +© 2024 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 xhtml 'http://www.w3.org/1999/xhtml'> +]> <transform xmlns="http://www.w3.org/1999/XSL/Transform" xmlns:exsl="http://exslt.org/common" xmlns:exslstr="http://exslt.org/strings" - xmlns:html="http://www.w3.org/1999/xhtml" + xmlns:html="&xhtml;" xmlns:书社="urn:fdc:ladys.computer:20231231:Shu1She4" - exclude-result-prefixes="exsl exslstr" + extension-element-prefixes="exsl exslstr" version="1.0" > <书社:id>urn:fdc:ladys.computer:20231231:Shu1She4:record-jar.xslt</书社:id> <template match="html:script[@type='text/record-jar']"> <variable name="lines" select="exslstr:tokenize(., '
')"/> - <html:div class="record-jar"> + <element name="div" namespace="&xhtml;"> + <if test="starts-with($lines[1], '%%') and substring-after($lines[1], '%%')!=''"> + <comment> + <value-of select="substring-after($lines[1], '%%')"/> + </comment> + </if> <for-each select="$lines[not(position()=1) and starts-with(., '%%')]"> <variable name="end" select="."/> <variable name="start" select="preceding-sibling::*[starts-with(., '%%')][1]"/> <variable name="fields" select="($start/following-sibling::*|$lines[not($start)])[not(preceding-sibling::*[generate-id()=generate-id($end)]) and not(starts-with(., '%%'))]"/> <if test="$fields"> - <html:dl> + <element name="dl" namespace="&xhtml;"> <for-each select="$fields"> <choose> <when test="starts-with(., ' ') and $fields[generate-id()=generate-id(current()/preceding-sibling::*[1])]"/> <otherwise> <variable name="next" select="following-sibling::*[not(starts-with(., ' '))]"/> - <html:div> - <html:dt> + <element name="div" namespace="&xhtml;"> + <element name="dt" namespace="&xhtml;"> <value-of select="normalize-space(substring-before(., ':'))"/> - </html:dt> - <html:dd> + </element> + <element name="dd" namespace="&xhtml;"> <variable name="firstline"> <choose> <when test="contains(., ':')"> @@ -65,14 +77,19 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one </otherwise> </choose> </for-each> - </html:dd> - </html:div> + </element> + </element> </otherwise> </choose> </for-each> - </html:dl> + </element> + </if> + <if test="substring-after(., '%%')!=''"> + <comment> + <value-of select="substring-after(., '%%')"/> + </comment> </if> </for-each> - </html:div> + </element> </template> </transform>