Xml and json have no associated semantics, so they’re further away on the spectrum from programming languages.
Markdown has semantics in line with html (when interpreted by the right toolchain, of course), but far less than html.
It’s sort of like “what the line between being alive and being dead”, there’s a lot of grey and the trick is choosing your shade.