<xsl:attribute-set> 元素
定義具名的屬性集。
<xsl:attribute-set
name = QName
use-attribute-sets = QNames
</xsl:attribute-set>
屬性
name
必要項。 屬性集的 限定名稱 (XSLT)。 name 屬性的值是限定名稱。use-attribute-sets
以空白字元分隔的屬性集清單,指定為 限定名稱 (XSLT)。 指定這個屬性可宣告每個列示屬性集中的每個屬性。
項目資訊
發生次數 |
無限制 |
父項目 |
|
項目子系 |
備註
<xsl:attribute-set> 元素的內容包含零或多個 <xsl:attribute> 元素,可指定集合內的屬性。 若要使用屬性集,請在 <xsl:element>、<xsl:copy> 或 <xsl:attribute-set> 項目上指定 use-attribute-sets 屬性。
若使用 <xsl:attribute-set> 項目上的 use-attribute-sets 屬性而使某個屬性設為直接或間接使用其本身,就會產生錯誤。
指定 use-attribute-sets 屬性,可讓您有效率地宣告某個項目的多個屬性。 若要使用 <xsl:attribute> 完成相同的結果,您必須針對每個具名屬性集內的每個屬性使用 <xsl:attribute> 項目。 您會將這些 <xsl:attribute> 項目加入為 <xsl:element>、<xsl:copy> 或 <xsl:attribute-set> 項目的內容。
您也可以指定常值結果項目的 xsl:use-attribute-sets 屬性來使用屬性集。 對於常值結果項目,屬性會以下列順序加入:
在 xsl:use-attribute-sets 屬性中命名之屬性集的屬性,使用該屬性所列示的順序。
在常值結果項目上指定的屬性。
由 <xsl:attribute> 項目所指定的任何屬性都將會加入。
由於將屬性加入項目中會使該項目中具有相同名稱的現有屬性被取代,因此在屬性集內指定的屬性,也可被在常值結果項目本身所指定的屬性覆寫。
<xsl:attribute-set> 項目中每個 <xsl:attribute> 項目內的範本都會在每次使用屬性集時具現化。 它用來進行具現化的目前節點與目前節點清單,與含有 use-attribute-sets 或 xsl:use-attribute-sets 屬性的項目進行具現化時所使用的相同。 然而,哪些是可顯示的變數繫結,是由樣式表中 <xsl:attribute> 項目的位置所決定,而不是由含有 use-attribute-sets 或 xsl:use-attribute-sets 屬性之項目的位置所決定。 因此,只有由最上層 <xsl:variable> 與 <xsl:param> 項目所宣告的變數與參數,才會顯示出來。
具有相同展開名稱的多個屬性集定義會進行合併。 一個屬性若來自於匯入優先順序較高的定義,其優先順序就會高於其他屬性。
若有兩個屬性集具有相同的展開名稱與相等的匯入優先順序,且兩者都含有相同的屬性,則會產生錯誤;除非有一個具有更高匯入優先順序的屬性集定義也含有這個屬性。
下列主題提供 <xsl:attribute-set> 項目的範例。