xsl-list
[Top] [All Lists]

Re: attempt at dynamic sizing a table

2002-10-24 06:26:46
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(_dot_)schnabel(_at_)bschnabel(_dot_)com>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
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(_at_)spearreport(_dot_)com> 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