This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Complex Match Pattern


Well, that kind of thing absolutely screams for a template :)

<xsl:template match="Difference[Change[not(contains(.,"NULL")) and
not(contains(.,"NONE"))]">
	<output/>
</xsl:template>

This template (assuming I didn't mistype anything) will match only if
there is a Change element that contains neither NULL nor NONE.  If there
is, then output it.  If there are none, nothing gets outputted.

HTH!

Dion

-----Original Message-----
From: Dung, Ming-tzung [mailto:Ming-tzung_Dung@jdedwards.com] 
Sent: Wednesday, May 01, 2002 1:36 PM
To: XSLT List (E-mail)
Subject: [xsl] Complex Match Pattern

   The problem I have is about filtering and printing problem.
**Input XML:
<Difference>
  <Object> A </Object>
  <Change> change1 </Change>
  <Chnage> change 2 </Change>
   .....
</Difference>
  The requirement is to output the Object content and the "meaningful"
change content. The "meaningful" change means the content won't contain
certain value, such as "NULL" or "NONE".
  The challenges is that if there are no any meaningful change, don't
output
anything.
Originally, I though that I can use the following code to solve the
problem

<xsl:for-each select="Difference[not(contains(Change, 'NULL]') or
contains(Change, 'NONE']'))]>
   <xsl:if test="position()=1">
       <!-- output the Object content -->
   </xsl:if>
       <!-- output the Change content -->
</xsl:for-each>

 BUT because the Change could have multiple lines, this design won't
work.
Any suggestion?
Thanks in advance!!

Ming-tzung Dung


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


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]