Re: HTML tag inside <xsl:when></xsl:when> tag
Matts Isuls wrote: > How do i go about writing a HTML tag inside a xsl:when. Have tried three > different ways: > > <xsl:choose> > <xsl:when test="ss:Data/@ss:Type = 'Number'"> > <td align="right"> > </xsl:when> > <!--snip--> > </xsl:choose> This is a FAQ. Don't think in terms of writing tags, because XSLT is not about slapping together a result document from serially pasted-together strings (well, it can be, if you use the text output method and only write out text nodes, but that's not what you want to do). Generally when people ask questions about HTML tables, they've tried a tag-based approach, which inevitably fails because they are thinking about how to arbitrarily declare the beginning and end of each row. In the well-formed world of XML and XSLT, one needs a more object-oriented approach. If you break the problem down into the answers to these questions, you might see your solution more quickly: - What always determines when a new row is added? - What always goes into each row? - What always goes into each cell? It might also help if you turn things around ... rather than deciding whether to create foo-sub-x or foo-sub-y based on some condition, create foo always, and make the -sub-x or -sub-y be a choice made during instantiation of the foo: <td> <xsl:attribute name="align"> <xsl:choose> <xsl:when test="ss:Data/@ss:Type = 'Number'">right</xsl:when> <xsl:otherwise>center</xsl:otherwise> </xsl:choose> </xsl:attribute> </td> - Mike ____________________________________________________________________________ mike j. brown, fourthought.com | xml/xslt: http://skew.org/xml/ denver/boulder, colorado, usa | personal: http://hyperreal.org/~mike/ 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