내 템플릿 내에서 다른 xsl 파일의 xsl 템플릿에 액세스하려고합니다. 2 개의 템플릿은 다른 XSL 파일에 있으며 문서 기능이 필요한 이유입니다. 템플릿은 다른 XML 파일에도 적용됩니다.XSLT v1.0 - document() 외부 템플릿 호출
내 문제는 첫 번째 템플릿 내부에서 두 번째 템플릿을 호출하는 방법입니다. 내 코드 샘플 :
<xsl:template match="Library">
<fo:table table-layout="fixed" width="160mm">
<fo:table-column column-width="80mm"/>
<fo:table-column column-width="80mm"/>
<fo:table-body>
<fo:table-row>
<xsl:for-each select="document(Library/@File)/Document/Books">
<xsl:apply-templates select="."/>
</xsl:for-each>
</fo:table-row>
<fo:table-body>
</fo:table>
</xsl:template>
나는 템플릿 책에 액세스하려고 :
나는 템플릿 라이브러리 내부입니다 문서 함수 내에서 첫 번째 인수가 보이지 않는다
<xsl:template match="Books">
<fo:table-cell>
<fo:block font-family="arial" font-size="8pt" text-align="left">
<xsl:value-of select="substring(@IBAN,4)"/>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font-family="arial" font-size="8pt" text-align="left">
<xsl:value-of select="@date"/>
</fo:block>
</fo:table-cell>
</xsl:template>
올바르게 설정하십시오. 어떻게 재 작성해야합니까? 비슷한 문제가있는 포럼에서 어떤 문제도 찾을 수 없었습니다. 도움을 주시면 감사하겠습니다.
안녕하세요. 당신의 대답은 xsl : include와 xsl : document 감사의 차이점을 깨닫게했습니다. 내가 원했던 것은 XSLT 템플릿을 실제로 참조하고 있던 템플릿이 아닌 다른 XML 문서에 적용하는 것이 었습니다. 그것은 XSLT 파일 내부의 경로에 변수를 사용할 수없는 것,하지만 당신이 원하는 템플릿에 도달하는 XPATH를 사용할 수있는 것 같습니다. – jeevana