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

Writing conditional statement based on attribute

Subject: Writing conditional statement based on attribute
From: llobash@xxxxxxxx
Date: Mon, 5 Feb 2007 18:01:44 -0500
 Writing conditional statement based on attribute
I am trying to write a conditional statement based on an attribute:

The XML doc will have either @level=series, subseries, file, item, or no
attribute.

I would like the output to be in <p> with default font where
@level="series" | @level="subseries"

and  <font size="-1" color="gray"> where there is file, item or no level
attribute. In other words anything but series or subseries.

Here are two examples of XML:

scopecontent is the element i am trying to format. parent element is dsc.

<c01 level="series">
<did>
<container type="folder" label="Folder"> 15</container>
<unittitle><unitdate>1932</unitdate></unittitle>
</did>
<scopecontent>
<p> Includes letters regarding Lee Strasberg's health. </p>
</scopecontent>


<c04>
<did>
<container type="folder" label="Folder"> 15</container>
<unittitle><unitdate>1932</unitdate></unittitle>
</did>
<scopecontent>
<p> Includes letters regarding Lee Strasberg's health. </p>
</scopecontent>
</c04>

I tried the following with no luck:

<xsl:template match='dsc//scopecontent'>
<xsl:choose>
      <xsl:when test='* [@level="series"] |
                  * [@level="subseries"]'>
            <p>
                  <xsl:apply-templates/>
            </p>

      </xsl:when>
      <xsl:otherwise>
            <font size="-1" color="gray">
            <xsl:apply-templates/>
            </font>
      </xsl:otherwise>
</xsl:choose>
</xsl:template>

Also:

<xsl:template match='* [@level="series"]//scopecontent |
             * [@level="subseries"]//scopecontent'>
      <p>
      <xsl:apply-templates/>
      </p>
</xsl:template>

<xsl:template match='* [not (@level="series")]//scopecontent |
             * [not (@level="subseries")]//scopecontent'>
      <font size="-1" color="gray">
      <xsl:apply-templates/>
      </font>
</xsl:template>

Thanks for the help.
Lynn

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.