나는이 문제에이 질문에 대한 정확한, 간단한 대답을 찾는 했어 SO 또는 다른 곳에서 :XSL 처리 주문
XSL 파일에서, 당신은 어떻게하는 템플릿 둘째, 먼저 처리됩니다 말할 수, 등? XPath가 얼마나 구체적인지에 따라 정렬되었다고 읽었습니다. 또한 XSL 1.0과 2.0의 차이점은 무엇입니까?
마지막으로, 여기에 내가 멍청한 결함있는 XSL 파일이 있습니다. 현재 출력물은 "목차"제목 일뿐입니다. 여기에도 XML을 첨부 할 것입니다.
<xsl:template match="/">
<h1>
<xsl:text>Table of Contents</xsl:text>
</h1>
</xsl:template>
<xsl:template match="heading1">
<h2>
<xsl:value-of select="."/>
</h2>
</xsl:template>
<p>
<xsl:text>This document contains </xsl:text>
<xsl:value-of select="count(/article/body/heading1)"/>
<xsl:text> chapters. </xsl:text>
</p>
와 XML :
<article>
<title>
Creating output
</title>
<body>
<heading1>Generating text</heading1>
<heading1>Numbering things</heading1>
<heading1>Formatting numbers</heading1>
<heading1>Copying nodes from the input document to the output</heading1>
<heading1>Handling whitespace</heading1>
</body>
이에 관해서는 어떤 설명이 왜 내용이
표시되지 않는 모든? 도와 줘서 고마워!
매우 흥미 롭습니다! XSLT의 본질을 잊어 버렸습니다. 그 xsl : apply-templates를 어느 시점에서 사용해야합니까? 분명히 나는 한 번 깊이 당 한 곳에서 그 모든 것을 뒤덮어주지 않습니까? (더 큰 문서가 주어짐) – BlackVegetable
사실, 그렇습니다. 이 재귀 호출 기술은 XSLT 프로세서가 데이터를 템플릿에 "푸시"하게 해주기 때문에 "푸시"처리로 알려져 있습니다. 그것은 프로세서가 작동하는 자연스러운 방식이므로, 잘 디자인 된 스타일 시트는'apply-templates'로 "뒤죽박죽"될 것입니다. 다른 방법은'for-each'와'call-template'을 중첩시킨 "pull"스타일을 사용하는 것입니다.하지만 pull-style 처리의 힘을 이해할 때 매우 부자연 스럽습니다. –
대답의이 비트는 "XSLT 프로세서가 다음 입력 요소로 이동합니다"라는 잘못된 답변입니다. 아니오 : 그렇지 않습니다. xsl : apply-templates를 사용하여 요청한 곳으로 만 이동합니다. –