2009-11-11 63 views
11

मैं <fo:table> के बाएं कॉलम में एक बड़े फ़ॉन्ट के साथ एक टेक्स्ट प्रदर्शित करना चाहता हूं। दाईं ओर वाले स्तंभों में छोटे टेक्स्ट के साथ कुछ पंक्तियां होनी चाहिए।क्या एक्सएसएल-एफओ में 'रोशन' के बराबर उपयोग करने का कोई तरीका है?

यह कैसे XSL कोड बड़ा टेक्स्ट वाले वाम-पंथी स्तंभ जोड़ने से पहले की तरह लग रहा है:

<xsl:template name="printAddress"> 
    <xsl:param name="subDocument" /> 
    <fo:table table-layout="fixed" background-color="#e0e0e0" keep-with-next.within-page="always"> 
    <fo:table-column column-width="7.0cm" /> 
    <fo:table-column column-width="7.0cm" /> 
    <fo:table-column column-width="2.0cm" /> 
    <fo:table-body> 
     <!-- Begin Row 1 --> 
     <fo:table-row keep-with-previous="always"> 
     <fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm"> 
      <fo:block>Value 1</fo:block> 
     </fo:table-cell> 
     <fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm"> 
      <fo:block>Value 2</fo:block> 
     </fo:table-cell> 
     <fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm"> 
      <fo:block /> 
     </fo:table-cell> 
     </fo:table-row> 
     <!-- Begin Row 2 --> 
     <fo:table-row keep-with-previous="always"> 
     <fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm"> 
      <fo:block> 
      <xsl:value-of select="$subDocument/someAttribute" /> 
      </fo:block> 
     </fo:table-cell> 
     <fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm"> 
      <fo:block> 
      <xsl:value-of select="$subDocument/someOtherAttribute" /> 
      </fo:block> 
     </fo:table-cell> 
     <fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm"> 
      <fo:block /> 
     </fo:table-cell> 
     </fo:table-row> 
     <!-- Begin Row 3 --> 
     <fo:table-row keep-with-previous="always"> 
     <fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm"> 
      <fo:block>value 3</fo:block> 
     </fo:table-cell> 
     <fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm"> 
      <fo:block>Value 4</fo:block> 
     </fo:table-cell> 
     <fo:table-cell margin-left="0.2cm" padding-before="0.1cm" padding-after="0.1cm"> 
      <fo:block>Value 5</fo:block> 
     </fo:table-cell> 
     </fo:table-row> 
    </fo:table-body> 
    </fo:table> 
</xsl:template> 

मैं छोड़ दिया करने के लिए एक स्तंभ जोड़ने के लिए चाहते हैं, लेकिन मैं इसके लिए वाक्य रचना नहीं मिल रहा। HTML में ऊपर कुछ इस तरह लिखा जाएगा:

<tr> 
    <td>Value 1</td> 
    <td>Value 2</td> 
    <td></td> 
</tr> 
<tr> 
    <td>{someAttribute}</td> 
    <td>{someOtherAttribute}</td> 
    <td></td> 
</tr> 
<tr> 
    <td>Value 3</td> 
    <td>Value 4</td> 
    <td>Value 5</td> 
</tr> 

और पूरा करने के लिए जो मैं चाहता है कि हम केवल इस तरह इसे संशोधित करने की आवश्यकता होगी:

<tr> 
    <td rowspan="3" style="font-weight:bold;font-size:14pt">New Text</td> 
    <td>Value 1</td> 
    <td>Value 2</td> 
    <td></td> 
</tr> 
<tr> 
    <td>{someAttribute}</td> 
    <td>{someOtherAttribute}</td> 
    <td></td> 
</tr> 
<tr> 
    <td>Value 3</td> 
    <td>Value 4</td> 
    <td>Value 5</td> 
</tr> 

लेकिन यह कैसे है कि सबसे अच्छा के लिए के साथ किया जा जाएगा XSL-FO?

+0

क्या शीर्षक एक्सएसएलटी के बजाय एक्सएसएल: एफओ का उल्लेख नहीं करना चाहिए? – ndim

+0

जैसा कि आपने महसूस किया होगा कि मैं एक्सएसएल के लिए एक नौसिखिया हूं और मैं देख सकता हूं कि आप सही हैं। सवाल एक्सएसएल के बारे में है: एफओ और एक्सएसएलटी नहीं। धन्यवाद! – Niklas

उत्तर

30

<fo:table-cell number-rows-spanned="3">

तुम सिर्फ प्यार नहीं करते कैसे शब्दों वाले XSL है?

0

संख्या-पंक्ति-स्पैन या संख्या-कॉलम-स्पैन का उपयोग करें। लेकिन एक दृश्य डिजाइनर का उपयोग क्यों नहीं करते? मैं Ecrion XF Designer का उपयोग कर रहा हूं और यह एक बहुत अच्छा काम कर रहा है।

+1

* संख्या-कॉलम-स्पैन –

+0

इक्रियन के लिए कोई भी निःशुल्क विकल्प? –

3

चयनित जवाब ऊपर सही है, तो आप "संख्या-पंक्तियों-फैला =" तालिका सेल की परिभाषा के लिए खंड जोड़ें।

हालांकि, एचटीएमएल के विपरीत, आप नीचे की पंक्तियों में प्लेसहोल्डर कोशिकाओं में नहीं जाते हैं। यदि आप ऐसा करते हैं, तो एफओ पंक्ति में परिभाषित बहुत से कोशिकाओं के बारे में शिकायत करेगा।

संबंधित मुद्दे

 संबंधित मुद्दे