A RichTextLinkBody is one that contains XHTML data and may be displayed on an XHTML client without requiring any encoding.
It is an unfortunate implementation detail of the Confluence XHTML backend that we actually convert all HTML received from
the editor to XML(XHTML) so while a RichTextLinkBody should actually represent HTML in actual use you can assume it to be
XML.
Developer Notes:
If we want to transition this to be correct we should do the following -
- Change the storage marshalling to store RichTextLinkBody as CDATA (HTML cannot be stored in XHTML in any other way).
- Create an upgrade task to convert any existing link bodies found to contain tags to CDATA
Once this is done the back-end is ready to properly handle HTML link bodies. However we would still be converting HTML
received from the editor to XML higher in the stack which is the reason I haven't done this yet.