여러 XML 파일에서 하나의 책 (XSL FO 사용)을 구성하는 작업이 완료되었습니다. 이 책 (단순 번호, 아니 장에서 재설정 또는 무엇이든)은, 내 순진 접근 방식은 내가 사용 사용 할 파일을 선택하는 집계 XML 파일이이XSLT 번호는 다중 파일 문서의 현재 파일에있는 인스턴스 만 계산합니다.
<xsl:template match="figure">
<fo:block xsl:use-attribute-sets="figure">
.. stuff to deal with images ..
<fo:block xsl:use-attribute-sets="figure-caption">
Figure <xsl:number level="any"/>: <xsl:apply-templates/>
</fo:block>
<fo:block xsl:use-attribute-sets="figure-caption">
</xsl:template>
을 할 수 그래서 같은 document()
기능 :
<xsl:template match="include">
<xsl:apply-templates select="document(@src)"/>
</xsl:template>
자, 내 문제는 number
가 alw 인 것 같습니다. ays는 현재 파일의 인스턴스 만 계산합니다 (현재는 파일 당 하나 또는 두 개의 이미지 만 있으므로 그림이 모두 '그림 1'또는 '그림 2'임).
두 가지 접근 방식을 고려했습니다. 둘 다 본질적으로 2 단계 XSLT입니다. 첫째, 직접적인 접근 방식은 ID 변환을 사용하여 전체 책을 포함하는 중개 XML을 생성합니다.이 XML은 다른 이유 때문에 내키지 않습니다.
둘째, I이
<xsl:template match="include">
<xsl:apply-templates select="ext:node-set(document(@src))"/>
</xsl:template>
같은 시도했지만이 같은 결과를 생성 node-set()
확장을 사용.
아이디어가 있으십니까? 아마도 two-pass 변환이 아닌 것일까요? 어떤 도움이라도 대단히 감사하겠습니다.
좋은 질문, +1. 두 가지 접근 방식에 대한 토론은이 답변에 대한 명확한 권장 사항과 설명을 참조하십시오. –
+1. 그것은 흥미로운 질문입니다. – Flack
+1 사실, 좋은 질문입니다. –