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[not(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/AdditionalInterestInfo[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