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>