Share via


<xsl:element> 요소

지정한 이름으로 출력 요소를 만듭니다.

<xsl:element
  name = "element-name"  
  namespace = "uri-reference"
  use-attribute-sets = QName
</xsl:element>

특성

  • name
    필수 요소. 만들려는 요소의 이름입니다. 이 값이 정규화된 이름(XSLT)인 경우 namespace 특성으로 재정의하지 않으면 접두사에 현재 바인딩되어 있는 네임스페이스에 요소 노드가 생성됩니다. name 특성 값은 특성 값 템플릿으로 해석됩니다. 즉, <xsl:value-of>에서와 같이 중괄호 안의 식은 계산된 후 문자열로 변환됩니다. 그러므로 소스 XML에서 요소 이름을 계산하거나 얻을 수 있습니다.

  • namespace
    만든 요소의 네임스페이스 URI입니다. name 특성에 QName이 포함된 경우 여기에 지정된 접두사는 namespace 특성에 지정된 네임스페이스에 바인딩됩니다. 이 작업을 수행하려면 직렬화할 때 추가 네임스페이스 선언이 필요할 수 있습니다. namespace 값은 특성 값 템플릿으로 해석됩니다.

  • use-attribute-sets
    정규화된 이름(XSLT)으로 지정된 특성 집합 목록으로, 공백으로 구분되어 있습니다. 이 특성을 지정하면 나열된 각 특성 집합에서 각 특성이 선언됩니다.

요소 정보

발생 횟수

제한 없음

부모 요소

xsl:copy, xsl:element, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:otherwise, xsl:param, xsl:template, xsl:variable, xsl:when, xsl:with-param, 출력 요소

자식 요소

xsl:apply-templates, xsl:attribute, xsl:call-template, xsl:choose, xsl:comment, xsl:copy, xsl:copy-of, xsl:element, xsl:for-each, xsl:if, xsl:processing-instruction, xsl:text, xsl:value-of, xsl:variable, 출력 요소

설명

<xsl:element> 요소를 사용하면 계산된 이름으로 요소를 만들 수 있습니다. 만들 요소 이름은 필수 name 특성과 선택적 namespace 특성으로 지정됩니다. <xsl:element> 요소의 내용은 만든 요소의 특성 및 자식에 대한 템플릿입니다.

이 요소는 XSLT와 같이 네임스페이스 충돌이 있는 요소를 만들기 위한 이스케이프 메커니즘을 제공합니다.

예제

XSLT 요소가 출력 요소로 사용될 수 없으므로 <xsl:element> 요소가 필요합니다. 이 예제에서는 <xsl:template> 요소를 출력하는 방법을 보여 줍니다.

XML 파일(item.xml)

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="element.xsl" ?>
<root>
   <item>My Item</item>
</root>

XSLT 파일(element.xsl)

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >

<xsl:template match="item">
   <xsl:element name="xsl:template">
      <xsl:attribute name="match">cost</xsl:attribute>
      <xsl:attribute name="xml:space">preserve</xsl:attribute>
      <xsl:apply-templates/>
   </xsl:element>
</xsl:template>

</xsl:stylesheet>

출력

다음은 형식이 지정된 출력입니다.

My Item

다음은 쉽게 구별할 수 있도록 줄 바꿈을 추가한 프로세서 출력입니다.

<?xml version="1.0"?>
<xsl:template match="cost" 
      xml:space="preserve" 
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
My Item</xsl:template>