xsl-list
[Top] [All Lists]

Re: 2 Predicates in 1 for-each, possible?

2004-02-10 14:58:54
At 2004-02-10 21:29 +0100, Bert wrote:
Allow me to ask a question about 2 predicates in 1 for-each.

I think you want a union of two expressions, not two predicates, though you do not give a lot of detail of what you are looking for. An example is below.

I hope this helps.

................... Ken

T:\ftemp>type bert.xml
<root>
 <organisation>
  <communication>
   <email>
    <emailaddress>e-mail(_at_)bert(_dot_)nl(1)</emailaddress>
   </email>
  </communication>
  <communication2>
   <emailaddress2>e-mail(_at_)bert(_dot_)nl(2)</emailaddress2>
  </communication2>
 </organisation>
 <organisation>
  <communication>
   <email>
    <emailaddress>e-mail(_at_)you(_dot_)nl(1)</emailaddress>
   </email>
  </communication>
  <communication2>
   <emailaddress2>e-mail(_at_)you(_dot_)nl(2)</emailaddress2>
  </communication2>
 </organisation>
</root>

T:\ftemp>type bert.xsl
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
 <xsl:output method="xml" indent="yes"/>
 <xsl:template match="/">
  <document>
   <xsl:for-each select="//communication/email[emailaddress] |
                         //communication2[emailaddress2]">
    <xsl:sort select="."/>
    <xsl:value-of select="."/>
    <xsl:if test="position() != last()">,
    </xsl:if>
   </xsl:for-each>
  </document>
 </xsl:template>
</xsl:stylesheet>

T:\ftemp>saxon bert.xml bert.xsl
<?xml version="1.0" encoding="utf-8"?>
<document>
    e-mail(_at_)bert(_dot_)nl(1)
   ,

    e-mail(_at_)you(_dot_)nl(1)
   ,

   e-mail(_at_)bert(_dot_)nl(2)
  ,

   e-mail(_at_)you(_dot_)nl(2)
  </document>
T:\ftemp>

--
Public courses: upcoming world tour of hands-on XSL training events
Each week:    Monday-Wednesday: XSLT/XPath; Thursday-Friday: XSL-FO
Washington, DC: 2004-03-15            San Francisco, CA: 2004-03-22
Hong Kong: 2004-05-17    Germany: 2004-05-24    England: 2004-06-07
World-wide on-site corporate, government & user group XML training!

G. Ken Holman                  mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd.           http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0     +1(613)489-0999 (F:-0995)
Male Breast Cancer Awareness   http://www.CraneSoftwrights.com/s/bc


XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list