You have a stream of data encoded in some format. You want to also specify information ''about'' the data (metadata) and encode that information in the data stream somehow. '''Therefore:''' define a special data element in the stream -- an "escape" -- that tells the reader to enter a mode in which it interprets embedded metadata. The format of the meta data must be defined so that the reader knows when to stop processing metadata and switch back to reading the base data format. You will need to define a special sequence of elements to represent the escape element itself in the data stream. '''Examples''' An old, old pattern. This is so widely used it's usually not even seen as a pattern. Examples include: * Escape codes used to control terminal formatting * Comments in source code * HotComments in comments in source code * Markup tags in structured text documents (XML, HTML, SGML) * TSV and CSV format uses tabs or commas to separate fields, and newlines to separate records, and then need an escape mechanism to represent field and record separators in the field data. * Escape syntax used to encode non-printing or Unicode characters in programming languages. E.g. '\n' in C. The BT patent on hyperlinks was overturned because it basically tried to patent escape sequences. ---- CategoryPattern