About
When you find a structure in a string, there is a language.
It can be a loosely language such as:
When the string describes a computer format, the string/text is called a document
Schema
The schema is expressed generally via Regular Expressions.
For computer language, a grammar is composed of lexer/parser rule that are just Regular Expressions
But you may find parser that defines the structure manually at hand in the code for more grain control.
A regular expression is implemented as finite automata that's why when parsing any type of text (xml, json,..) with a library you are going from state to state.