recursal/MDN huggingface dataset:
copy
====

**XSLT/XPath 참고 문서**: XSLT 요소, XPath 함수, XPath 축

`<xsl:copy>` 요소는 출력 문서에 현재 노드의 노드와 어떤 관련 이름공간 노드만을 얕게 복사(shallow copy) 전달합니다. 속성이나 자식은 복사하지 않습니다.

### 문법
```

<xsl:copy use-attribute-sets=LIST-OF-NAMES>
  TEMPLATE
</xsl:copy>
```

### 필수 속성

없음.

### 선택 속성

`use-attribute-sets`

요소이면, 출력 노드에 적용해도 좋을 속성 집합을 나열합니다. 집합의 이름은 공백 문자로 구분해야 합니다.

### 타입

명령, 템플릿 안에 나타남.

### 정의

XSLT section 7.5, Copying

### Gecko 지원

지원함.
stylesheet
==========

**XSLT/XPath 참고 문서**: XSLT 요소, XPath 함수, XPath 축

`<xsl:stylesheet>`(나 동등한 `<xsl:transform>`) 요소는 스타일시트의 최외곽 요소입니다.

### 이름공간 선언

pseudo 속성은 XSLT 스타일시트로 문서를 식별하기 위해 필요합니다. 대체로 이는 `xmlns:xsl="http://www.w3.org/1999/XSL/Transform"`입니다.

### 문법
```

<xsl:stylesheet
  version=NUMBER
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  id=NAME
  extension-element-prefixes=LIST-OF-NAMES
  exclude-result-prefixes=LIST-OF-NAMES>
    ENTIRE STYLESHEET
</xsl:stylesheet>
```

### 필수 속성

`version`

이 스타일시트에 필요한 XSLT의 버전을 지정합니다.

### 선택 속성

`id` (7.0 현재 오직 inline DTD가 명시하여 호출하는 경우만 지원함.)

이 스타일시트에 `id`를 지정합니다. 이는 스타일시트를 다른 XML 문서에 포함할 때 가장 자주 씁니다.

extension-element-prefixes (지원 안 함.)

이 문서의 확장 요소에 빈칸으로 구분한 이름공간 접두사를 지정합니다.

exclude-result-prefixes

이 문서에 쓸 출력 문서에 보내지 않았으면 하는 이름공간을 지정합니다. 목록은 공백으로 구분합니다.

### 타입

필수 최외곽 스타일시트 요소.

### 정의

XSLT section 2.2, Stylesheet Element

### Gecko 지원

조금 지원. 위 해설을 보세요.
output
======

**XSLT/XPath 참고 문서**: XSLT 요소, XPath 함수, XPath 축

`<xsl:output>` 요소는 출력 문서의 특성을 조절합니다. method 속성이 있는 이 요소가 Netscape에서 정확하게 기능하도록 쓸 수 있어야 합니다. 7.0 현재, `method="text"`는 기대한 대로 동작합니다.

### 문법
```

<xsl:output
  method="xml" | "html" | "text"
  version=STRING
  encoding=STRING
  omit-xml-declaration="yes" | "no"
  standalone="yes" | "no"
  doctype-public=STRING
  doctype-system=STRING
  cdata-section-elements=LIST-OF-NAMES
  indent="yes" | "no"
  media-type=STRING  />
```

### 필수 속성

없음.

### 선택 속성

`method`

출력 형식을 지정합니다.

`version`

출력 문서에 XML이나 HTML 선언의 version 속성값을 지정합니다. 이 속성은 `method="html"`나 `method="xml"`일 때만 씁니다.

`encoding`

출력 문서에 `encoding` 속성값을 지정합니다.

`omit-xml-declaration`

출력에 XML 선언을 포함할 지를 나타냅니다. 가능한 값은 "`yes`"나 "`no`"입니다.

`standalone` (지원 안 함.)

있으면, standalone 선언이 출력 문서에 나타나면 좋을 지를 나타내고 그 값을 줍니다. 가능한 값은 "yes"나 "no"입니다.

`doctype-public`

출력 문서에 `DOCTYPE` 선언의 `PUBLIC` 속성값을 지정합니다.

`doctype-system`

출력 문서에 `DOCTYPE` 선언의 `SYSTEM` 속성값을 지정합니다.

`cdata-section-elements`

`CDATA` 절에 써도 좋을 요소의 텍스트 컨텐트를 나열합니다. 요소는 공백으로 구분해야 합니다.

