Re: [xsl] attempt at dynamic sizing a table

Subject: Re: [xsl] attempt at dynamic sizing a table
From: Bryan Schnabel <bryan.schnabel@xxxxxxxxxxxxx>
Date: Wed, 23 Oct 2002 16:23:11 -0700 (PDT)
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


Current Thread