[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Get the first Array element
Hello In the statemt bellow which is calling in a xsl-for each loop I get at the secound TaxTotal for the lment Amount the value NaN! I think the statement cac:TaxTotal[child::cbc:Amount][1]/cbc:Amount assumes that all Taxtotals have an Amount element. ?? Resul: <amount>+0000000000044</amount> <amount>NaN</amount> <amount>+0000000000010</amount> XML: <elements> <TaxTotal> <Amount>44.00</Amount> </TaxSubtotal> </TaxTotal> //this is the secound Taxtotal <TaxTotal> <otherAmount>0.0</otherAmount> </TaxTotal> <TaxTotal> <Amount>10.00</Amount> </TaxSubtotal> </TaxTotal> ...... </elements> -------- <xsl:choose> <xsl:when test="(cac:TaxTotal[child::cbc:Amount][1]/cbc:Amount) = '' ">00000000000000</xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="cac:TaxTotal[child::cbc:Amount][1]/cbc:Amount >= 0"> <xsl:value-of select="format-number(floor(cac:TaxTotal[child::cbc:Amount][1]/cbc:Amount),'+ 0000000000000;-0000000000000') "/> </xsl:when> <xsl:otherwise> <xsl:value-of select="format-number(ceiling(number(cac:TaxTotal[child::cbc:Amount][1]/cbc:A mount) ),'+0000000000000;-0000000000000') "/> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> ----- Urspr|ngliche Message ----- Von: henry human <henry_human@xxxxxxxx> An: "xsl-list@xxxxxxxxxxxxxxxxxxxxxx" <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> CC: Gesendet: 21:39 Donnerstag, 10.Mai 2012 Betreff: Re: Get the first Array element Thank you Michele, that is it! ! Best regards Henry ----- Urspr|ngliche Message ----- Von: Michele R Combs <mrrothen@xxxxxxx> An: "'xsl-list@xxxxxxxxxxxxxxxxxxxxxx'" <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> CC: Gesendet: 21:07 Donnerstag, 10.Mai 2012 Betreff: RE: Get the first Array element Argh. Again with the bad punctuation, here it is corrected: select="TaxTotal[child::Amount][1]/Amount" Sorry!! -----Original Message----- From: Michele R Combs [mailto:mrrothen@xxxxxxx] Sent: Thursday, May 10, 2012 3:07 PM To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx' Subject: RE: Get the first Array element Ah. Try this: select="TaxTotal[child::Amount[1]/Amount" -----Original Message----- From: henry human [mailto:henry_human@xxxxxxxx] Sent: Thursday, May 10, 2012 3:06 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: Get the first Array element Thanks, it seems that still is somethin wrong in your statement. I get now the correct Taxtotal (the first which has an element Amount) but it is the WHOLE Taxtotal and not only the Amount! Even if try this I get still the whole taxtotal: select="TaxTotal[child::Amount[1]][1]" ----- Urspr|ngliche Message ----- Von: Michele R Combs <mrrothen@xxxxxxx> An: "'xsl-list@xxxxxxxxxxxxxxxxxxxxxx'" <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> CC: Gesendet: 19:28 Donnerstag, 10.Mai 2012 Betreff: RE: Get the first Array element Sorry, extra closing quotes there: select="TaxTotal[child::Amount][1]" Michele -----Original Message----- From: Michele R Combs [mailto:mrrothen@xxxxxxx] Sent: Thursday, May 10, 2012 1:28 PM To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx' Subject: RE: Get the first Array element In your code example there is only ONE occurrence of TaxTotal/Amount -- in that case, select="TaxTotal/Amount" will work. If there are multiple TaxTotal/Amounts and you only want the first one, then I think select="TaxTotal[child::Amount][1]"" would do it. Michele -----Original Message----- From: henry human [mailto:henry_human@xxxxxxxx] Sent: Thursday, May 10, 2012 12:18 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: Get the first Array element Sorry it was a mistake in the posting: Correction: I will get the FIRST Taxtotal element which has the Amount element I tried it with <xsl-value-of select="TaxTotal[1]/Amount"/> But it does not work as expected because I get the other Taxtotal (the first one) which has not the element 'Amount' Here is my XML data: <elements> .... <TaxTotal> <otherAmount>22.00</otherAmount> </TaxTotal> ....... <TaxTotal> <otherAmount>90.00</otherAmount> </TaxTotal> <TaxTotal> ..... <Amount>44.00</Amount> </TaxSubtotal> </TaxTotal> <TaxTotal> ..... <Amount>10.00</Amount> </TaxSubtotal> </TaxTotal> ...... </elements> I hope i am now more cleare ?? ----- Urspr|ngliche Message ----- Von: henry human <henry_human@xxxxxxxx> An: "xsl-list@xxxxxxxxxxxxxxxxxxxxxx" <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> CC: Gesendet: 17:59 Donnerstag, 10.Mai 2012 Betreff: Re: Get the first Array element Sorry it was a mistake in the posting: Correction: I will get the FIRST Taxtotal element which has the Amount element I tried it with <xsl-value-of select="TaxTotal[1]/RoundingAmount"/> But it does not work as expected because I get the other Taxtotal (the first one) which has not the element 'Amount' Here is my XML data: <elements> .... <TaxTotal> <otherAmount>22.00</otherAmount> </TaxTotal> ....... <TaxTotal> <otherAmount>90.00</otherAmount> </TaxTotal> <TaxTotal> ..... <Amount>44.00</Amount> </TaxSubtotal> </TaxTotal> <TaxTotal> ..... <Amount>10.00</Amount> </TaxSubtotal> </TaxTotal> ...... </elements> I hope i am now more cleare ?? ----- Urspr|ngliche Message ----- Von: Dimitre Novatchev <dnovatchev@xxxxxxxxx> An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx CC: Gesendet: 17:49 Donnerstag, 10.Mai 2012 Betreff: Re: Get the first Array element Unless you clearly define the problem, don't expect any useful response -- we are not supernaturals and only have limited guessing power. Cheers, Dimitre On Thu, May 10, 2012 at 7:11 AM, henry human <henry_human@xxxxxxxx> wrote: > Hello > <elements> > .... > <TaxTotal> > <otherAmount>22.00</otherAmount> > </TaxTotal> > ....... > <TaxTotal> > <otherAmount>90.00</otherAmount> > </TaxTotal> > <TaxTotal> > ..... > <Amount>44.00</Amount> > </TaxSubtotal> > </TaxTotal> > <TaxTotal> > ..... > <Amount>10.00</Amount> > </TaxSubtotal> > </TaxTotal> > ...... > </elements> > --------------------- > Ever I will get the FIRST Taxtotal because this has the Amount I tried > :cac:TaxTotal[1]/cbc:RoundingAmount > Butr It is wrong! > ?? > > --~------------------------------------------------------------------ > 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> > --~-- > -- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- Never fight an inanimate object ------------------------------------- To avoid situations in which you might make mistakes may be the biggest mistake of all ------------------------------------ Quality means doing it right when no one is looking. ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play ------------------------------------- Facts do not cease to exist because they are ignored. ------------------------------------- I finally figured out the only reason to be alive is to enjoy it.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|