Then use XHTML.  They are real parsers for it, not our home grown one.  

HTML "specifies things in ways that are meaningless to non-human and no-browser".  This is not true.  The HTML RFC specifies every element.  Thus giving all those tags and tokens meaning.   Humans then write a parsers based on those meanings. 

And what to we have?  A YAML document whose meaning is just invented by us, and thankfully is specified.  And Critchon follows this specification to parse meaning YAML key value pairs.

In other words, there is zero difference, fundamentally, between what Crichton is doing and what XHTML does.  With one exception, XHTML is already agreed upon.