Ну так это и был пример. Это действительно выглядит как вызов функции, и в результате должно будет выводиться либо в alert, либо в console.log (но это уже совсем другая задача, с обработкой распарсенного в объекты текста, и ее я вполне себе решу самостоятельно). Мне очень понравилось предложенное Вами решение, в отличие от моего - должно работать значительно шустрее (насколько я понимаю). Если каким-то таким же образом получится решить и эту задачу - будет совсем прекрасно.
Я уже не буду утомлять уточнениями (например, в итоговом массиве объектов некоторые теги типа <text> и <block> должны объединяться, исходя из их свойств. Но это я тоже попробую разобраться в вашем примере и доделать самому.
А выглядеть в исходном тексте будет как-то так:
<value name='name<">1' value="value1">
<value name='name2' value = "еще <одно> значение">
<block name="name3" property="tagret" clear>
"текст"
<левый тег парсить="не нужно">
message ('text<">text<break>text' )
<value name='name3' clear value="value3">
</block>
<text name="text1" property="target">
<format name='form1'>
text<">text<break>text< break >text
</format>
<левый тег парсить="не нужно">
<value name='inner' clear value="inner">
<text clear name="text2" property="target">
второй текстовый блок, читается до конца.
<block name="inner block" property="tagret">
text text text
<format name='form1'>
text<">text<break>text< break >text
</format>
text text text
message("text< break>text")
<value name='inner' clear value="inner">
</block>