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>