Ich habe eine Situation, in der ich ein oder mehrere Fonds innerhalb eines Policy-Datensatzes durchlaufen muss, die mit dem Code TVFIR1 suchen und den Zinssatz dieses Datensatzes verwenden. Dies ist eine super vereinfachte Version des XML-Datensatz:Ausbrechen einer Schleife in XSL
<Policy>
<PolicyNumber>123456789</PolicyNumber>
<PolicyOwner>John Doe</PolicyOwner>
<Fund>
<FundCode>TVSPM3</FundCode>
<InterestRate>0</InterestRate>
</Fund>
<Fund>
<FundCode>TVFIR1</FundCode>
<InterestRate>0.025</InterestRate>
</Fund>
<Fund>
<FundCode>TVMDP5</FundCode>
<InterestRate>0</InterestRate>
</Fund>
</Policy>
Dies ist, was ich in Pseudo-Code zu erreichen, bin mit dem Ziel:
For each fund
If the fund code = ‘TVFIR1 Then
Get its interest rate
Break out of the loop
Else
Interest rate = 0
End If
Weiter Fonds Rekord
Die Logik Ich mag würde verwenden, wird in XSL nicht unterstützt, weil Sie nicht aus einer for-each-Schleife ausbrechen können (es handelt sich nicht um eine prozedurale Sprache!).
Das ist kein gültiger XPath-Ausdruck. –
Ich denke, dass Sie auf den Ausdruck XPath 2.0 zielen '(/ Policy/Fund [FundCode = 'TVFIR1'] [1]/InterestRate, 0) [1]' –
Ich würde @MichaelKay immer vertrauen ... Ich lief Dieser Xpath in Oxygen (2.0) hat keinen Fehler bekommen und den FundCode auf verschiedene Werte geändert und es schien zu funktionieren. –