다음을 통해 공유


<xsl:call-template>의 예제

다음 예제에서는 <xsl:call-template> 요소를 사용하여 모듈식으로 XSLT를 변환합니다. 이 예제에서는 다음 세 가지 기본 파일을 사용합니다.

  • XML 소스 파일 topic.xml. 이 파일은 서적 출판의 항목을 나타냅니다.

  • 기본 XSLT 파일 topic.xsl. 이 파일은 표시할 정보를 제어합니다.

  • 호출된 XSLT 파일 ui.xsl. 이 파일은 정보를 렌더링하는 방법을 결정합니다.

XML 파일(topic.xml)

기본 XSLT 파일(topic.xsl)

구성 요소 XSLT 파일(ui.xsl)

출력

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

My Topic

First Paragraph
The first para has both name and title.

Second Paragraph
the second para has a title but no name.

Third para has neither name nor title.

다음은 프로세서 출력입니다.

<H2 CONTENTEDITABLE="true">My Topic</H2>
<P>
   <DIV STYLE="font-size:16;
               font-family:Arial;
               font-weight:bold;
               font-style:italic"
        CONTENTEDITABLE="true">First Paragraph<DIV>
   <SPAN CONTENTEDITABLE="true">
     The first para has both name and title.
   </SPAN>
</P>
<P>
   <DIV STYLE="font-size:16;
               font-family:Arial;
               font-weight:bold;
               font-style:italic"
        CONTENTEDITABLE="true">Second Paragraph<DIV>
   <SPAN CONTENTEDITABLE="true">
     The second para has a title but no name.
   </SPAN>
</P>
<P>
   <SPAN CONTENTEDITABLE="true">
     The third para has neither name nor title.
   </SPAN>
</P>

설명

기본 XSLT 파일인 topic.xsl은 표시할 정보를 제어합니다. 이 파일은 <meta> 요소의 내용을 숨기고 표시된 항목의 순서를 조정합니다. 또한 구성 요소 XSLT 파일 ui.xsl에 정의된 템플릿 규칙을 호출합니다.

ui.xsl 파일에는 첫 번째 XSLT 파일에서 호출할 수 있는 명명된 템플릿 규칙만 포함되어 있습니다. 명명된 각 템플릿 규칙은 두 입력 매개 변수 $value$editable을 사용하고 HTML 출력을 생성하는 등 일반 함수처럼 작동합니다. $value 매개 변수는 표시할 텍스트를 전달하며, $editable은 Internet Explorer를 사용할 경우 출력 텍스트를 편집할 수 있는지 여부를 결정하는 데 사용됩니다. 그러나 일반 함수와 달리 명명된 템플릿 규칙에서 입력 매개 변수의 순서는 호출하는 템플릿 규칙에 지정된 순서와 일치하지 않아도 됩니다.

템플릿 규칙은 소스 XML 문서에 정의된 노드에 독립적입니다. 따라서 ui.xsl 파일은 다른 모든 XSLT 파일에서 호출할 수 있는 일반 용도의 UI 라이브러리를 쓸 수 있는 방법을 보여 주는 예제입니다.

참고 항목

참조

<xsl:template> 요소
<xsl:with-param> 요소