CopyHtmlEncoded Stringfunctie
Met CopyHtmlEncoded wordt tekst gekopieerd naar een string of kolom. De tekst wordt eerst 'gemerged' en het resultaat gekopieerd naar de opgegeven string of kolom. Dit is identiek aan de standaard Copy functie. Hierna worden de tekens & < > " en ' vervangen door respectievelijk: & < > " en '
Het doel van deze functie is om
Html data op te nemen in XML berichten zonder dat dit conflicteert met de XML
escape karakters.
Het resultaat na CopyHtmlEncoded kan nog steeds ongeldige XML
tekens (zoals é, î, û) bevatten, afhankelijk van de encoding van het XML bericht.
Dergelijke tekens moeten dan apart gecodeerd worden met behulp van de entity
naam (&entity;) danwel door de decimale of hexadecimale unicode waarde te
vermelden (&#nnnn; of &#xhhhh). Indien mogelijk kan ook de encoding van het XML
document aangepast waarin betreffende tekens wel mogen worden gebruikt zoals de
veelgebruikte utf8.
De functie resulteert in de waarde TRUE indien succesvol en
anders in FALSE.
CopyHtmlEncoded (ColumnOrStringName, TextData)
ColumnOrStringName (MergedString)
In ColumnOrStringName wordt de naam van een kolom of een string vermeld waar
naartoe de tekst moet worden gekopieerd in de vorm van een ColumnName of een StringVarName.
TextData (MergedString)
In TextData wordt de tekst vermeld die moet worden uitgewerkt,
gecodeerd en gekopieerd.
Voorbeeld:
{
String sXml, sHtml, sHtmlEncoded, sHtmlDecoded
Copy(sXml,<root><HtmlTag>HtmlData</HtmlTag></root>)
CopyHtmlEncoded(sHtmlEncoded,
<html> <body> <h1>Mijn eerste
koptekst</h1> <p>Mijn eerste paragraaf.</p> </body> </html>)
ReplaceString(sXml,HtmlData,[sHtmlEncoded])
XmlGetElement(HtmlTag,sXml,sHtml)
CopyHtmlDecoded(sHtmlDecoded,[sHtml])
}
[sXml]
[sHtml]
[sHtmlDecoded]
Resultaat:
<root>
<HtmlTag>
<html>
<body>
<h1>Mijn eerste koptekst</h1>
<p>Mijn eerste paragraaf.</p>
</body>
</html>
</HtmlTag>
</root>
<html>
<body>
<h1>Mijn eerste koptekst</h1>
<p>Mijn eerste paragraaf.</p>
</body>
</html>
<html>
<body>
<h1>Mijn eerste koptekst</h1>
<p>Mijn eerste paragraaf.</p>
</body>
</html>