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

Re: Writing array elements based on a an evaluation of

Subject: Re: Writing array elements based on a an evaluation of one of the child elements
From: neil cave <coraltrees@xxxxxxxxxxx>
Date: Wed, 24 May 2006 12:35:20 +0000 (GMT)
neil cave
In the example I want the result XML to write the first 2 occurences of
ACCOUNT-LIST because the have values in teh ACCOUNT-NO element.
Whereas occurence 3 of ACCOUNT-LIST has no ACCOUNT-NO and I don't want that
occurence in teh result doc.

----- Original Message ----
From: neil cave <coraltrees@xxxxxxxxxxx>
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Sent: Wednesday, 24 May, 2006 2:21:05 PM
Subject: Re:  Writing array elements based on a an evaluation of one of
the child elements


<?xml version="1.0" encoding="UTF-8"?>
<Get_AccountNumber_List>
   <CLIENT_CODE6>BABICK 001</CLIENT_CODE6>
<ACCOUNT-LIST>
  <ACCOUNT-NO>0000000054840004</ACCOUNT-NO>
  <SBU-CODE>2</SBU-CODE>
  <RISK_TYPE>CUR</RISK_TYPE>
</ACCOUNT-LIST>
<ACCOUNT-LIST>
  <ACCOUNT-NO>0000000710207909</ACCOUNT-NO>
  <SBU-CODE>2</SBU-CODE>
  <RISK_TYPE>CMS</RISK_TYPE>
</ACCOUNT-LIST>
<ACCOUNT-LIST>
   <ACCOUNT-NO></ACCOUNT-NO>
   <SBU-CODE></SBU-CODE>
   <RISK_TYPE></RISK_TYPE>
</ACCOUNT-LIST>
</Get_AccountNumber_List>

With XSL now =

<xsl:template match = "ACCOUNT-LIST">
<xsl:for-each select="." >
   <xsl:if test="string-length(ACCOUNT-NO/text() > 0)">
     <xsl:element name="ACCOUNT-LIST">
      <xsl:value-of select="." />
   </xsl:element>
     </xsl:if>
    </xsl:for-each>
    </xsl:template>

The result I get is that it writes all the data for all account-LIST elements
with no tages (excepts the ACCOUNT-LIST parent element tag) and it does not
evaluate the string-length test

----- Original Message ----
From: Florent Georges <darkman_spam@xxxxxxxx>
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Sent: Wednesday, 24 May, 2006 2:06:33 PM
Subject: Re:  Writing array elements based on a an evaluation of one of
the child elements


neil cave wrote:

>  <xsl:template match = "ACCOUNT-LIST">
>    <xsl:if test="string-length(ACCOUNT-NO/text() > 0)">
>    <xsl:element name = "ACCOUNT-LIST">
>                        <xsl:for-each select="."/>
>             </xsl:element>
>        </xsl:if>
>  </xsl:template>

> and this writes a whole bunch of empty <ACCOUNT-LIST> elements
> Which I guess is happening because somehow I'm not refering to the
> correct occurence of the ACCOUNT-NO child node I'm dealing with? And
> I'll need some xsl:for-each logic

  Could you please provide a minimal example of an input tree that
reproduce the problem with that template rule?

  Regards,

--drkm



























___________________________________________________________________________
Yahoo! Mail riinvente le mail ! Dicouvrez le nouveau Yahoo! Mail et son
interface rivolutionnaire.
http://fr.mail.yahoo.com

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.