[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Get the first Array element

Subject: Re: Get the first Array element
From: henry human <henry_human@xxxxxxxx>
Date: Fri, 11 May 2012 11:00:48 +0100 (BST)
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 &gt;= 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.

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.