XSLT <xsl:variable> 요소
정의와 사용법
<xsl:variable> 요소는 지역적이거나 전역적인 변수를 선언하는 데 사용됩니다.
주석:최상위 요소로 선언되면, 이 변수는 전역적이며, 템플릿 내에서 선언되면 지역적입니다.
주석:변수의 값을 설정하면, 이 값을 변경하거나 수정할 수 없습니다!
푸시:변수에 값을 추가할 수 있습니다. <xsl:variable> 요소의 내용을 통해 또는 select 속성을 통해 값을 추가할 수 있습니다!
문법
<xsl:variable name="이름" select="표현식"> <!-- Content:template --> </xsl:variable>
속성
속성 | 값 | 설명 |
---|---|---|
name | name | 必需. 변수의 이름을 지정합니다. |
select | 표현식 | 선택 사항. 변수의 값을 정의합니다. |
예제
예제 1
만약 select 속성이 설정되면, <xsl:variable> 요소는 어떠한 내용도 포함할 수 없습니다. select 속성이 문자열을 포함한다면, 문자열을 따로 쌍따옴표로 감싸야 합니다.
아래 두 예제는 변수 "color"에 "red" 값을 할당합니다:
<xsl:variable name="color" select="'red'" />
<xsl:variable name="color" select='"red"' />
예제 2
만약 <xsl:variable> 요소가 name 속성만 포함하고 내용이 없다면, 변수의 값은 공백 문자열입니다:
<xsl:variable name="j" />
예제 3
아래 예제는 <xsl:variable> 요소의 내용을 통해 변수 "header"에 값을 할당합니다:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:variable name="header"> <tr> <th>요소</th> <th>설명</th> </tr> </xsl:variable> <xsl:template match="/"> <html> <body> <table> <xsl:copy-of select="$header" /> <xsl:for-each select="reference/record"> <tr> <xsl:if category="XML"> <td><xsl:value-of select="element"/></td> <td><xsl:value-of select="description"/></td> </xsl:if> </tr> </xsl:for-each> </table> <br /> <table> <xsl:copy-of select="$header" /> <xsl:for-each select="table/record"> <tr> <xsl:if category="XSL"> <td><xsl:value-of select="element"/></td> <td><xsl:value-of select="description"/></td> </xsl:if> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>