Freigeben über


<xsl:attribute-set>-Element

Definiert eine benannte Gruppe von Attributen.

<xsl:attribute-set
  name = QName
  use-attribute-sets = QNames
</xsl:attribute-set>

Attribute

  • name
    Erforderlich. Der Qualifizierte Namen der Attributgruppe. Der Wert des name-Attributs ist ein qualifizierter Name.
  • use-attribute-sets
    Eine durch Leerraum getrennte Liste von Attributgruppen, die als Qualifizierte Namen angegeben sind. Durch Angeben dieses Attributs wird jedes Attribut in jeder aufgelisteten Attributgruppe deklariert.

Elementinformationen

Anzahl der Vorkommen

Unbegrenzt

Übergeordnete Elemente

xsl:stylesheet, xsl:transform

Untergeordnete Elemente

xsl:attribute

Hinweise

Der Inhalt des <xsl:attribute-set>-Elements besteht aus 0 (null) oder mehreren <xsl:attribute>-Elementen, die die Attribute in der Gruppe angeben. Geben Sie ein use-attribute-sets-Attribut für die Elemente <xsl:element>, <xsl:copy> oder <xsl:attribute-set> an, um Attributgruppen zu verwenden.

Ein Fehler tritt auf, wenn die Verwendung von use-attribute-sets-Attributen für <xsl:attribute-set>-Elemente dazu führt, dass eine Attributgruppe sich selbst direkt oder indirekt verwendet.

Das Angeben von use-attribute-sets-Attributen kann eine effiziente Möglichkeit zum Deklarieren mehrerer Attribute für ein Element darstellen. Wenn Sie dasselbe Ergebnis mithilfe von <xsl:attribute> erhalten wollen, müssen Sie ein <xsl:attribute> -Element für jedes Attribut in jeder benannten Attributgruppe verwenden. Diese <xsl:attribute>-Elemente müssen dann als Inhalt des Elements <xsl:element>, <xsl:copy> oder <xsl:attribute-set> hinzugefügt werden.

Attributgruppen können auch verwendet werden, indem ein xsl:use-attribute-sets-Attribut für ein Literalergebniselement angegeben wird. Für ein Literalergebniselement werden Attribute in folgender Reihenfolge hinzugefügt:

  1. In einem xsl:use-attribute-sets-Attribut benannte Attribute einer Attributgruppe, entsprechend der im Attribut aufgeführten Reihenfolge.

  2. Für das Literalergebniselement angegebene Attribute.

  3. Alle von <xsl:attribute>-Elementen angegebenen Attribute werden hinzugefügt.

Da durch das Hinzufügen eines Attributs zu einem Element alle vorhandenen Attribute des Elements mit demselben Namen ersetzt werden, können in der Attributgruppe angegebene Attribute durch Attribute überschrieben werden, die für das Literalergebniselement selbst angegeben sind.

Die Vorlage in jedem <xsl:attribute>-Element in einem <xsl:attribute-set>-Element wird bei jeder Verwendung der Attributgruppe instanziiert.Sie wird mithilfe desselben aktuellen Knotens und der aktuellen Knotenliste instanziiert, die zum Instanziieren des Elements verwendet wird, das das use-attribute-sets-Attribut oder xsl:use-attribute-sets-Attribut trägt. Welche Variablenbindungen sichtbar sind, wird durch die Position des <xsl:attribute>-Elements im Stylesheet – und nicht die Position des Elements, das das use-attribute-sets -Attribut oder xsl:use-attribute-sets-Attribut trägt – bestimmt. Daher sind nur von Variablen und Parametern deklarierte <xsl:variable>-Elemente und <xsl:param>-Elemente auf oberster Ebene sichtbar.

Mehrfache Definitionen einer Attributgruppe mit demselben erweiterten Namen werden zusammengeführt. Ein Attribut einer Definition mit hoher Importpriorität hat Vorrang gegenüber einem Attribut einer Definition mit geringer Importpriorität.

Ein Fehler tritt auf, wenn zwei Attributgruppen mit demselben erweiterten Namen und derselben Importpriorität vorhanden sind und beide dasselbe Attribut enthalten, außer wenn eine Definition der Attributgruppe mit hoher Importpriorität vorhanden ist, in der auch das Attribut enthalten ist.

Im folgenden Thema ist ein Beispiel für das <xsl:attribute-set>-Element enthalten.