Re: [xsl] to draw a table in xsl

Subject: Re: [xsl] to draw a table in xsl
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Thu, 17 Sep 2009 10:56:46 -0400
Hi,

As AC points out, the original problem was underspecified.

Given this, debating the best way to solve it seems kind of pointless. Either respondent might have asked the OP to clarify the nature of the actual problem. Given that both tried to fill in the unknowns with guesswork, it hardly seems fair for either to criticize the other for doing so.

I think we need to hear from the OP before we know whether he has found the solution, or whether he needs more information.

If the latter, he might consider the list guidelines at http://www.mulberrytech.com/xsl/xsl-list/index.html for advice on how to compose a question that is likely to be answered well.

Cheers,
Wendell

At 10:12 AM 9/17/2009, you wrote:
> 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


======================================================================
Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

Current Thread