`indent` (지원 안 함.)

출력에 계층 구조를 나타내도록 하면 좋을 지를 지정합니다.

`media-type` (지원 안 함.)

출력 문서의 MIME 타입을 지정합니다.

### 타입

최상위, `<xsl:stylesheet>`나 `<xsl:transform>`의 자식이어야 함.

### 정의

XSLT section 16, Output

### Gecko 지원

부분 지원. 위 해설을 보세요.
key
===

**XSLT/XPath 참고 문서**: XSLT 요소, XPath 함수, XPath 축

`<xsl:key>` 요소는 `key( )` 함수가 있는 스타일시트 어디서나 쓸 수 있는 이름 붙은 키를 선언합니다.

### 문법
```

<xsl:key name=NAME match=EXPRESSION
  use=EXPRESSION />
```

### 필수 속성

`name`

이 키에 이름을 지정합니다. QName이어야 합니다.

`match`

이 키를 적용할 수 있는 노드를 정의합니다.

`use`

적용가능한 각 노드에 키값을 결정하는데 쓸 수 있는 XPath 식을 지정합니다.

### 선택 속성

없음.

### 타입

최상위, `<xsl:stylesheet>`나 `<xsl:transform>`의 자식이어야 함.

### 정의

XSLT section 12.2, Keys

### Gecko 지원

지원함.
sort
====

**XSLT/XPath 참고 문서**: XSLT 요소, XPath 함수, XPath 축

`<xsl:sort>` 요소는 `<xsl:apply-templates>`나 `<xsl:for-each>`가 선택한 노드에 정렬키를 정의하고 노드를 처리할 순서를 결정합니다.

### 문법
```

<xsl:sort
  select=EXPRESSION
  order="ascending" | "descending"
  case-order="upper-first"| "lower-first"
  lang=XML:LANG-CODE
  data-type="html" | "xml" | "text" />
```

### 필수 속성

없음.

### 선택 속성

`select`

정렬할 노드를 지정하는 XPath 식을 씁니다.

`order`

"`ascending`"나 "`descending`"으로 처리하면 좋을 노드를 지정합니다. 기본값은 "`ascending`"입니다.

`case-order`

처음에 오는 게 대문자인지 소문자인지를 나타냅니다. 가능한 값은 "`upper-first`"와 "`lower-first`"입니다.

`lang`

어떤 언어를 정렬에 쓸지를 지정합니다.

`data-type`

어떤 항목을 알파벳순이나 숫자순으로 순서 매길지를 정의합니다. 가능한 값은 "`text`"와 기본값인 "`text`"가 있는 "`number`"입니다.

### 타입

하위명령, 항상 `<xsl:for-each>`의 자식으로 나타나고 고유(proper) 템플릿이나 `<xsl:apply-templates>` 앞에 나타나야 함.

### 정의

XSLT section 10, Sorting

### Gecko 지원

지원함.
when
====

**XSLT/XPath 참고 문서**: XSLT 요소, XPath 함수, XPath 축

`<xsl:when>` 요소는 항상 case 문처럼 동작하는 `<xsl:choose>` 요소 안에 나타납니다.

### 문법
```

<xsl:when test=EXPRESSION>
  TEMPLATE
</xsl:when>
```

### 필수 속성

`test`

평가할 boolean 식을 지정합니다. 참이면, 요소의 컨텐트는 처리하고 거짓이면, 무시합니다.

### 선택 속성

없음.

### 타입

하위명령, 항상 `<xsl:choose>` 요소 안에 나타남.

### 정의

XSLT section 9.2, Conditional Processing with xsl:choose

### Gecko 지원

지원함.
value-of
========

**XSLT/XPath 참고 문서**: XSLT 요소, XPath 함수, XPath 축

`<xsl:value-of>` 요소는 XPath 식을 평가하여 그것을 문자열로 바꾸고 문자열을 결과 트리에 씁니다.

### 구문
```

<xsl:value-of select=EXPRESSION disable-output-escaping="yes" | "no"  />
```

### 필수 속성

`select`

평가하고 출력 트리에 쓸 XPath 식을 지정합니다.

### 선택 속성

`disable-output-escaping` (Netscape은 변환 결과를 "output" 아래에 직렬하지 않습니다. 그래서 이 속성은 본래 문맥에서는 무의미합니다. HTML 엔티티를 출력하기 위해서는, 대신 숫자값을 쓰세요. 보기 &`nbsp` 대신 `&#160`)

