xml - xsl conditional tagging with for-each statement -



xml - xsl conditional tagging with for-each statement -

here xml file:

<?xml version="1.0" ?> <?xml-stylesheet type="text/xsl" href="question.xsl"?> <root> <overall_test> <overall_name> movies </overall_name> <overall_result> passed </overall_result> </overall_test> <subtest> <name> matrix </name> <result> passed </result> </subtest> <subtest> <name> die hard </name> <result> failed </result> </subtest> <subtest> <name> terminator </name> <result> passed </result> </subtest> <subtest> <name> avataar </name> <result> failed </result> </subtest> </root>

the xsl file here:

<?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="/"> <html> <body> <xsl:for-each select="root/overall_test"> <h2>overall test name:<xsl:value-of select="overall_name"/></h2> <h2>overall test result:<xsl:value-of select="overall_result"/></h2> </xsl:for-each> <table border="1"> <tr bgcolor="#gray"> <th>sub test name</th> <th>sub test result</th> </tr> <xsl:for-each select="root/subtest"> <tr> <td><xsl:value-of select="name"/></td> <td><xsl:value-of select="result"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>

this way xml looks in browser (this tables in ie ):

overall test name: movies overall test result: passed sub test name sub test result matrix passed die hard failed terminator passed avataar failed

i need color "passed" , "failed" sections greenish , red, depending on value of tag. tried xsl:choose, xsl:when , ended messing file. help appreciated

try replacing:

<td><xsl:value-of select="result"/></td>

with:

<td> <xsl:attribute name="bgcolor"> <xsl:choose> <xsl:when test="normalize-space(result)='passed'">green</xsl:when> <xsl:otherwise>red</xsl:otherwise> </xsl:choose> </xsl:attribute> <xsl:value-of select="result"/> </td>

xml xslt

Comments

Popular posts from this blog

xslt - DocBook 5 to PDF transform failing with error: "fo:flow" is missing child elements. Required content model: marker* -

mediawiki - How do I insert tables inside infoboxes on Wikia pages? -

SQL Server : need assitance parsing delimted data and returning a long concatenated string -