1 escape: not used 2 UrlArg: <?cs var:UrlArg ?> 3 BlahJs: <?cs var:BlahJs ?> 4 Title: <?cs var:Title ?> 5 6 <?cs escape: "none" ?> 7 escape: none 8 UrlArg: <?cs var:UrlArg ?> 9 BlahJs: <?cs var:BlahJs ?> 10 Title: <?cs var:Title ?> 11 <?cs /escape ?> 12 13 <?cs escape: "html" ?> 14 escape: html 15 UrlArg: <?cs var:UrlArg ?> 16 BlahJs: <?cs var:BlahJs ?> 17 Title: <?cs var:Title ?> 18 <?cs /escape ?> 19 20 <?cs escape: "js" ?> 21 escape: js 22 UrlArg: <?cs var:UrlArg ?> 23 BlahJs: <?cs var:BlahJs ?> 24 Title: <?cs var:Title ?> 25 <?cs /escape ?> 26 27 <?cs escape: "url" ?> 28 escape: url 29 UrlArg: <?cs var:UrlArg ?> 30 BlahJs: <?cs var:BlahJs ?> 31 Title: <?cs var:Title ?> 32 <?cs /escape ?> 33 34 <?cs escape: "html" ?> 35 Nested escaping: html 36 The internal calls should take precedence 37 <?cs escape: "url" ?>url -> UrlArg: <?cs var:UrlArg ?><?cs /escape ?> 38 <?cs escape: "js" ?>js -> BlahJs: <?cs var:BlahJs ?><?cs /escape ?> 39 <?cs escape: "html" ?>html -> Title: <?cs var:Title ?><?cs /escape ?> 40 <?cs /escape ?> 41 42 Defining the macro echo_all inside of a "html" escape. 43 <?cs escape: "html" ?><?cs def:echo_all(e) ?> 44 not used: <?cs var:e ?> 45 none: <?cs escape: "none" ?><?cs var:e ?><?cs /escape ?> 46 url: <?cs escape: "url" ?><?cs var:e ?><?cs /escape ?> 47 js: <?cs escape: "js" ?><?cs var:e ?><?cs /escape ?> 48 html: <?cs escape: "html" ?><?cs var:e ?><?cs /escape ?> 49 <?cs /def ?><?cs /escape ?> 50 51 Calling echo_all() macro: 52 <?cs call:echo_all(Title + UrlArh + BlahJs) ?> 53 54 <?cs escape: "html" ?> 55 Calling echo_all() macro from within "html": 56 <?cs call:echo_all(Title + UrlArh + BlahJs) ?> 57 <?cs /escape ?> 58 59 <?cs escape: "js" ?> 60 Calling echo_all() macro from within "js": 61 <?cs call:echo_all(Title + UrlArh + BlahJs) ?> 62 <?cs /escape ?> 63 64 <?cs escape: "url" ?> 65 Calling echo_all() macro from within "url": 66 <?cs call:echo_all(Title + UrlArh + BlahJs) ?> 67 <?cs /escape ?> 68