I'll try to help, but first I need the answers to some questions.
The first template matches the element "states"
===========================
<xsl:template match="states">
<br/>
<xsl:if test="//state/sym='R'">
... content omitted for clarity ...
</xsl:template>
===========================
In your source XML document, is "states" the parent of all "state" elements, or
do some "state" elements have "state" child elements?
Further along in this template you have this:
===========================
<xsl:for-each select="//state">
===========================
Unless you are planning to sort the elements, you probably don't need
xsl:for-each, just use xsl:apply-templates.
Further along still you have this:
===========================
<td><xsl:choose>xsl:value-of select="Val3"/></td>
===========================
Why do you have an opening xsl:choose without a closing tag and no xsl:when or
xsl:otherwise within?
Still further along you have this:
===========================
<xsl:apply-templates
select="document(concat($server,'/getinfo.dox?...........)"/>
===========================
Just what is it you are trying to get by concatenating the value of the
variable or paramater $server with the string "'/getinfo.dox?..........."?
These problems aside, if your real XSLT works at all then it must be legal XML,
which your sample is clearly not. I suspect your problem lies in these
templates:
<xsl:template match="data/Val5">
<td><xsl:value-of select="."/></td>
</xsl:template>
<xsl:template match="data/Val6">
<td><xsl:value-of select="node()"/></td>
</xsl:template>
<xsl:template match="data/Val7">
<td><xsl:value-of select="node()"/></td>
</xsl:template>
<xsl:template match="data/Val8">
<td><xsl:value-of select="node()"/></td>
</xsl:template>
If the root element of the document you are getting with
<xsl:apply-templates
select="document(concat($server,'/getinfo.dox?...........)"/>
is "data", then you have omitted the document root from the "match" attribute.
The correct XPath for these would begin with "/", as in match="/data/Val8".
--
Charles Knell
cknell(_at_)onebox(_dot_)com - email
-----Original Message-----
From: ms <mina_hurray(_at_)yahoo(_dot_)com>
Sent: Wed, 1 Nov 2006 12:45:41 -0800 (PST)
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] formatting issues
Hi:
Can someone please reply to this ? I have been pretyt
frustrated with this problem and would really
appreciate if anyone can help.
--- ms <mina_hurray(_at_)yahoo(_dot_)com> wrote:
I have tried everything possible and have failed to
format this XML.
My XSLT looks like this:
<xsl:template match="states">
<br/>
<xsl:if test="//state/sym='R'">
<table width="100%">
<tr>
<td colspan="8">
<b>STATES: </b>
</td>
</tr>
<tr>
<td width="9%">
<u>Val1</u>
</td>
<td width="15%">
<u>Val2</u>
</td>
<td width="7%">
<u>Val3</u>
</td>
<td width="7%">
<u>Val4</u>
</td>
<td width="9%">
<u>Val5</u>
</td>
<td width="21%">
<u>Val6</u>
</td>
<td width="15%">
<u>Val7</u>
</td>
<td width="7%">
<u>Val8</u>
</td>
</tr>
<xsl:for-each select="//state">
<xsl:choose>
<xsl:when test="sym='R'">
<tr>
<td>
<xsl:value-of select="Val1"/>
</td>
<td>
<xsl:value-of select="Val2"/>
</td>
<td>
<xsl:choose>
<xsl:value-of select="Val3"/>
</td>
<td>
<xsl:value-of select="Val4"/>
</td>
<xsl:variable
name="v1">
<xsl:value-of select="Val1"/>
</xsl:variable>
<xsl:variable
name="v2">
<xsl:value-of select="Val2"/>
</xsl:variable>
<xsl:apply-templates
select="document(concat($server,'/getinfo.dox?...........)"/>
</tr>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</table>
</xsl:if>
</xsl:template>
<xsl:template match="results">
<tr>
<xsl:apply-templates/>
</tr>
</xsl:template>
<xsl:template match="data">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="data/Val5">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>
<xsl:template match="data/Val6">
<td>
<xsl:value-of select="node()"/>
</td>
</xsl:template>
<xsl:template match="data/Val7">
<td>
<xsl:value-of select="node()"/>
</td>
</xsl:template>
<xsl:template match="data/Val8">
<td>
<xsl:value-of select="node()"/>
</td>
</xsl:template>
Now, Val1, Val2, Val3, Val4 are available in the
input
XML SO I am not concerned about them becoz they
format
fine.
Val5, Val6, Val7, and Val8 are retrieved thru a
server
call using JSP where it return the XML which looks
like below:
<results>
<data>
<Val5>something</Val5>
<Val6>something</Val6>
<Val7>something</Val7>
<Val8>P</Val8>
</data>
<data>
<Val5>something</Val5>
<Val6>something</Val6>
<Val7>something</Val7>
<Val8>P</Val8>
</data>
</results>
How do I format this to XHTML view. The above XSLT
does not seem to work on this. Thank you for all
your help.
____________________________________________________________________________________
Want to start your own business? Learn how on Yahoo!
Small Business
(http://smallbusiness.yahoo.com)
--~------------------------------------------------------------------
XSL-List info and archive:
http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to:
http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
____________________________________________________________________________________
We have the perfect Group for you. Check out the handy changes to Yahoo! Groups
(http://groups.yahoo.com)
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--