2011-12-21 4 views
2

DocBook에 대한 일부 스타일 시트 작성.Docbook XSL : imagedata 요소의 기본 크기/축척을 설정 하시겠습니까?

편집 : 네, 제가 기존의 DocBook 스타일 시트를 재 작성하지의의 DocBook-XSL 스타일 시트를 기반으로 사용자 정의를 쓰고 의미 : 아래의 코멘트 당.

XSL 스타일 시트를 통해 imagedata 요소의 기본 크기/배율을 설정할 수 있습니까? 특히 인쇄 출력이 가능합니까?

은 기본적으로 내가 일을 설정할까지 그런 내가 scalefit, width 및/또는 imagedata 요소에 contentdepth 특성을 포함하는 경우, 그 속성이 사용됩니다; 그러나 포함되지 않은 경우 기본값은 scalefit="1" width="100%" contentdepth="100%"입니다.

나는 직설적이지만, 나는 XSLT 초보자이며, 인터넷 검색은 어디에도 없다. 이것이 가능한가? 방법?

감사합니다.

+0

"DocBook을위한 일부 스타일 시트 작성하기"라는 말은 실제로 [DocBook-XSL 스타일 시트] (https://sourceforge.net/projects/docbook/)를 기반으로 사용자 정의를 작성하고 있다는 것을 의미합니까? – mzjn

답변

3

은 기본적으로 내가 일을 설정할까지 같은 것을 내가 scalefit을 포함하는 경우 width 및/또는 imagedata 요소 contentdepth 속성, 그 속성이 사용됩니다; 그러나 포함되지 않으면 의 기본값은 scalefit="1" width="100%" contentdepth="100%"입니다.

이 변환 :

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output omit-xml-declaration="yes" indent="yes"/> 
<xsl:strip-space elements="*"/> 

<xsl:template match="node()|@*"> 
    <xsl:copy> 
     <xsl:apply-templates select="node()|@*"/> 
    </xsl:copy> 
</xsl:template> 

<xsl:template match="imagedata[not(@scalefit|@width|@contentdepth)]"> 
    <imagedata scalefit="1" width="100%" contentdepth="100%"> 
    <xsl:copy-of select="@*"/> 

    <xsl:apply-templates/> 
    </imagedata> 
</xsl:template> 
</xsl:stylesheet> 

다음과 같은 XML 문서에 적용했을 때 :

:

<t> 
<imagedata scalefit="1" width="80%" contentdepth="90%"/> 
<imagedata/> 
</t> 

가 원하는, 올바른 결과을 생산 81,234,875,145,

설명 다음 scalefit, widthcontentdepth 속성이 전혀없는 어떤 imagedata신원 규칙 재정.

+0

빠른 답변 주셔서 감사합니다 ... 그러나 내 스타일 시트에 해당 템플릿을 추가 할 때 다음과 같은 오류가 발생합니다 : net.sf.saxon.trans.XPathException : org.apache.fop.fo.ValidationException : "fo : 루트 "에 하위 요소가 없습니다. 필요한 콘텐츠 모델 : (레이아웃 마스터 세트, 선언 ?, 북마크 트리 ?, (페이지 시퀀스 | 폭스 : 외부 문서) +) ... 그게 무슨 뜻인지 아시겠습니까? – DanM

+0

@DanM : 나는 XSL-FO에 대해 아무것도 모른다.이 답변에서 저는 모든 XML 문서와 함께 작동하는 솔루션을 제공했습니다. * XML 문서를 * XML 문서에 적용해야합니다.이 XML 문서는 XSL-FO가 무엇이든간에 인스턴스가 될 것입니다. 이는 사용자가 만족해야한다는 것을 의미합니다. XSL-FO 프로그램에서 XSL-FO의 모든 구문 론적 및 의미 론적 요구 사항 - 이러한 질문은 전혀 관련이 없습니다.이 속성은 기본 속성을이 속성이없는 요소에 추가하는 방법입니다. 그것은 완전히 대답되었습니다. –

+0

알기. 감사! – DanM