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="."/>