Diagram meta-schema, defining what diagram documents may look like. The main difference between the metaschema (this) and the schema, is that the metaschema describes what's *allowed* rather than what *is*. Specific differences: 1. The metaschema exists primarily to constrain lifelines; to declare any that are predefined, to prescribe cardinality, order and whether or not ad hoc lifelines may be created by the user. 2. The metaschema doesn't constrain messages at all. This may come along later, but for now they're freetext, and can be defined between any legal pair of lifelines. 3. The metaschema doesn't have @ref attributes; its @id attributes are the target of @ref attributes in the instance schema.m Common attributes, most importantly @id, which every entity must have. Schema definition identifier. Human-readable name. Diagram metadata, including: - Unique ID, referenced by @ref attributes in instance documents. - Human-readable description, displayed on-screen. Metadata concerning a single lifeline. Whether an instance may omit this lifeline. Only takes effect where the lifelines setting is @delete=true. Metadata concerning allowed lifelines. Somewhat more strict that instance data. Whether the user may create their own lifelines. Whether declared lifelines may be deleted. See also @mandatory on lifeline. Whether lifelines may be reordered.