Show TOC

BakgrundMappningsmetoder Sök detta dokument i navigeringsstruktur

 

En mappningsmetod för en Fält-nod kan vara en av följande:

  • En konstant

  • Ett referensnummer

  • En systemparameter

  • En funktion

Ett argument i en av ovanstående funktioner kan vara

  • Referensnummer

    Exempel Exempel

    %DCMark (referensnummer med ledande %)

    Slut på exempel.
  • Konstant

    Exempel Exempel

    "EUR"(sträng med citat), 100 (siffra)

    Slut på exempel.
  • Systemparameter

    Exempel Exempel

    $CompanyCurrency (systemparameter med ledande $)

    Slut på exempel.
  • Annan funktion

  • "." som aktuell nod

XSLT 1.0-funktioner
Konverteringsfunktioner

Namn

Beskrivning

boolean(arg)

Returnerar ett boolskt värde för ett nummer, en sträng eller en noduppsättning.

number(arg)

Returnerar argumentets numeriska värde, vilket kan vara en boolean, sträng eller noduppsättning.

Exempel Exempel

number("100")

Resultat: 100

Slut på exempel.

string(arg)

Returnerar argumentets strängvärde, vilket kan vara ett nummer, en boolean eller en noduppsättning.

Exempel Exempel

string(314)

Retur: "314"

Slut på exempel.
Matematiska funktioner

Namn

Beskrivning

floor(num)

Returnerar det största heltal som inte är större än nummerargumentet.

Exempel Exempel

floor(3,14)

Resultat: 3

Slut på exempel.

ceiling(num)

Returnerar det minsta heltal som är större än nummerargumentet.

Exempel Exempel

ceiling(3,14)

Resultat: 4

Slut på exempel.

round(num)

Rundar av nummerargumentet till närmaste heltal.

Exempel Exempel

round(3,14)

Resultat: 3

Slut på exempel.

add(num1, num2)

Returnerar summan av num1 och num2.

subtract(num1, num2)

Returnerar differensen mellan num1 och num2.

multiply (num1, num2)

Returnerar produkten mellan num1 och num2.

divide (num1, num2)

Returnerar kvoten mellan num1 och num2.

modulus (num1, num2)

Returnerar heltalet som delas utan rest i differensen mellan num1 och num2.

Exempel Exempel

modulus(5,2)

Resultat: 1

Slut på exempel.
Strängfunktioner

Namn

Beskrivning

concat(string, string,...)

Returnerar sammanlänknngen av strängarna.

Exempel Exempel

concat('XPath','is','FUN!')

Resultat: 'XPath is FUN!'

Slut på exempel.

contains(string1,string2)

Returnerar true om string1 innehåller string2; annars false

Exempel Exempel

contains('XML','XM')

Resultat: sant

Slut på exempel.

normalize-space(string)

Tar bort inledande och avslutande mellanslag från angiven sträng, ersätter alla interna sekvenser av mellanslag med ett enda och returnerar resultatet. Om det inte finns något strängargument, görs samma sak med aktuell nod.

Exempel Exempel

normalize-space(' The XML ')

Resultat: 'The XML'

Slut på exempel.

starts-with(string1,string2)

Returnerar true om string1 börjar med string2; annars false

Exempel Exempel

starts-with('XML','X')

Resultat: sant

Slut på exempel.

string-length(string)

Returnerar längden av den angivna strängen.

Om det inte finns något strängargument, returneras längden av strängvärdet för den aktuella noden.

Exempel Exempel

string-length('Beatles')

Resultat: 7

Slut på exempel.

substring(string,start,len)

substring(string, start)

Returnerar understrängen från startpositionen till den angivna längden.

Index för det första tecknet är 1. Om längden utelämnas, returneras understrängen från startpositionen till slutet.

Exempel Exempel

substring('Beatles',1,4)

Resultat: 'Beat'

substring('Beatles',2)

Resultat: 'eatles'

Slut på exempel.

translate(string1,string2,string3)

Konverterar string1 genom att ersätta tecknen i string2 med tecknen i string3.

Exempel Exempel

translate('12:30','30','45')

Resultat: '12:45'

translate('12:30','03','54')

Resultat: '12:45'

translate('12:30','0123','abcd')

Resultat: 'bc:da'

Slut på exempel.
Noduppsättningsfunktioner

Namn

Beskrivning

count(path)

Returnerar antalet förekomster av en nod.

sum(path)

Returnerar summan av alla förekomster av en nod.

Exempel Exempel

sum(%amount)

Resultat: den totala mängden

Slut på exempel.
Speciella Formatdefinition-funktioner

Namn

Beskrivning

node-concat(arg)

Returnerar sammanlänkningen av argumentnodens/nodernas värde(n)" i kontoutdragsfilen, enligt följande regler:

  • Värdet/värdena existerar endast inom sin närmaste överordnade segmentsnod som har mappning(ar).

  • För varje överordnat segment med flera värden i kontoutdragsfilen, sammanlänkas motsvarande värden för argumentnoden för varje värde i det överordnade segmentet.

    Exempel Exempel

    I Formatstrukturen är transaktion en segmentgrupp med ett standardsegment under sig, kallat InfoRec.

    InfoRec har ett standardfält under sig, kallat Msg.

    Inom transaktionen i kontoutdragsfilen har InfoRec tre värden. Vart och ett av dem inkluderar ett motsvarande Msg-värde.

    De tre Msg-värdena är name (namn), address (adress) respektivebank account, (bankkonto).

    Om den aktuella noden är Msg, returnerar Node-concat (.) sammanlänkningen av de tre Msg-värdena: namn, adress och bankkonto.

    Slut på exempel.

~xslt-func(...)

Vilken som helst av XSLT-funktionerna som inleds med "~" ovan används under följande villkor:

  • Argumentet/argumenten är icke-existerande nod(er)

    Exempel Exempel

    Noden för %field20 existerar inte och värdet av %field21 är "A"

    Slut på exempel.
    • ~string-length(%field20)

      Resultat: ""

      string-length(%field20)

      Resultat: funktionen körs inte

    • ~concat(%field20, " ", %field21)

      Resultat: " A"

      concat(%field20, " ", %field21)

      Resultat: funktionen körs inte

  • Argumentet/argumenten är nod(er) som förekommer mer än två gånger.

    • Används i strängfunktioner

    • Funktionen använder bara de första värdena av argumenten för att undvika multipel sammanlänkning av värden

    Exempel Exempel

    Alla värdena för %field20 och %field21 är:

    "C", "B", "A" respektive"z","y".

    ~concat(%field20,%field21)

    Resultat: "Cz"

    concat(%field20,%field21)

    Resultat: "Cz", "Cy", "Bz", "By", "Az", "Ay"

    Slut på exempel.