<xsl:otherwise>
및 <xsl:when>
요소와 결합한 여러 조건을 테스트합니다.
<xsl:choose>
</xsl:choose>
요소 정보
발생 횟수 |
제한 없음 |
부모 요소 |
xsl:attribute, xsl:comment, xsl:copy, xsl:element, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:otherwise, xsl:param, xsl:processing-instruction, xsl:template, xsl:variable, xsl:when, xsl:with-param, 출력 요소 |
자식 요소 |
주의
이 요소 중 하나에 대한 test
특성이 소스 데이터의 조건을 정확하게 설명할 때까지 또는 <xsl:otherwise>
요소에 도달할 때까지 위에서 아래의 순서로 <xsl:choose>
요소의 <xsl:when>
자식을 테스트합니다. <xsl:when>
또는 <xsl:otherwise>
요소를 선택하면 <xsl:choose>
블록이 종료됩니다. break 문이나 exit 문을 명시적으로 지정하지 않아도 됩니다.
단순 조건부 테스트에는 <xsl:if>
요소를 사용합니다.
예제
다음 예제에서는 <order>
요소에 대한 템플릿을 보여주고 각 <order>
내용 앞에 크기 표시기를 삽입합니다. 이 크기 표시기는 각 <order>
요소 내의 <total>
요소 값을 기반으로 합니다. 총 크기가 10보다 작으면 "(small)
" 텍스트가 추가됩니다. 총 크기가 20보다 작으면 "(medium)
" 텍스트가 추가됩니다. 총 크기가 20 이상이면 "(large)
" 텍스트가 추가됩니다.
XML 파일(order.xml)
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="refchoose.xsl" ?>
<orders>
<order>
<lineitem/>
<lineitem/>
<total>9</total>
</order>
<order>
<lineitem/>
<lineitem/>
<total>19</total>
</order>
<order>
<lineitem/>
<lineitem/>
<total>29</total>
</order>
</orders>
XSLT 파일(refchoose.xsl)
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="order">
<xsl:choose>
<xsl:when test="total < 10">
(small)
</xsl:when>
<xsl:when test="total < 20">
(medium)
</xsl:when>
<xsl:otherwise>
(large)
</xsl:otherwise>
</xsl:choose>
<xsl:apply-templates />
<BR/>
</xsl:template>
</xsl:stylesheet>
출력
(small) 9
(medium) 19
(large) 29