[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: <xsl:output method="xml"> and an if sentence to o

Subject: Re: <xsl:output method="xml"> and an if sentence to output XML
From: JBryant@xxxxxxxxx
Date: Mon, 9 May 2005 11:12:17 -0500
xsl output method xml
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: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>&lt;dl&gt;</xsl:text>
                                 <xsl:text>&lt;dt&gt;</xsl:text>
                                 <xsl:value-of select="$title" />
                                 <xsl:text>&lt;/dt&gt;</xsl:text>
                                 <xsl:for-each select="outline">
                                                 <xsl:choose>
                                                                 <xsl:when 
test="@this">&lt;dd class="active"&gt;</xsl:when>
 <xsl:otherwise>&lt;dd&gt;</xsl:otherwise>
                                                 </xsl:choose>
                                                 <xsl:text>&lt;a 
href="</xsl:text>
                                                 <xsl:value-of 
select="@url" />
 <xsl:text>"&gt;</xsl:text>
                                                 <xsl:value-of 
select="@title" />
 <xsl:text>&lt;/a&gt;</xsl:text>
 <xsl:text>&lt;/dd&gt;</xsl:text>
                                 </xsl:for-each>
                 <xsl:text>&lt;dl&gt;</xsl:text>
</xsl:template>

</xsl:stylesheet>

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.