[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: conditional based html formated output - reg

Subject: RE: conditional based html formated output - reg
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Fri, 2 Apr 2010 17:55:31 +0100
RE:  conditional based html formated output - reg
You're making a fundamental error here in trying to make your stylesheet
output tags (bits of lexical XML). That's not the way XSLT works:
instructions create nodes in a tree. The start/end tag pair <tr></tr>
represent a single node in the tree, which can only be constructed as an
atomic operation.

It's hard to see what you're trying to do and therefore to show it it should
be corrected, but in general you should replace

<xsl:if test="x">
  <td>
</xsl:if>
  xxx 
<xsl:if test="x">
  </td>
</xsl:if>

by 

<xsl:choose>
  <xsl:when test="x">
    <td>
      xxx
    </td>
  </xsl:when>
  <xsl:otherwise>
     xxx
  </xsl:otherwise>
</xsl:choose>

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay 

> -----Original Message-----
> From: Ramesh Kumar [mailto:cnrameshkumar@xxxxxxxxx] 
> Sent: 02 April 2010 11:31
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject:  conditional based html formated output - reg
> 
> Dear All,
> 
> Can anyone help me to clear the error in the below xsl template.
> I am trying to create a table. The cells are created based on 
> key value.
> So i need to start a row <TR> based on a condition.
> Also the end tag </TR> for that row will be based on another 
> condition.
> But without end tag </TR> the <xsl:if> element is giving error.
> 
> 	<xsl:template name="FrameMatrix">
> 		<xsl:param name="rowkey"/>
> 		<xsl:param name="seqkey"/>
> 		<xsl:param name="colkey"/>
> 		<xsl:if test="not(contains($RowKeyList, 
> concat(',', rowkey)))">
> 			<tr>
> 				<td>
> 					<xsl:value-of select="RowKey"/>
> 				</td>
> 				<td>
> 					<xsl:value-of 
> select="CategoryName"/>
> 				</td>
> 		</xsl:if>
> 
> 		<xsl:for-each select="key('col-name', 
> concat($colkey, $rowkey, $seqkey))">
> 			<xsl:call-template name="data" />
> 		</xsl:for-each>
> 
> 		<xsl:if test="not(contains($RowKeyList, 
> concat(rowkey, ',')))">
> 			</tr>
> 		</xsl:if>
> 	</xsl:template>
> 
> -- 
> 
> 
> Regards,
> Ramesh

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.