project BLF > class BFcTranslation > method EndElementInternal

Description

Specific SAX-handler procedure.
This callback procedure is executed for each end tag that is encountered.

Parameters:
->icNameSpace = name space URI
->icLocalName = name of the element that triggered the event
->icQName = name of the element that triggered the event


Parameters


icNameSpaceinputcharactername space URI
icLocalNameinputcharacter
icQNameinputcharacter
ocErrorMessageoutputcharacter


Internal usage


unused


program code (program9/bfctranslation.p)

if viTransNr <> 0 
then do:
    case vcName:
        when "value":U
            then if length(vcTemp,"CHARACTER") > 255
                 then do:
                     if vlIsSync
                     then do:
                         vcTrans = vcProjectCode + "." + vcLanguageToLoad + ".resx:" + #T-33'Name':12(7164)T-33# + "=" + string(viTransNr) + " "
                                 + #T-52'Value is too long.':255(5101)T-52#.
                         <M-68 run SetMessage
                            (input  vcTrans (icMessage), 
                             input  '' (icArguments), 
                             input  '' (icFieldName), 
                             input  '' (icFieldValue), 
                             input  'F' (icType), 
                             input  5 (iiSeverity), 
                             input  '' (icRowid), 
                             input  'blf-256370':U (icFcMsgNumber), 
                             input  '' (icFcExplanation), 
                             input  '' (icFcIdentification), 
                             input  '' (icFcContext), 
                             output viFcReturnSuper (oiReturnStatus)) in BFcTranslation>
                     end.
                     assign vcTrans = substring (vcTemp,1,254,"CHARACTER") + "+"
                            vlTruncated = yes.
                 end.
                 else assign vcTrans = vcTemp.
        when "comment":U
            then do:
                if num-entries(vcTemp,"|":U) < 3
                then do:
                    <M-4 run SetMessage (input  #T-1'Incorrect comment tag ($1) found in input file ($2).':100(4794)T-1# (icMessage), 
                     input  vcTemp + chr(2)  + vcProjectCode + '.':U + vcLanguageToLoad + '.resx':U (icArguments), 
                     input  '' (icFieldName), 
                     input  '' (icFieldValue), 
                     input  'E':U (icType), 
                     input  1 (iiSeverity), 
                     input  '' (icRowid), 
                     input  'BLF-100':U (icFcMsgNumber), 
                     input  '' (icFcExplanation), 
                     input  '' (icFcIdentification), 
                     input  '' (icFcContext), 
                     output viFcReturnSuper (oiReturnStatus)) in BFcTranslation>
                    assign viParseReturnStatus = -1.
                    return.
                end.
                assign vcOriginal  = entry(1,vcTemp,"|":U)
                       viLength    = integer(entry(2,vcTemp,"|":U))
                       vcContext   = entry(3,vcTemp,"|":U).
                if num-entries(vcTemp,"|":U) > 3
                then assign vcComponent = trim(entry(4,vcTemp,"|":U)).
            end.
    end case.
end.

if icLocalname = "data":U and viTransNr <> 0
then do:
    <M-30 run ProcessTranslation  (input  vcComponent (icComponent)) in BFcTranslation>
end.

if vlInProjectList
then do :
    do viCnt = 1 to num-entries(vcTemp):
        assign vcProjectToAdd = entry(viCnt,vcTemp).
        if lookup(vcProjectToAdd,vcProjectsToLoad) = 0 and
           lookup(vcProjectToAdd,vcProjectsLoaded) = 0
        then assign vcProjectsToLoad = (if vcProjectsToLoad = "" then vcProjectToAdd
                                                                 else vcProjectsToLoad + ",":U + vcProjectToAdd).
    end.
    assign vlInProjectList = false.
end.

if vlInProjectTag 
then do:
    assign vlInProjectTag = false.
    if vcTemp <> vcProjectCode
    then do:
        assign ocErrorMessage = substitute("Mismatch in project code when loading the resource file. Loading for project (&1), project specified in resource file (&2)":U,vcProjectCode,vcTemp).
        <M-7 run SetMessage
           (input  ocErrorMessage (icMessage), 
            input  '' (icArguments), 
            input  '' (icFieldName), 
            input  '' (icFieldValue), 
            input  'D':U (icType), 
            input  3 (iiSeverity), 
            input  '' (icRowid), 
            input  'BLF-102':U (icFcMsgNumber), 
            input  '' (icFcExplanation), 
            input  '' (icFcIdentification), 
            input  '' (icFcContext), 
            output viFcReturnSuper (oiReturnStatus)) in BFcTranslation>
        assign viParseReturnStatus = -3.
        return.
    end.
end.