특수 문자를 출력에 쓸 때 해석할(escape) 지를 지정합니다. 가능한 값은 "`yes`"나 "`no`"입니다. 예를 들어, "`yes`"로 하면, 문자의 출력은 "`&gt`"가 아니라 `>`입니다.

### 타입

명령, 템플릿 안에 나타남.

### 정의

XSLT section 7.6.1, Generating Text with xsl:value-of

### Gecko 지원

위 경우를 빼고는 지원함.
preserve-space
==============

**XSLT/XPath 참고 문서**: XSLT 요소, XPath 함수, XPath 축

`<xsl:preserve-space>` 요소는 공백을 보존하면 좋을 소스 문서의 요소를 정의합니다. 하나 이상의 요소가 있으면, 공백 문자로 이름을 구분하세요. 공백 보존하기가 기본 설정이므로 이 요소는 오직 `<xsl:strip-space>` 요소와 거꾸로 동작하기 위해 쓸 필요가 있습니다.

### 문법
```

<xsl:preserve-space elements=LIST-OF-ELEMENT-NAMES  />
```

### 필수 속성

`elements`

공백을 보존하면 좋을 요소를 지정합니다.

### 선택 속성

없음.

### 타입

최상위, `<xsl:stylesheet>`나 `<xsl:transform>`의 자식이어야 함.

### 정의

XSLT section 3.4, Whitespace Stripping

### Gecko 지원

지원함.
element
=======

**XSLT/XPath 참고 문서**: XSLT 요소, XPath 함수, XPath 축

`<xsl:element>` 요소는 출력 문서에 요소를 만듭니다.

### 문법
```

<xsl:element name=NAME namespace=URI use-attribute-sets=LIST-OF-NAMES >
  TEMPLATE
</xsl:template>
```

### 필수 속성

`name`

출력 요소에 바라는 이름을 지정합니다. 이름은 유효한 QName이어야 합니다.

### 선택 속성

`namespace`

출력 요소에 이름공간을 지정합니다.

`use-attribute-sets`

출력 요소에 쓸 이름 붙인 속성 집합을 나열합니다. 이름은 공백 문자로 구분해야 합니다.

### 타입

명령, 템플릿 안에 나타남.

### 정의

XSLT section 7.1.2, Creating Elements with xsl:element

### Gecko 지원

지원함.
with-param
==========

**XSLT/XPath 참고 문서**: XSLT 요소, XPath 함수, XPath 축

`<xsl:with-param>` 요소는 템플릿에 건네는 매개변수 값을 지정합니다.

### 문법
```

<xsl:with-param name=NAME select=EXPRESSION>
  TEMPLATE
</xsl:with-param>
```

### 필수 속성

`name`

이 매개변수에 이름을 줍니다.

### 선택 속성

`select`

XPath 식을 거치는 매개변수 값을 정의합니다. 요소가 템플릿을 포함하면, 이 속성은 무시합니다.

### 타입

하위명령, 항상 `<xsl:apply-templates>`이나 `<xsl:call-template>` 요소 안에 나타남.

### 정의

XSLT section 11.6, Passing Parameters to Templates

### Gecko 지원

지원함.
copy-of
=======

**XSLT/XPath 참고 문서**: XSLT 요소, XPath 함수, XPath 축

`<xsl:copy-of>` 요소는 select 속성이 출력 문서에 무엇을 지정하든지 (자손 노드를 포함하여) 깊게 복사(deep copy)합니다.

### 문법
```

<xsl:copy-of select=EXPRESSION />
```

### 필수 속성

`select`

복사할 대상을 지정하는 XPath 식을 씁니다.

### 선택 속성

없음.

### 타입

명령, 템플릿 안에 나타남.

### 정의

XSLT section 11.3, Using Values of Variables and Parameters with xsl:copy-of

### Gecko 지원

지원함.
choose
======

**XSLT/XPath 참고 문서**: XSLT 요소, XPath 함수, XPath 축

`<xsl:choose>` 요소는 많은 선택 가운데 하나를 정의합니다. 그리고 절차형 언어(procedural language)의 스위치 문처럼 동작합니다.

### 문법
```

<xsl:choose>
  <xsl:when>
  <xsl:otherwise> [optional]
</<xsl:choose>
```

