Subject: Re: [xsl] <xsl:output method="xml"> and an if sentence to output XML From: JBryant@xxxxxxxxx Date: Mon, 9 May 2005 11:12:17 -0500 |
Hi, Jacob, I have written a different stylesheet to produce a dl list with different dd elements if an attribute named "this" is present: <?xml version='1.0'?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" encoding="iso-8859-1" omit-xml-declaration="yes" standalone="no" indent="no" /> <xsl:template match="/"> <xsl:apply-templates match="opml/body/outline"/> </xsl:template> <xsl:template match="outline"> <dl> <dt><xsl:value-of select="@title" /></dt> <xsl:for-each select="outline"> <xsl:choose> <xsl:when test="@this"> <dd class="active"> <a href="{@url}><xsl:value-of select="@title" /></a> </dd> </xsl:when> <xsl:otherwise> <dd> <a href="{@url}><xsl:value-of select="@title" /></a> </dd> </xsl:otherwise> </xsl:choose> </xsl:for-each> <dl> </xsl:template> </xsl:stylesheet> I think this stylesheet will work (though it's hard to say with no XML source to examine), and it much more closely follows XSLT's normal processing model. Note that this stylesheet still does not produce a well-formed XML document, as the result document will have no root node (or will have multiple root nodes, depending on how you view such things). I assume you are going to do something more with the output (such as embed it in some other file). HTH Jay Bryant Bryant Communication Services (presently consulting at Synergistic Solution Technologies) Jacob Friis Larsen <webcom.dk@xxxxxxxxx> 05/09/2005 10:39 AM Please respond to xsl-list@xxxxxxxxxxxxxxxxxxxxxx To xsl-list@xxxxxxxxxxxxxxxxxxxxxx cc Subject [xsl] <xsl:output method="xml"> and an if sentence to output XML Below is my XSLT file. I'd like to use <xsl:output method="xml">, but I haven't found a solution to my problem, which is how to output <dd class="active"> if parameter this exists and <dd> if it doesn't exist. I would appreciate any help. Thanks, Jacob <?xml version='1.0'?> <xsl:stylesheet version="1.0" xmlns:xsl=" http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" encoding="iso-8859-1" omit-xml-declaration="yes" standalone="no" indent="no" /> <xsl:template match="/"> <xsl:for-each select="/opml/body/outline"> <xsl:call-template name="outline"> <xsl:with-param name="title"><xsl:value-of select="@title" /></xsl:with-param> </xsl:call-template> </xsl:for-each> </xsl:template> <xsl:template name="outline"> <xsl:param name="title" /> <xsl:text><dl></xsl:text> <xsl:text><dt></xsl:text> <xsl:value-of select="$title" /> <xsl:text></dt></xsl:text> <xsl:for-each select="outline"> <xsl:choose> <xsl:when test="@this"><dd class="active"></xsl:when> <xsl:otherwise><dd></xsl:otherwise> </xsl:choose> <xsl:text><a href="</xsl:text> <xsl:value-of select="@url" /> <xsl:text>"></xsl:text> <xsl:value-of select="@title" /> <xsl:text></a></xsl:text> <xsl:text></dd></xsl:text> </xsl:for-each> <xsl:text><dl></xsl:text> </xsl:template> </xsl:stylesheet>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] <xsl:output method="xml">, Jacob Friis Larsen | Thread | RE: [xsl] <xsl:output method="xml">, Aron Bock |
Re: [xsl] Recognized Unicode charac, David Carlisle | Date | RE: [xsl] <xsl:output method="xml">, Aron Bock |
Month |