transform.XMLEscape

transform.XMLEscape


Returns the given string, removing disallowed characters then escaping the result to its XML equivalent.

The transform.XMLEscape function removes [disallowed characters] as defined in the XML specification, then escapes the result by replacing the following characters with [HTML entities]:

  • " → "
  • ' → '
  • & → &
  • < → &lt;
  • > → &gt;
  • \t → &#x9;
  • \n → &#xA;
  • \r → &#xD;

For example:

{{ transform.XMLEscape "<p>abc</p>" }} → &lt;p&gt;abc&lt;/p&gt;

When using transform.XMLEscape in a template rendered by Go’s [html/template] package, declare the string to be safe HTML to avoid double escaping. For example, in an RSS template:

layouts/_default/rss.xml
<description>{{ .Summary | transform.XMLEscape | safeHTML }}</description>