X-Git-Url: https://git.ladys.computer/Shushe/blobdiff_plain/8d1379f31be03acadc1c3ea420799df3e93c924c..f3c2056c026b2d04d1470d000c50df85759b6003:/lib/literally.xslt?ds=sidebyside

diff --git a/lib/literally.xslt b/lib/literally.xslt
index dc104e1..d929f2f 100644
--- a/lib/literally.xslt
+++ b/lib/literally.xslt
@@ -4,9 +4,9 @@ SPDX-FileCopyrightText: 2024 Lady <https://www.ladys.computer/about/#lady>
 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/>.
@@ -18,8 +18,9 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one
 	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()}">
@@ -31,6 +32,23 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one
 					<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="."/>