I have another question.
I have the same xml :
<document>
        <pThis is a test</p>
        <table>
                <tr>
                        <td>First TD</td>
                        <td>Second TD</td>
                </tr>
        </table>
        <figure>
                <title>FIGURE 1</title>
                <g>GRAPHIC 1</g>
        </figure>
        <p>Paragraph n° 1 after figure 1</p>
        <p>Paragraph n° 2 after figure 1</p>
        <p>Other Text after figure 3
               
                        <figure>
                                <title>FIGURE 2</title>
                                <g>GRAPHIC 2</g>
                        </figure>
                        <p>Paragraph n° 1 after figure 2</p>
               
                <p>Paragraph n° 2 after figure 2</p>
        </p>
        <p>Paragraph n° 3 <u>underline tag</u>after figure 2</p>
        <f>Other TAG</f>
        <p>
                <figure>
                        <title>FIGURE 3</title>
                        <g>GRAPHIC 3</g>
                </figure>Text after figure 3
                <p>Paragraph into onother Paragraph </p>
        </p>
        <p>Last paragraph</p>
</document>


With the help of J.Pietschmann I succeed to create figure in A3 page and
other tag in A4 page....but now I have the following problem:

I have a repetition of each paragraph ...and this is no correct. Have you
any ideas how can i resolve this problem?
The pdf output it would have to be :
- page A3 only the figure
- page A4  the other tag
- for each tag [i.e. <p><u><f> etc.etc] I wanted to use a specific template

My code is this
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:fo="http://www.w3.org/1999/XSL/Format";
xmlns:xlink="http://www.w3.org/1999/xlink";>
        <xsl:template match="document">
                <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format";>
                        <fo:layout-master-set>
                                <fo:simple-page-master
master-name="pages-A4" page-height="11.69in" page-width="8.27in"
margin-top="25pt" margin-bottom="20pt" margin-left="0.456in"
margin-right="1.30in">
                                        <fo:region-body
region-name="region_body" margin-top="2.3cm" margin-bottom="4.4cm"/>
                                </fo:simple-page-master>
                                <fo:simple-page-master
master-name="pages-A3" page-height="11.69in" page-width="16.54in"
margin-top="2cm" margin-bottom="2cm" margin-left="2cm" margin-right="2cm">
                                        <fo:region-body
region-name="region_body" margin-top="2.3cm" margin-bottom="4.4cm"/>
                                </fo:simple-page-master>
                        </fo:layout-master-set>
                       
                        <!-- content before the first figure element, or
perhaps the only content -->
                        <fo:page-sequence master-reference="pages-A4">
                                <fo:flow flow-name="region_body">
                                        <fo:block
text-align="center">BLABLABLABLA</fo:block>
                                        <fo:block font-family="Helvetica"
font-size="10pt" text-align="justify">
                                                <xsl:apply-templates
select="node()[not(preceding-sibling::figure)]"/>
                                        </fo:block>
                                </fo:flow>
                        </fo:page-sequence>


                      <xsl:for-each select="//figure">
                        <fo:page-sequence master-reference="pages-A3">
                           <fo:flow flow-name="region_body">
                              <fo:block
text-align="center">FIGURE</fo:block>
                                     <fo:block font-family="Helvetica"
font-size="10pt" text-align="justify">
                                          <xsl:apply-templates select="."/>
                              </fo:block>
                           </fo:flow>
                        </fo:page-sequence>
                       
                        <xsl:variable name="current-figure-node"
select="following::figure[1]"/>
                        <fo:page-sequence master-reference="pages-A4">
                           <fo:flow flow-name="region_body">
                              <fo:block font-family="Helvetica"
font-size="10pt"  text-align="justify">
                                   <xsl:apply-templates
select="following::node()[generate-id(following::figure[1])=generate-id($current-figure-node)]"/>
                            </fo:block>
                           </fo:flow>
                       </fo:page-sequence>
                    </xsl:for-each>
               </fo:root>
        </xsl:template>



****Template format*****
<xsl:template match="p">
    <fo:block font-family="Helvetica" font-size="10pt" 
