xsl-list
[Top] [All Lists]

FW: Re: Pagebreaks in Excel-HTML transformer

2006-02-02 13:41:54
Never take the mailing list out of the loop.
-- 
Charles Knell
cknell(_at_)onebox(_dot_)com - email



-----Original Message-----
From:     Oleg Konovalov <olegkon(_at_)gmail(_dot_)com>
Sent:     Thu, 2 Feb 2006 15:38:45 -0500
To:       "cknell(_at_)onebox(_dot_)com" <cknell(_at_)onebox(_dot_)com>
Cc:       jonathan(_dot_)gorman(_at_)gmail(_dot_)com
Subject:  Re: Re: [xsl] Pagebreaks in Excel-HTML transformer

Charles,

I missed something in my posting:
As I mentioned, <table> and  elements disappear in that transformer
despite having <x:PageBreaks>
Should be:
As I mentioned, <table> and
<page-break></page-break> elements disappear in that transformer
despite having <x:PageBreaks>  [see around line 1095 - it's in a proper place]
And there is XSL transformer (line 316):
<xsl:template match="page-break"/>

So (by analogy) you are saying that if I expand that template like:
<xsl:template match="page-break">
   <!--
     page-break-after: always;
   -->                                                            <--
not sure that is correct syntax
</xsl:template>
that should put back all page breaks ?

And I won't need <table> element then ?
And <x:PageBreaks> either ?

TIA,
Oleg.
P.S.:  Mailing list rejected my post with attached files  :-(

On 2/2/06, cknell(_at_)onebox(_dot_)com <cknell(_at_)onebox(_dot_)com> wrote:
As I mentioned, <table> and  elements disappear in that transformer
despite having <x:PageBreaks>

The production of <table> elements in your output has no connection with the 
production of <x:PageBreaks> elements. They are produced before the 
<xsl:apply-templates> is applied in the template that matches "/".

The reason that no <table> elements are produced is that your template 
matching <table> does not output a <table> element.

Here is your template that matches "table".

        <xsl:template match="table">
                <xsl:apply-templates/>
        </xsl:template>

Now compare this to your template that matches "row":

        <xsl:template match="row">
                <tr>
                        <xsl:apply-templates/>
                </tr>
        </xsl:template>

Notice that the latter emits a "tr" element while the former does not emit a 
"table" element.

Change the first template to:

        <xsl:template match="table">
           <table>
                <xsl:apply-templates/>
           </table>
        </xsl:template>

and you will get table elements in your output.
--
Charles Knell
cknell(_at_)onebox(_dot_)com - email





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--