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

XSL Problem

Subject: XSL Problem
From: "Dale Earnest" <dale.earnest@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 10 Aug 2004 20:01:23 -0400
dale earnest
I've run into a difficult xslt problem and I was hoping someone may have some
insight.

I have an XML structure that looks like this (the '...'s represent nodes that
aren't directly relevant to the question and are omitted):

<PersAutoInsurance>
 <PersVeh>
  ...
  <AdditionalInterest>
    <AdditionalInterestInfo>
    <NatureInterestCd>ADDIN</NatureInterestCd>
   </AdditionalInterestInfo>
  </AdditionalInterest>
  <AdditionalInterest>
   ...
   <AdditionalInterestInfo>
    <NatureInterestCd>LIEN</NatureInterestCd>
   </AdditionalInterestInfo>
  </AdditionalInterest>
  <AdditionalInterest>
   ...
   <AdditionalInterestInfo>
    <NatureInterestCd>LIEN</NatureInterestCd>
   </AdditionalInterestInfo>
  </AdditionalInterest>
 </PersVeh>
 <PersVeh>
  <AdditionalInterest>
   ...
   <AdditionalInterestInfo>
    <NatureInterestCd>ADDIN</NatureInterestCd>
   </AdditionalInterestInfo>
  </AdditionalInterest>
  <AdditionalInterest>
   ...
   <AdditionalInterestInfo>
    <NatureInterestCd>LIEN</NatureInterestCd>
   </AdditionalInterestInfo>
  </AdditionalInterest>
  <AdditionalInterest>
   ...
   <AdditionalInterestInfo>
    <NatureInterestCd>AIL</NatureInterestCd>
   </AdditionalInterestInfo>
  </AdditionalInterest>
 </PersVeh>
</PersAutoInsurance>

What I'm trying to do is select NatureInterestCd's based on the following
criteria:
1) I cannot accept the first NatureInterestCd = LIEN for each vehicle (but may
accept any subsequent for processing)
2) I cannot accept the first NatureInterestCd = AIL for each vehicle (but may
accept any subsequent for processing)
2) I can accept any other node

I attempted to use this type of statement to get the nodes and loop over
them:
<xsl:for-each
select="PersAutoInsurance/PersVeh/AdditionalInterest/AdditionalInterestInfo[n
ot(NatureInterestCd = 'LIEN') and not(NatureInterestCd = 'AIL')]">

But that eliminates all nodes, not simply the first.  I tried adding in a
position() qualifier, but that ended up only checking the first node in the
whole node-set selected.

I tried
generate-id(PersAutoInsurance/PersVeh[1]/AdditionalInterest/AdditionalInteres
tInfo[NatureInterestCd = 'LIEN'][1]) as that XPATH returns the LIEN I don't
want (I had to use it in another part of the xsl), but the ID it generated
wasn't the same as the ID that was being generated when I looped over the all
the NatureInterestCd's, so I couldn't eliminate the node based on that.

I'm nearing my wits end on this problem and I was hoping that someone could
give some insight into this problem.

Dale Earnest

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.