A framework and domain-specific language (DSL) that helps parse and transform structured documents