The condition attribute utilizes Path Grammar or an $Object Selector to dynamically show/hide the associated node based on whether or not the Path Grammar or $Object Selector returns at least one object. The condition is always scoped to the parent node.
This ChildObjectsSubStructure node will only return the "Databases" node if the "Database" nodes contains at least one child node:
This Object node will only return the parent node if the Property named "Edition" found on the Information node is not equal to "SQL Azure" or the Information node is not present within metadata:
This Object node will only return the "UserDefinedTypes" node if the object with path "UserDefinedTypes/" exists:
Associated Optional Nodes
RecursiveChildObjects - Used to recursively create the entire metadata tree for each object that matches the selector. This child node is most often used during the creation of a Structure Map to help display the entire structure of a set of objects.