Music Encoding Initiative Guidelines: Hierarchical Analysis Customisation

It introduces an grammar to encode hierarchical analyses.

<label>
Labels of tree nodes (eTree inner nodes and eLeaf)

<graph>
encodes a graph, which is a collection of nodes, and arcs which connect the nodes.

@type
describes the type of graph.
"undirected"
undirected graph
"directed"
directed graph
"transitionNetwork"
a directed graph with distinguished initial and final nodes
"transducer"
a transition network with up to two labels on each arc

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

If @type is specified as "undirected", then the distinction between the @to and @from attributes of the <arc> tag is neutralized. Also, the @adj attribute, rather than the @adjFrom and @adjTo attributes, should be used to encode pointers to the ends of the arcs. If @type is specified as "directed" (or any other value which implies directionality), then the @adjFrom and @adjTo attributes should be used, instead of the @adj attribute.

@order
states the order of the graph, i.e., the number of its nodes.
@size
states the size of the graph, i.e., the number of its arcs.

One or more nodes and zero or more arcs in any order.

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

<node>
encodes a node, a possibly labeled point in a graph.
@value
provides the value of a node, which is a feature structure or other analytic element.
@type
provides a type for a node.
"initial"
initial node in a transition network
"final"
final node in a transition network
@adjTo
gives the identifiers of the nodes which are adjacent to the current node.
@adjFrom
gives the identifiers of the nodes which are adjacent from the current node.
@adj
gives the identifiers of the nodes which are both adjacent to and adjacent from the current node.

Use this attribute instead of the @adjTo and @adjFrom attributes when the graph is undirected and vice versa if the graph is directed.

This element is modelled on an element in the Text Encoding Initiative (TEI) standard.

@inDegree
gives the in degree of the node, the number of nodes which are adjacent from the given node.
@outDegree
gives the out degree of the node, the number of nodes which are adjacent to the given node.
@degree
gives the degree of the node, the number of arcs with which the node is incident.

Use this attribute instead of the @inDegree and @outDegree attributes when the graph is undirected and vice versa if the graph is directed.

Zero, one, or two children <label> elements may be present. The first occurence of <label> provides a label for the arc; the second provides a second label for the arc, and should be used if a transducer is being encoded whose actions are associated with nodes rather than with arcs.

<arc>
encodes an arc, the connection from one node to another in a graph.
@from
gives the identifier of the node which is adjacent from this arc.
@to
gives the identifier of the node which is adjacent to this arc.

The <arc> element must be used if the arcs are labeled. Otherwise, arcs can be encoded using the @adj, @adjTo and @adjFrom attributes on the <node> tags in the graph. Both <arc> tags and adjacency attributes can be used, but the resulting encoding would be highly redundant.

Zero, one, or two children <label> elements may be present. The first occurence of <label> provides a label for the arc; the second provides a second label for the arc, and should be used if a transducer is being encoded.

<eTree>
provides an alternative to tree element for representing ordered rooted tree structures - drizo.

@exclude
points to elements that are in exclusive alternation with the current element.

<eLeaf>
provides explicitly for a leaf of an embedding tree, which may also be encoded with the eTree element.

<forest>
provides for groups of rooted trees.

One or more embedding trees

<listForest>
provides for lists of forests.
@type
identifies the type of the forest group.

One or more forests representing the same object.