|
Subject: Re: [xsl] Get the first Array element From: henry human <henry_human@xxxxxxxx> Date: Fri, 11 May 2012 11:00:48 +0100 (BST) |
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: [xsl] 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: [xsl] 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: [xsl]
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: [xsl] 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: [xsl] 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: [xsl] 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: [xsl]
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: [xsl] 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: [xsl] 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.
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Get the first Array eleme, henry human | Thread | Re: [xsl] Get the first Array eleme, Michel Hendriksen |
| Re: [xsl] RE: A shorter way to test, Michel Hendriksen | Date | Re: [xsl] Get the first Array eleme, Michel Hendriksen |
| Month |