Goede XML genereren via Lotusscript is vaak niet eenvoudig. Dit komt onder andere door de high ASCII tekens, zoals accenten, trema's enzovoorts. Met de escape-functie kunt u ervoor zorgen dat deze tekens worden omgezet naar een formaat waar XML wel goed mee om kan gaan.
ASCII is een afkorting van American Standard Code for Information Interchange en is een standaard om een aantal letters, cijfers, leestekens en andere symbolen te representeren en aan elk teken in die reeks een geheel getal te koppelen, waarmee dat teken kan worden aangeduid. De ASCII-tabel bestaat uit 256 tekens waarvan de eerste helft (de tekens 0 tot en met 127) de zogenaamde 'low' ASCII-tekens worden genoemd en de tweede helft (de tekens 128 tot en met 255) de zogenaamde 'high' of 'extended' ASCII-tekens. Hieronder vallen de diacritische tekens: accenten, trema's, et cetera.
Als u bijvoorbeeld gewoon een 'é' zou opnemen in de XML dan zal de XML die u maakt niet valide zijn, en kan dus ook niet worden gebruikt. Om dit te verhelpen moeten dit soort karakters worden omgezet naar hun ASCII equivalent. Daarmee kan de XML wel goed omgaan.
Onderstaande functie 'escaped' die tekens waardoor er een valide XML wordt gemaakt.
Function getSafeXML( strInput ) As String
Dim iCount As Long
Dim code As Integer
Dim strOut As String
For iCount = 1 To Len( strInput )
code = Asc(Mid$( strInput,iCount,1))
If ( (code < 65) And (code <> 32)) Or ((code > 90 ) And (code<97)) Or (code > 123) Then
strOut = strOut & "&#" & Asc(Mid$( strInput,iCount,1)) & ";"
Else
strOut = strOut & Mid$( strInput,iCount,1)
End If
Next
getSafeXML = strOut
End Function |