Re: [xsl] attempt at dynamic sizing a table

Subject: Re: [xsl] attempt at dynamic sizing a table
From: "Noel Golding" <noel@xxxxxxxxxxxxxxx>
Date: Thu, 24 Oct 2002 09:26:46 -0400
is it possible to set a column-width to pt?  That would be ok.  If I had 12
characters at 12pt that would make the column-width 144pt.  Is that
feasible?

Thanks!!

----- Original Message -----
From: "Bryan Schnabel" <bryan.schnabel@xxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Wednesday, October 23, 2002 7:23 PM
Subject: Re: [xsl] attempt at dynamic sizing a table


> An approach would be to isolate, sort, then put the
> top value in the attribute, like this:
>
> <xsl:template match="table">
>  <tabl>
>    <xsl:for-each select="row/cell[1]">
>     <xsl:sort data-type="number" order="descending"
> select="string-length()"/>
>      <xsl:if test="position()=1">
>       <table-column column-width="{string-length()}"
> />
>      </xsl:if>
>    </xsl:for-each>
>    <xsl:for-each select="row/cell[2]">
>     <xsl:sort data-type="number" order="descending"
> select="string-length()"/>
>      <xsl:if test="position()=1">
>       <table-column column-width="{string-length()}"
> />
>      </xsl:if>
>    </xsl:for-each>
>    <xsl:for-each select="row/cell[3]">
>     <xsl:sort data-type="number" order="descending"
> select="string-length()"/>
>      <xsl:if test="position()=1">
>       <table-column column-width="{string-length()}"
> />
>      </xsl:if>
>    </xsl:for-each>
>  </tabl>
> </xsl:template>
>
> I don't think I understand the second part of your
> question.  But to convert string-length to cm or in
> would involve determining the 'character to cm ratio',
> or the 'character to in ratio' (which I cannot
> imagine) and plug it in.
>
> Bryan
>
> --- Noel Golding <noel@xxxxxxxxxxxxxxx> wrote:
> > If given the XML below how could you determine the
> > max-string-length for
> > each column and then how would you convert that to
> > cm or in?  I hope I am
> > clear enough
> >
> > --XML--
> > <table>
> >  <row>
> >   <cell>
> >    A.
> >   </cell>
> >   <cell>
> >    B.
> >   </cell>
> >   <cell>
> >    C.
> >   </cell>
> >  </row>
> >  <row>
> >   <cell>
> >    There is some text here
> >   </cell>
> >   <cell>
> >    More text
> >   </cell>
> >   <cell/>
> >  </row>
> >  <row>
> >   <cell>
> >    A little text
> >   </cell>
> >   <cell>
> >    This cell contains more text than the one before
> >   </cell>
> >   <cell>
> >    Something goes here!!
> >   </cell>
> >  </row>
> > </table>
> >
> > --Desired Output--
> > <table>
> >  <table-column column-width="5cm" /> <!-- Second
> > widest -->
> >  <table-column column-width="8cm" /> <!-- Widest -->
> >  <table-column column-width="4cm" /> <!-- Smallest
> > -->
> >     ...
> >
> >
> >  XSL-List info and archive:
> > http://www.mulberrytech.com/xsl/xsl-list
> >
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread