SPDX-License-Identifier: MPL-2.0
-->
<!--
-⁌ ⛩️📰 书社 ∷ lib/literally.xslt
+⁌ ⛩📰 书社 ∷ lib/literally.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/>.
version="1.0"
>
<template match="node()" mode="书社:literally">
+ <param name="extension-element-namespaces"/>
<choose>
- <when test="self::*">
+ <when test="self::* and contains(concat(' http://www.w3.org/1999/XSL/Transform ', normalize-space($extension-element-namespaces), ' '), concat(' ', namespace-uri(), ' '))">
<xslt:element name="{name()}" namespace="{namespace-uri()}">
<for-each select="@*">
<xslt:attribute name="{name()}" namespace="{namespace-uri()}">
<apply-templates mode="书社:literally"/>
</xslt:element>
</when>
+ <when test="self::*">
+ <element name="{name()}" namespace="{namespace-uri()}">
+ <for-each select="@*[not(contains(., '{') or contains(., '}'))]">
+ <attribute name="{name()}" namespace="{namespace-uri()}">
+ <value-of select="."/>
+ </attribute>
+ </for-each>
+ <for-each select="@*[contains(., '{') or contains(., '}')]">
+ <xslt:attribute name="{name()}" namespace="{namespace-uri()}">
+ <xslt:text>
+ <value-of select="."/>
+ </xslt:text>
+ </xslt:attribute>
+ </for-each>
+ <apply-templates mode="书社:literally"/>
+ </element>
+ </when>
<when test="self::text()">
<xslt:text>
<value-of select="."/>