<xsl:element> 元素
创建指定名称的输出元素。
<xsl:element
name = "element-name"
namespace = "uri-reference"
use-attribute-sets = QName
</xsl:element>
特性
- name
必选。 要创建的元素的名称。 如果此值为限定名,元素节点将在当前绑定到前缀上的命名空间中创建,除非namespace
属性重写此值。name
属性的值解释为一个属性值模板 — 即计算大括号中的表达式并转换为字符串,与 <xsl:value-of> 中相同。 这样,可以从源 XML 计算或获取元素名称。
- 命名空间
所创建元素的命名空间 URI。 如果name
属性包含 QName,指定的前缀将绑定到namespace
属性所指定的命名空间上。 在序列化时,这样可能需要更多的命名空间声明。namespace
值解释为属性值模板。
- use-attribute-sets
通过空白分隔的属性集列表,按照限定名 的指定。 指定此属性将在每个列出的属性集中声明每个属性。
元素信息
出现次数 |
无限制 |
父元素 |
xsl:copy、xsl:element、xsl:fallback、xsl:for-each、xsl:if、xsl:message、xsl:otherwise、xsl:param、xsl:template、xsl:variable、xsl:when、xsl:with-param、输出元素 |
子元素 |
xsl:apply-templates、xsl:attribute、xsl:call-template、xsl:choose、xsl:comment、xsl:copy、xsl:copy-of、xsl:element、xsl:for-each、xsl:if、xsl:processing-instruction、xsl:text、xsl:value-of、xsl:variable、输出元素 |
备注
<xsl:element>
元素使元素可以使用计算的名称创建。 要创建的元素的名称由必选的 name
属性和可选的 namespace
属性指定。 <xsl:element>
元素的内容是所创建元素的属性和子级的模板。
此元素为在命名空间冲突的情况下创建元素提供转义机制,例如 XSLT 本身。
示例
<xsl:element>
元素是必要的,因为 XSLT 元素不能用作输出元素。 该示例说明如何输出 <xsl:template>
元素。
XML 文件 (item.xml)
XSLT 文件 (element.xsl)
输出
以下是格式化输出:
My Item
以下是处理器输出,为了清楚起见,增加了分行符。
<?xml version="1.0"?>
<xsl:template match="cost"
xml:space="preserve"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
My Item</xsl:template>