XML을 다양한 형태의 XSL : FO로 변환하기위한 특성 세트를 많이 사용하는 제 3 자 XSLT와 협력하고 있습니다. 예 :해당 attr 집합을 재정의 할 때 XSLT 특성 집합에서 모든 특성을 제거하는 방법이 있습니까?
notes.xsl : 나는 맞는 볼
<xsl:template match="note">
<fo:block xsl:use-attribute-sets="noteAttrs">
<!-- This is a pretty big template with lots of xsl:choose/xsl:if/etc. -->
</fo:block>
<xsl:template>
<xsl:attribute-set name="noteAttrs">
<xsl:attribute name="margin-left">10px</xsl:attribute>
<xsl:attribute name="margin-right">8px</xsl:attribute>
<xsl:attribute name="margin-top">5px</xsl:attribute>
<xsl:attribute name="font-size">10pt</xsl:attribute>
<!-- several other attributes -->
</xsl:attribute>
아이디어는 내가이 XSLT를 가져올 것입니다, 속성을 재정의하는 설정합니다. 나 : 난 그냥 .fo 주어진 문서에 대해 다른 글꼴 크기를 ... 필요하면
<xsl:import href="notes.xsl"/>
<xsl:attribute-set name="noteAttrs">
<xsl:attribute name="font-size">12pt</xsl:attribute>
</xsl:attribute>
문제는 가끔 (블록 즉, 내가 fo를 포함 상속) 평면 밖으로 제거 특성에 필요하다 주어진 fo 문서는 매우 다르기 때문에 notes.xsl에서 내 속성 세트를 병합하는 대신 새롭게 시작하는 것이 더 쉬울 것입니다. XSLT 2.0에서 전체 템플리트를 복제하여 fo : block에 다른 속성 세트를 지정하지 않고도 그렇게 할 수 있습니까?
<xsl:import href="notes.xsl"/>
<xsl:attribute-set name="noteAttrs" merge_with_imported_attr_set="false">
<xsl:attribute name="font-size">12pt</xsl:attribute>
</xsl:attribute>
내가 3.0 프로세서 즉시 XSLT로 전환 할 수 있지만 수 있습니다 3.0의 새로운 무언가가 있다면, 내가 그러고 싶어 : 나는 이런 식으로 뭔가를 할 수 있기를 찾고 있어요 생각 그것에 대해 알아.
감사합니다.
정보 주셔서 감사합니다! – user2292068