Create a function that takes a list of character names and a list of corresponding remarks and returns an XML document of <Character> elements each with a name attributes and each enclosing its remarks.
All <Character> elements are to be enclosed in turn, in an outer <CharacterRemarks> element.

As an example, calling the function with the three names of:

April
Tam O'Shanter
Emily
And three remarks of:

Bubbly: I'm > Tam and <= Emily
Burns: "When chapman billies leave the street ..."
Short & shrift
Should produce the XML (but not necessarily with the indentation):

<CharacterRemarks>
    <Character name="April">Bubbly: I'm &gt; Tam and &lt;= Emily</Character>
    <Character name="Tam O'Shanter">Burns: "When chapman billies leave the street ..."</Character>
    <Character name="Emily">Short &amp; shrift</Character>
</CharacterRemarks>
The document may include an <?xml?> declaration and document type declaration, but these are optional. If attempting this task by direct string manipulation, the implementation must include code to perform entity substitution for the characters that have entities defined in the XML 1.0 specification.

Note: the example is chosen to show correct escaping of XML strings.
Note too that although the task is written to take two lists of corresponding data, a single mapping/hash/dictionary of names to remarks is also acceptable.

Note to editors: Program output with escaped characters will be viewed as the character on the page so you need to 'escape-the-escapes' to make the RC entry display what would be shown in a plain text viewer (See this).
Alternately, output can be placed in <lang xml></lang> tags without any special treatment.

100 Q$ = CHR$(34)
110 DE$(0) = "April"
120 RE$(0) = "Bubbly: I'm > Tam and <= Emily"
130 DE$(1) = "Tam O'Shanter"
140 RE$(1) = "Burns: " + Q$ + "When chapman billies leave the street ..." + Q$
150 DE$(2) = "Emily"
160 RE$(2) = "Short & shrift"
 
200 Print "<CharacterRemarks>"
210 For I = 0 to 2
220    Print "    <Character name="Q$; 
230    X$=DE$(I) : GOSUB 300xmlquote
240    PRINT Q$">"; 
250    X$=RE$(I) : GOSUB 300xmlquote
260    PRINT "</Character>"
270 Next
280 Print "</CharacterRemarks>"
290 End
 
300 For n = 1 To Len(X$)
310    c$ = Mid$(X$,n,1)
320    IF C$ = "<" THEN C$ = "&lt;"
330    IF C$ = ">" THEN C$ = "&gt;"
340    IF C$ = "&" THEN C$ = "&amp;"
350    IF C$ = Q$ THEN C$ = "&quot;"
360    IF C$ = "'" THEN C$ = "&apos;"
370    PRINT C$;
380 NEXT N
390 RETURN