ObjecTips

Swift & Objective-C で iOS とか macOS とか

Markdown のテーブルにXMLを書く

Markdown のテーブルの基本表記はこれ

|Column|Column|
|||
|Row1|Row1|
|Row2|Row2|

コードブロック ```` = <code><pre> タグを使うと枠線が表示されてしまうのでコードブロックを使わずにテーブルにXMLを入れてみる
入れるXMLはこれ

<?xml version="1.0" encoding="UTF-8"?>
<tag1>
    <tag2>
    </tag2>
</tag1>

とりあえず改行を削除して突っ込む

|Column|Column|
|||
|Row1|<?xml version="1.0" encoding="UTF-8"?><tag1><tag2></tag2></tag1>|

結果は以下
XML部分がHTML文書として解釈してしまっていて意図通り表示されていない。

Column Column
Row1 <?xml version="1.0" encoding="UTF-8"?>

解決策は以下
Row1 の方は大なり小なりとスペースを全て特殊文字に置き換えてやるという手間のかかる方法。
Row2 はタグの > を escape してタグとして認識させなくする方法。Markdown の仕様上半角スペースは特殊文字に変換してやる必要があるけど、結構手間は減る。

Column Column
Row1 <?xml version="1.0" encoding="UTF-8"?>
<tag1>
    <tag2>
    </tag2>
</tag1>
Row2 <?xml version="1.0" encoding="UTF-8"?>
<tag1>
    <tag2>
    </tag2>
</tag1>

どっちにしても手間なので無理してやらない方が良さそうという結論に、、