共用方式為


<xsl:element> 項目

使用指定名稱建立輸出項目。

<xsl:element
  name = "element-name"  
  namespace = "uri-reference"
  use-attribute-sets = QName
</xsl:element>

屬性

  • name
    必要項。要建立的項目名稱。如果這個值是 限定名稱,則除非它會由 namespace 屬性覆寫,否則會在目前繫結至前置詞的命名空間中建立項目節點。XML 會將 name 屬性的值會解譯為屬性值範本,換言之,它會評估大括弧中的運算式並轉換成字串,如 <xsl:value-of> 中所示。這個動作可從來源 XML 中計算或取得項目名稱。

  • namespace
    已建立的項目之命名空間 URI。若 name 屬性含有 QName,則在其中指定的前置詞將繫結至 namespace 屬性中指定的命名空間。在序列化期間,這個動作可能需要額外的命名空間宣告。namespace 值會解譯為屬性值範本。

  • use-attribute-sets
    以泛空白字元分隔的屬性集清單,指定為 限定名稱 清單。指定這個屬性可宣告每個列示屬性集中的每個屬性。

項目資訊

發生次數

無限制

父項目

xsl:copy、xsl:element、xsl:fallbackxsl:for-eachxsl:ifxsl:messagexsl:otherwisexsl:paramxsl:templatexsl:variablexsl:whenxsl:with-param、輸出項目

項目子系

xsl:apply-templatesxsl:attributexsl:call-templatexsl:choosexsl:commentxsl:copyxsl:copy-of、xsl:element、xsl:for-eachxsl:ifxsl:processing-instructionxsl:textxsl:value-ofxsl:variable、輸出項目

備註

<xsl:element> 項目允許以運算結果所得的名稱來建立項目。要建立的項目名稱會透過必要的 name 屬性和選用的 namespace 屬性來指定。<xsl:element> 項目的內容是已建立的項目之屬性和子系的範本。

這個項目提供了逸出機制,以便在建立項目發生命名空間衝突時 (例如 XSLT 本身) 逸出。

範例

<xsl:element> 項目是必要的,因為 XSLT 項目無法做為輸出項目。這個範例會顯示如何輸出 <xsl:template> 項目。

XML 檔 (item.xml)

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="element.xsl" ?>
<root>
   <item>My Item</item>
</root>

XSLT 檔 (element.xsl)

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >

<xsl:template match="item">
   <xsl:element name="xsl:template">
      <xsl:attribute name="match">cost</xsl:attribute>
      <xsl:attribute name="xml:space">preserve</xsl:attribute>
      <xsl:apply-templates/>
   </xsl:element>
</xsl:template>

</xsl:stylesheet>

輸出

此為格式化輸出:

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>