attribute-set
통사론
attribute-set attribute-set-name {;
attribute attribute-name1 { attribute-value1; }
attribute attribute-name2 { attribute-value2; }
use-attribute-sets attribute-set-name2;
...
}
묘사
반복적으로 사용할 수 있는 특성 컬렉션을 정의합니다. 문은 attribute-set 스크립트에서 최상위 문으로 정의되어야 합니다. 속성 집합 이름은 문자열 인수입니다. 특성 집합 내용은 컬렉션에 포함할 특성을 정의합니다. 내용에는 속성을 이름과 값 쌍으로 정의하는 개별 attribute 명령문이 포함될 수 있으며, 이전에 정의된 특성 세트의 속성을 현재 세트에 추가하는 명령문이 포함될 use-attribute-sets 수 있습니다.
특성 집합의 특성을 특정 요소에 적용하려면 해당 요소 아래에 문을 포함 use-attribute-sets 하고 특성 집합 이름을 참조합니다.
특성
attribute-set-name |
특성 집합의 이름으로, 문자열이어야 합니다. 특성 집합을 요소에 추가하려면 문에서 이 이름을 참조합니다 |
attribute-name |
집합에 추가할 개별 특성의 이름입니다. |
attribute-value |
중괄호로 둘러싸인 문 블록으로, 속성 값을 정의합니다. |
SLAX 예시
다음 예제에서는 두 개의 속성 집합table-attributes(및 )을 table-attributes-ext만듭니다. 집합은 table-attributes-ext 명령문을 사용하여 use-attributes-sets 집합에 table-attributes 이미 정의된 모든 속성을 포함합니다. 기본 스크립트 본문 table-attributes-ext 에서 특성 집합이 요소에 적용됩니다<table>. 요소에는 <table> , , cellpadding, cellspacing및 border의 네 가지 속성이 order포함됩니다.
version 1.1;
var $cellpadding = "0";
var $cellspacing = "10";
attribute-set table-attributes {
attribute "order" { expr "0"; }
attribute "cellpadding" { expr $cellpadding; }
attribute "cellspacing" { expr $cellspacing; }
}
attribute-set table-attributes-ext {
use-attribute-sets table-attributes;
attribute "border" { expr "0"; }
}
match / {
...
<table> {
use-attribute-sets table-attributes-ext;
}
}
XSLT 상당
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:variable name="cellpadding" select="0"/>
<xsl:variable name="cellspacing" select="10"/>
<xsl:attribute-set name="table-attributes">
<xsl:attribute name="order">
<xsl:text>0</xsl:text>
</xsl:attribute>
<xsl:attribute name="cellpadding">
<xsl:value-of select="$cellpadding"/>
</xsl:attribute>
<xsl:attribute name="cellspacing">
<xsl:value-of select="$cellspacing"/>
</xsl:attribute>
</xsl:attribute-set>
<xsl:attribute-set name="table-attributes-ext"
use-attribute-sets="table-attributes">
<xsl:attribute name="border">
<xsl:text>0</xsl:text>
</xsl:attribute>
</xsl:attribute-set>
<xsl:template match="/">
<table use-attribute-sets="table-attributes-ext"/>
</xsl:template>
</xsl:stylesheet>
릴리스 정보
Junos OS 릴리스 12.2 이상에서 지원되는 SLAX 언어 버전 1.1에서 소개된 명령문입니다.