I have a database field. I am taking out xml from. This field contains content from several XML feeds, for which I need two. I display XML on the page and use XSLT to format it.
My problem is that there can be up to 40 elements per message in the database, of which I'm looking for about 30. However, not all messages will have all 30. I need help figuring out how to delete a column if there is no data to display.
If I can use XSLT, then fine, if it's JavaScript (jQuery), then that's fine too. There will never be more than one line and one heading at a time.
Here is an example XML
<MessageToUser> <Name>Bob</Name> <MessageType>Text Message</MessageType> <MessageID>121223</MessageID> <ResponseTo /> <Message>Call Me Please </Message> <OfficePhone>555-555-1212</OfficePhone> <CellPhone>555-555-5555</CellPhone> </MessageToUser>
So XSL I use
<xsl:template match="/"> <html> <head> <style type="text/css"> .Header{min-width: 100px;background-color:#9acddd;} </style> </head> <body> <table border="1"> <tr> <th class="Header">Name</th> <th class="Header">Message</th> <th class="Header">Cell Phone</th> <th class="Header">Office Phone</th> <th class="Header">Message Type</th> <th class="Header">Message Time</th> <th class="Header">Message ID</th> </tr> <xsl:for-each select="MessageFromUser"> <tr> <td><xsl:value-of select="Name" /></td> <td><xsl:value-of select="Message" /></td> <td><xsl:value-of select="CellPhone" /></td> <td><xsl:value-of select="OfficePhone" /></td> <td><xsl:value-of select="MessageType" /></td> <td><xsl:value-of select="MessageTime" /></td> <td><xsl:value-of select="MessageID" /></td> </tr> </xsl:for-each> <xsl:for-each select="MessageToUser"> <tr> <td><xsl:value-of select="Name" /></td> <td><xsl:value-of select="Message" /></td> <td><xsl:value-of select="CellPhone" /></td> <td><xsl:value-of select="OfficePhone" /></td> <td><xsl:value-of select="MessageType" /></td> <td><xsl:value-of select="MessageTime" /></td> <td><xsl:value-of select="MessageID" /></td> </tr> </xsl:for-each> </table> </body>
Use of this XML MessageTime is empty and this column should be removed.
Thanks in advance for your help.
source share