Subject: Re: [xsl] shortest way to write this xsl:if statement From: henry human <henry_human@xxxxxxxx> Date: Fri, 15 Jun 2012 14:42:12 +0100 (BST) |
yoop, that is it!! I misunderstood your first posting, surry! Thanks, it works fine with the for-each loop Best regards hh --- Wolfgang Laun <wolfgang.laun@xxxxxxxxx> schrieb am Fr, 15.6.2012: > Von: Wolfgang Laun <wolfgang.laun@xxxxxxxxx> > Betreff: Re: [xsl] shortest way to write this xsl:if statement > An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Datum: Freitag, 15. Juni, 2012 15:33 Uhr > You don't need an if, the XPath > should produce all nodes according to > the condition. So, just the xsl:for-each! > > On 15/06/2012, henry human <henry_human@xxxxxxxx> > wrote: > > sorry, but the resul with the xpath- query is the same. > The if statement is > > ended after first finding of 'A' > > > > but there are at least for findings for B, C, D which > should lead to > > creation of the code bellow of th if-statement > > ?? > > > > > > > > ----- Urspr|ngliche Message ----- > > Von: Wolfgang Laun <wolfgang.laun@xxxxxxxxx> > > An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > > CC: > > Gesendet: 15:17 Freitag, 15.Juni 2012 > > Betreff: Re: [xsl] shortest way to write this xsl:if > statement > > > > Sorry, I meant to indicate that this should produce all > the nodes that > > should be processed by the loop, > > > > <xsl:for-each select="...."> > > > > On 15/06/2012, Wolfgang Laun <wolfgang.laun@xxxxxxxxx> > wrote: > >> You might need an XPath expression > >> test="D4/G10/(X,Y,Z)[. = > ('A','B','C','D')]" > >> -W > >> > >> > >> On 15/06/2012, henry human <henry_human@xxxxxxxx> > wrote: > >>> Now the problem is, the loop bellow of xsl:if > is only one time created > >>> but > >>> I > >>> have more findings in the if statement > >>> regarding A, B, C, D (founds at least 4 times > because D4/G100/6id = 'A' , > >>> D4/G100/9id = 'B' , D4/G100/10id = 'C' , > D4/G100/11id ='D') > >>> => the code bellow of the xsl:if statemnt > should be repeated as much as > >>> if > >>> statement find A, B, C, D,.. > >>> > >>> > >>> > >>> > >>> ----- Urspr|ngliche Message ----- > >>> Von: G. Ken Holman <gkholman@xxxxxxxxxxxxxxxxxxxx> > >>> An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx; > "xsl-list@xxxxxxxxxxxxxxxxxxxxxx" > >>> <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> > >>> CC: > >>> Gesendet: 13:59 Freitag, 15.Juni 2012 > >>> Betreff: Re: [xsl] shortest way to write this > xsl:if statement > >>> > >>> > >>> At 2012-06-15 12:54 +0100, henry human wrote: > >>>> Hello > >>>> The following if statement is too long if > try it as in the sample > >>>> bellow. > >>>> How could be shorter? > >>>> The if - logic to create a for-each loop: > >>>> ---------------- > >>>> xsl:if > >>>> D4/G100/6id or D4/G100/9id or > D4/G100/12id or D4/G100/6id15 or > >>>> D4/G100/45id or D4/G100/22id, D4/G100/10id > >>>> or D4/G100/19id is 'A' or 'B' or 'C', or > 'D' or 'F' > >>>> > >>>> The Sample: > >>>> <xsl:if test="D4/G100/6id = 'A' OR > test="D4/G100/6id = 'B' OR > >>>> test="D4/G100/6id = 'C' OR > test="D4/G100/9id = 'A' OR test="D4/G100/9id > >>>> = > >>>> 'B' .....> > >>>> > >>>> <xsl:for-each select=" ......"> > >>>> ... > >>>> </xsl:for-each> > >>>> > >>>> </xsl:if> > >>> > >>> Element names cannot begin with digits, so I'm > unclear how you are going > >>> to > >>> be testing elements such as <6id>. > >>> > >>> But, assuming you had elements D4/G100/X and > D4/G100/Y and D4/G100/Z, you > >>> could have in XSLT2 the following: > >>> > >>> <xsl:if test="D4/G100/(X,Y,Z) = > ('A','B','C')"> > >>> > >>> ... which is equivalent to: > >>> > >>> D4/G100/X = 'A' or > >>> D4/G100/X = 'B' or > >>> D4/G100/X = 'C' or > >>> D4/G100/Y = 'A' or > >>> D4/G100/Y = 'B' or > >>> D4/G100/Y = 'C' or > >>> D4/G100/Z = 'A' or > >>> D4/G100/Z = 'B' or > >>> D4/G100/Z = 'C' > >>> > >>> When using the "=" comparison operator, either > operand can be a set. The > >>> processor walks through the comparisons in an > arbitrary order eventually > >>> testing each of the left operand with each of > the right operand and stops > >>> when it hits a true() result and returns > true(). If you get a false() > >>> returned, you know the processor has checked > every possible combination > >>> and > >>> every combination has returned false(). > >>> > >>> I hope this helps. > >>> > >>> . . . . . . . . . . . Ken > >>> > >>> -- > >>> Public XSLT, XSL-FO, UBL and code list classes > in Europe -- Oct 2012 > >>> Contact us for world-wide XML consulting and > instructor-led training > >>> Free 5-hour lecture: http://www.CraneSoftwrights.com/links/udemy.htm > >>> Crane Softwrights Ltd. > http://www.CraneSoftwrights.com/s/ > >>> G. Ken Holman > mailto:gkholman@xxxxxxxxxxxxxxxxxxxx > >>> Google+ profile: https://plus.google.com/116832879756988317389/about > >>> Legal business disclaimers: http://www.CraneSoftwrights.com/legal > >>> > >>> > >>> > --~------------------------------------------------------------------ > >>> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > >>> To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ > >>> or e-mail: <mailto:xsl-list-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx> > >>> --~-- > >>> > >>> > --~------------------------------------------------------------------ > >>> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > >>> To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ > >>> or e-mail: <mailto:xsl-list-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx> > >>> --~-- > >>> > >>> > >> > > > > > --~------------------------------------------------------------------ > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ > > or e-mail: <mailto:xsl-list-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx> > > --~-- > > > > > --~------------------------------------------------------------------ > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ > > or e-mail: <mailto:xsl-list-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx> > > --~-- > > > > > > --~------------------------------------------------------------------ > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ > or e-mail: <mailto:xsl-list-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx> > --~--
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] shortest way to write thi, Wolfgang Laun | Thread | [xsl] how to applied "xpath-default, Joga Singh Rawat |
Re: [xsl] shortest way to write thi, Wolfgang Laun | Date | RE: [xsl] How to make this XSLT wor, Robby Pelssers |
Month |