text-align="justify">
         <xsl:apply-templates select="node()"/>
    </fo:block>
</xsl:template>

<xsl:template match="u">
    <fo:inline font-family="Helvetica" text-decoration="underline"  >
        <xsl:apply-templates select="node()"/>
    </fo:inline>
</xsl:template>

<xsl:template match="f">
   <fo:block font-family="Helvetica" font-size="10pt"  text-align="justify"
color="red">
         <xsl:apply-templates select="node()"/>
   </fo:block>
</xsl:template>



with best regards,
Fabio 












fabio76 wrote:
> 
> Hi
> Thanks for your reply.
> I have correct only  
> <xsl:variable name="current-figure-node"  select="."/> 
> with 
> <xsl:variable name="current-figure-node" 
> select="preceding-sibling::figure[1]"/> 
> Is correct?
> Regards
> Fabio
> 
> 
> J.Pietschmann wrote:
>> 
>> fabio76 wrote:
>>> I have the following file xml :
>>> 
>>> <document>
>>>     <pThis is a test</p>
>>>     <table>
>>>             <tr>
>>>                     <td>First TD</td>
>>>                     <td>Second TD</td>
>>>             </tr>
>>>     </table>
>>>     <figure>
>>>             <title>Figure Title</title>
>>>     </figure>
>>>     <p>Continue paragraf etc.etc.</p>
>>> </document>
>>> 
>>> Is possible to change the layout of the page when is applied the
>>> template
>>> <xsl:template match="figure"> ?
>>> I would like to have the page in A3 only for the template 'figure', for
>>> the
>>> other template in A4 format
>> 
>> You can start a new page sequence with an A3 page master. The
>> unfortunate embedding of the 'figure' element will, however, lead
>> to some not quite trivial XSLT code in order to generate the
>> page sequences for the not-figure content. Note that this also
>> means that 'figure' content gets its own page(s). XSL FO does
>> not have the possibility to do page master change for pages
>> containing some specific content embedded as usual in the flow.
>> 
>> Try something along the following if you use an XSLT 1.0 processor
>> (the solution in case of a 2.0 processor might be much simpler):
>> <xsl:template match="document>
>>    <fo:root>
>>      <fo:layout-master-set>
>>         <fo:simple-page-master master-name="A4" ...
>>             ...
>>         </fo:simple-page-master>
>>         <fo:simple-page-master master-name="A3-landscape" ...
>>             ...
>>         </fo:simple-page-master>
>>      <fo:layout-master-set>
>>      <fo:root>
>>        <!-- content before the first figure element, or perhaps
>>          the only content -->
>>        <fo:page-sequence master-reference="A4">
>>          ... define static content ...
>>          <fo:flow>
>>            <xsl:apply-templates select="node()[
>>              not(preceding-sibling::figure)]"/>
>>          </fo:flow>
>>        </fo:page-sequence>
>>        <!-- now on for the figure elemets and groups of non-figure
>>         content after  each figure element -->
>>        <xsl:for-each select="figure">
>>          <!-- the figure element itself -->
>>          <fo:page-sequence master-reference="A3-landscape">
>>            ... define static content ...
>>            <fo:flow>
>>              <xsl:apply-templates select="."/>
>>            </fo:flow>
>>          </fo:page-sequence>
>>          <xsl:variable name="current-figure-node"
>>            select="."/>
>>          <!-- the content after the figure element -->
>>          <fo:page-sequence master-reference="A4">
>>            ... define static content ...
>>            <fo:flow>
>>              <xsl:apply-templates select="node()[
>>                generate-id(preceding-sibling::figure[1])=
>>                generate-id($current-figure-node)]"/>
>>            </fo:flow>
>>          </fo:page-sequence>
>>        </xsl:for-each>
>>     </fo:root>
>> </xsl:template>
>> 
>> The code above is untested, non-optimal and may contain syntax errors.
>> For more help, consult the XSLT FAQ and/or the XSL mailing list:
>>    http://www.mulberrytech.com/xsl/xsl-list/
>> 
>> J.Pietschmann
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Problem-change-layout-page-size-tf2912574.html#a8216377
Sent from the FOP - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to