Certain documents, such as source code files and markup files, have a natural parent-child aspect to their organization and syntax. XML nodes, for instance, can contain other nodes. Likewise, functions and other programming language constructs such as loops and try/catch
blocks act as a container for other lines of code. Outlining is the concept of visually representing this parent-child relationship.