Наш самокат самый самокатный!
Всё уже спи...украдено до нас.
Если заглянуть в А2, то можно увидеть, что там давным давно(по настойчивым просьбам пользователей) озаботились решением данной проблемы и там есть специальный XML формат для файлов:
<?xml version="1.0" encoding="UTF-8"?>
<?bluebottle format version="0.1" ?>
<?xml-stylesheet type="text/xsl" href="http://bluebottle.ethz.ch/bluebottle.xsl" ?>
<Text>
<Span style="Normal"><![CDATA[MODULE Test07;
VAR i:INTEGER;
..
BEGIN
i:=1000;
...
]]></Span><Span style="Assertion"><![CDATA[ASSERT (i>MAX(INTEGER)/2);]]></Span><Span style="Normal"><![CDATA[
END Test07.]]></Span>
</Text>
Лучше именно его взять за основу, чтобы не плодить лисапеты.