[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: How to check for absence of a node?
Hi Sudhir, maybe this can help you on the way (other forummembers had to help me with the param-stuff): <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:template match="format"> <xsl:apply-templates select="tr"> <xsl:with-param name="thCount" select="count(/format/tr/th)"/> </xsl:apply-templates> </xsl:template> <xsl:template match="tr"> <xsl:param name="thCount"/> <xsl:if test="td"> <xsl:variable name="tdCount" select="count(td)"/> <xsl:if test="not($thCount=$tdCount)"> <p> <xsl:text>Error: number of th and td not equal</xsl:text> </p> </xsl:if> <xsl:if test="td[text()='NA']"> <p> <xsl:text>Error: one or more td contain 'NA'</xsl:text> </p> </xsl:if> </xsl:if> </xsl:template> </xsl:stylesheet> Greetings Rene { @ @ } ^ \__/ "You don't need eyes to see, you need vision!" -----Oorspronkelijk bericht----- Van: Sudhir Malhotra [SMTP:sudhirmalhotra123@xxxxxxxxxxx] Verzonden: vrijdag 15 juni 2001 8:30 Aan: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Onderwerp: How to check for absence of a node? I need help in testing my input XML for "NA" or empty response as shown. Please refer to the following code. I would like to call error-template in case A. I don't find the node "format/tr[2]/td[position()>1]", or B. The value of format/tr[2]/td[position()>1] is "NA" Any input will be greatly appreciated. Thanks. -sm -- XML input --- <format> <tr> <th>th1</th> <th>th2</th> <th>th3</th> <th>th4</th> <th>th5</th> <th>th6</th> <th>th7</th> <th>th8</th> </tr> <tr> <td>timestamp1</td> <td>NA</td> <td>NA</td> <td>NA</td> <td>NA</td> <td>NA</td> <td>NA</td> <td>NA</td> </tr> </format> --------------- -- XSL code --- <xsl:template match="/"> <!-- if error tag is present, process that --> <xsl:apply-templates select="//error"/> <!-- else if A. I don't find the node "format/tr[2]/td[position()>1]", or B. The value of all td's in format/tr[2]/td[position()>1] is "NA" call error-template --> Don't know how to code the above conditions A and B. <!-- else, the input XML looks good, start processing it --> <xsl:apply-templates select="format"/> </xsl:template> ------------- _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|