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: &amp; &lt; &gt; &quot en &apos;

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>
  &lt;html&gt;
   &lt;body&gt;
    &lt;h1&gt;Mijn eerste koptekst&lt;/h1&gt;
    &lt;p&gt;Mijn eerste paragraaf.&lt;/p&gt;
   &lt;/body&gt;
  &lt;/html&gt;
 </HtmlTag>
</root>

&lt;html&gt;
 &lt;body&gt;
  &lt;h1&gt;Mijn eerste koptekst&lt;/h1&gt;
  &lt;p&gt;Mijn eerste paragraaf.&lt;/p&gt;
 &lt;/body&gt;
&lt;/html&gt;

<html>
 <body>
  <h1>Mijn eerste koptekst</h1>
  <p>Mijn eerste paragraaf.</p>
 </body>
</html>