Design patterns for document substructures