X-Git-Url: https://git.ladys.computer/Shushe/blobdiff_plain/44ad50cac2e0fb39ba3cf8b3d5bdf3840e47dc34..15648b660cd14e2834629ad52b65ceb313362c9b:/parsers/record-jar.xslt?ds=sidebyside diff --git a/parsers/record-jar.xslt b/parsers/record-jar.xslt index bd04730..b58505d 100644 --- a/parsers/record-jar.xslt +++ b/parsers/record-jar.xslt @@ -11,11 +11,14 @@ SPDX-License-Identifier: MPL-2.0 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" extension-element-prefixes="exsl exslstr" version="1.0" @@ -23,23 +26,28 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one <书社: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> + <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(., ':')"> @@ -69,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>