[
Lists Home |
Date Index |
Thread Index
]
Elliotte Rusty Harold wrote:
> First you need to store the *unparsed* text as a string, byte array or
> some such thing. If you've already parsed it and thrown away the
> original, it's too late.
>
> Then insert that string into your output message. All correct XML APIs
> I'm aware of will escape all the < and & signs as necessary to allow it
> top be treated as text. If you're using printf or System.out.println()
> or some such to generate your message, it's trickier. You can wrap the
> output in a CDATA section, but watch out for any embedded ]]> strings
> that may appear in the malformed input. If you see these, then you'll
> have to close the CDATA section, write ]]>, and then reopen the CDATA
> section.
The safest thing would be to keep the byte array and base64-encode it. If
the parsing error had to do with character encoding, you won't be able to
put it in the XML document as a string, and in any case, the original
encoding will be lost.
Avoid CDATA. It is a convenience for people writing XML documentation by
hand using examples with lots of special characters (like, say, XML markup),
but it serves no other useful purpose, and can often be dangerous.
All the best,
David
|