Re: [xsl] to draw a table in xsl

Subject: Re: [xsl] to draw a table in xsl
From: Vasu Chakkera <vasucv@xxxxxxxxx>
Date: Thu, 17 Sep 2009 15:12:09 +0100
> Mostly, the requested output was:
> Table
> 100
> 102
> but your stylesheet gives
> Table: 100 , 102 ,
> which seems wrong.

:-)

I think we are more concentrating on the Logic to get what we want and
not the fact that there were commas and linefeeds etc..
The loop was important. Thaz what I posted.. I suppose that quite
understood here in this group .

>Also, your output is in an incomplete, invalid, and unrenderable html file
> while the request was just for output.
>

:-) :-) again/.

I did not specify if it was a HTML or a Text or  XML.. I am not sure
how u assumed it was HTML..  I am not sure if there was any HTML
element in my stylesheet. Again.. The Intention of posting a reply is
to lead the original poster towards a solution..


> All that was specified was output, with linefeeds, and xsl:message seems
> like the simplest way to do just that.

I am not sure if you understood what you said or what I said.. If the
person who asked the question actually used the <xsl:message> as u
suggested, I am afraid, unless he was running his transformer in the
command prompt or some form of std out, he will never be able to see
the results... and using the xsl:message here is misusing it and will
be no use if you the developer wanted to use the values.. Thaz why the
value-of select is for.. I suppose and i am sure everybody here agrees
that the default way that comes to thinking of any xsl developer to
out put a value would be xsl:value-of select ..


What else can I say ???

HTH


2009/9/17 ac <ac@xxxxxxxxxxxxx>:
> Hi Vasu,
>
> The key could be a nice extra, especially if the source became larger,
which
> was not specified. I doubt that there would be a performance gain in this
> sample.
> It does not seem to make the xslt xml referencing any clearer or simpler
> either, in this case.
>
> Mostly, the requested output was:
> Table
> 100
> 102
> but your stylesheet gives
> Table: 100 , 102 ,
> which seems wrong.
>
> Also, your output is in an incomplete, invalid, and unrenderable html file
> while the request was just for output.
>
> If it is to be in an html file, apart from required enclosing elements,
> there may also be a few other considerations, including how to generate the
> linefeeds instead of the commas.
>
> If it is to be a text file rather, or an XML element or format of some
kind,
> that would be different also.
>
> All that was specified was output, with linefeeds, and xsl:message seems
> like the simplest way to do just that.
>
> Cheers,
> ac
>
>
>
>> Hey AC,
>> What did u expect the <xsl:message> will do???
>>
>>  <xsl:message> element writes a message to the output. Normally used
>> for printing debug messages or error messages...  you probably want a
>> value-of select .. to be able to get the value out...
>>
>> Try this XSL.. Notice the use of Keys..
>>
>> <?xml version="1.0"?>
>> <xsl:stylesheet version="1.0"
>> xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
>> <xsl:key name="column" match="/root/tabledisplayedcolumns/columnname"
>> use="text()"/>
>> <xsl:template match="/">
>> Table:
>> <xsl:for-each select = "/root/tablevalues/*[key('column',name())]">
>> <xsl:value-of select = "."/>
>> ,
>> </xsl:for-each>
>> </xsl:template>
>> </xsl:stylesheet>
>>
>>
>>
>> 2009/9/17 ac <ac@xxxxxxxxxxxxx>
>>
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>>>  version="1.0">
>>>
>>>  <xsl:template match="/">
>>>      <xsl:message>Table</xsl:message>
>>>      <xsl:for-each select="root/tabledisplayedcolumns/columnname">
>>>          <xsl:message>
>>>              <xsl:value-of select="root/tablevalues/*[current() eq
>>> name()]"/>
>>>          </xsl:message>
>>>      </xsl:for-each>
>>>  </xsl:template>
>>> </xsl:stylesheet>
>>>
>>> for example.
>>>
>>>
>>>
>>>>
>>>>  How can I achive this in xsl
>>>>
>>>>
>>>>  <root>
>>>>    <tablevalues>
>>>>      <column1>100</column1>
>>>>      <column2>101</column2>
>>>>      <column3>102</column3>
>>>>     </tablevalues>
>>>>     <tabledisplayedcolumns>
>>>>      <columnname>column1</columnname>
>>>>      <columnname>column3</columnname>
>>>>     </tabledisplayedcolumns>
>>>>  </root>
>>>>
>>>>
>>>>  Output:
>>>>
>>>>  Table
>>>>  100
>>>>  102
>>>
>>>
>>
>>
>>
>> --
>> Vasu Chakkera
>> Numerical Algorithms Group Ltd.
>> Oxford
>> www.vasucv.com
>>
>>
>>
>>
>> --
>> Vasu Chakkera
>> Numerical Algorithms Group Ltd.
>> Oxford
>> www.vasucv.com
>
>



--
Vasu Chakkera
Numerical Algorithms Group Ltd.
Oxford
www.vasucv.com

Current Thread