123456789101112131415161718192021222324252627282930313233 |
- # from Nimrod's Runtime Library - xmltree
- # (c) Copyright 2012 Andreas Rumpf
- # Modifications by Erwan Ameil
- proc addEscaped*(result: var string, s: string) =
- ## same as ``result.add(escape(s))``, but more efficient.
- for c in items(s):
- case c
- of '<': result.add("<")
- of '>': result.add(">")
- of '&': result.add("&")
- of '"': result.add(""")
- of '\'': result.add("'")
- of '/': result.add("/")
- else: result.add(c)
- proc escape*(s: string): string =
- ## escapes `s` for inclusion into an XML document.
- ## Escapes these characters:
- ##
- ## ------------ -------------------
- ## char is converted to
- ## ------------ -------------------
- ## ``<`` ``<``
- ## ``>`` ``>``
- ## ``&`` ``&``
- ## ``"`` ``"``
- ## ``'`` ``'``
- ## ``/`` ``/``
- ## ------------ -------------------
- result = newStringOfCap(s.len)
- addEscaped(result, s)
-
|