Share via


<xsl:fallback> 요소

<xsl:fallback> 요소는 파서에서 처리할 수 없는 XSLT 요소를 처리하도록 디자인되었습니다. 예를 들어, 새 버전이나 인식할 수 없는 확장의 일부인 요소를 처리합니다. <xsl:fallback> 요소는 새 요소 동작을 적절하게 대체할 수 있는 템플릿 내용을 호출함으로써 작동됩니다.

<xsl:fallback>
</xsl:fallback>

특성

없음

요소 정보

발생 횟수

제한 없음

부모 요소

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, outputelements

자식 요소

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, 출력 요소

설명

XSLT 문서를 처음 로드할 때 XSLT 프리파서는 모든 XSLT 요소에 대해 유효성 검사를 수행합니다. <xsl:stylesheet> 요소에 전달된 버전이 파서에서 지원하는 버전보다 높을 경우 파서는 발생한 익숙하지 않은 요소의 <xsl:fallback> 자식을 실행합니다. <xsl:fallback> 요소에 내용이 없을 경우 파서는 아무 작업도 수행하지 않습니다. 요소가 지원되는 경우 해당 <xsl:fallback> 자식의 템플릿이 인스턴스화되지 않습니다. 스타일시트에 지정된 버전이 브라우저에서 지원하는 버전과 같을 경우 오류가 호출됩니다.

대체는 XSLT에서 업그레이드를 처리하는 데 사용하는 전송 처리 메커니즘의 일부입니다. 전송 처리는 요소가 지원되지 않을 경우 명령을 처리하는 다른 방법을 만들어 사용되는 코드가 상대적으로 강력하며 파서 적합성의 차이에 영향을 받지 않도록 합니다.

버전 차이를 처리하는 것 외에도 대체 메커니즘을 사용하여 네임스페이스 확장에 의해 정의된 요소를 처리할 수 있습니다. 일반적으로 기본 사양에 기능을 추가하는 것이 매우 어렵기 때문에 개발자는 네임스페이스 확장을 사용하여 XSLT 사양에 지정된 기능 이외의 기능을 정의할 수 있습니다. 네임스페이스가 지원되지 않는 경우 즉, 네임스페이스에 대한 정의가 제공되지 않은 경우 또는 네임스페이스 함수 또는 요소가 정의되지 않은 경우 대체 메커니즘을 사용하여 대체 기능을 제공할 수 있습니다.

XSLT 작업 내에서 확장이 해석되도록 하려면 해석할 접두사의 이름이 포함되도록 <xsl:stylesheet> 요소에서 extension-element-prefixes 특성을 설정해야 합니다. 또한 이 접두사의 네임스페이스를 선언합니다.

다음 항목에서는 <xsl:fallback>의 예제를 제공합니다.