### 필수 속성

없음.

### 선택 속성

없음.

### 타입

명령, 템플릿과 함께 나타남. 하나 이상의 `<xsl:when>` 요소를 포함하고 선택에 따라 마지막에 `<xsl:otherwise>` 요소를 포함합니다.

### 정의

XSLT section 9.2, Conditional Processing with xsl:choose

### Gecko 지원

지원함.
param
=====

**XSLT/XPath 참고 문서**: XSLT 요소, XPath 함수, XPath 축

`<xsl:param>` 요소는 이름과 선택에 따라 기본값으로 매개변수를 설정합니다. 최상위 요소로 쓸 때, 매개변수는 전역입니다. `<xsl:template>` 요소 안에서 쓰면, 매개변수는 그 템플릿에 대해 지역입니다. 이 경우에 요소는 템플릿의 첫 자식 요소여야 합니다.

### 문법
```

<xsl:param name=NAME select=EXPRESSION>
  TEMPLATE
</xsl:param>
```

### 필수 속성

`name`

파라미터에 이름을 붙입니다. 이름은 QName이어야 합니다.

### 선택 속성

`select`

none으로 지정하면 기본값을 제공하는 XPath 식을 씁니다.

### 타입

명령, 최상위 요소나 템플릿 안에 나타날 수 있음.

### 정의

XSLT section 11, Variables and Parameters

### Gecko 지원

지원함.
The Netscape XSLT/XPath Reference
=================================

다음은 W3C의 XSLT 1.0 권고안뿐만 아니라 XPath 권고안의 알맞은 절로부터 알파벳순으로 주석을 단 요소, 축, 함수 목록입니다. XSLT 처리기 개발이 진행중이고 이 문서는 기능을 확장하는 대로 갱신할 것입니다.

### Elements

* xsl:apply-imports *(supported)*
* xsl:apply-templates *(supported)*
* xsl:attribute *(supported)*
* xsl:attribute-set *(supported)*
* xsl:call-template *(supported)*
* xsl:choose *(supported)*
* xsl:comment *(supported)*
* xsl:copy *(supported)*
* xsl:copy-of *(supported)*
* xsl:decimal-format *(supported)*
* xsl:element *(supported)*
* xsl:fallback *(not supported)*
* xsl:for-each *(supported)*
* xsl:if *(supported)*
* xsl:import *(mostly supported)*
* xsl:include *(supported)*
* xsl:key *(supported)*
* xsl:message *(supported)*
* xsl:namespace-alias *(not supported)*
* xsl:number *(partially supported)*
* xsl:otherwise *(supported)*
* xsl:output *(partially supported)*
* xsl:param *(supported)*
* xsl:preserve-space *(supported)*
* xsl:processing-instruction
* xsl:sort *(supported)*
* xsl:strip-space *(supported)*
* xsl:stylesheet *(partially supported)*
* xsl:template *(supported)*
* xsl:text *(partially supported)*
* xsl:transform *(supported)*
* xsl:value-of *(partially supported)*
* xsl:variable *(supported)*
* xsl:when *(supported)*
* xsl:with-param *(supported)*
### Axes

* ancestor
* ancestor-or-self
* attribute
* child
* descendant
* descendant-or-self
* following
* following-sibling
* namespace *(not supported)*
* parent
* preceding
* preceding-sibling
* self
### Functions

* boolean() *(supported)*
* ceiling() *(supported)*
* concat() *(supported)*
* contains() *(supported)*
* count() *(supported)*
* current() (en-US) *(supported)*
* document() *(supported)*
* element-available() *(supported)*
* false() *(supported)*
* floor() *(supported)*
* format-number() *(supported)*
* function-available() *(supported)*
* generate-id() *(supported)*
* id() *(partially supported)*
* key() *(supported)*
* lang() *(supported)*
* last() *(supported)*
* local-name() *(supported)*
* name() *(supported)*
* namespace-uri() *(supported)*
* normalize-space() *(supported)*
* not() *(supported)*
* number() *(supported)*
* position() *(supported)*
* round() *(supported)*
* starts-with() *(supported)*
* string() *(supported)*
* string-length() *(supported)*
* substring() *(supported)*
* substring-after() *(supported)*
* substring-before() *(supported)*
* sum() *(supported)*
* system-property() *(supported)*
* translate() *(supported)*
* true() *(supported)*
* unparsed-entity-url() *(not supported)*