ERL: an Entity-Relationship Language

ERL is an XML-based language that describes entity-relationship schemata enriched with information that is useful in reification and interface construction. It is the foundation over which ERW is built. To understand ERL, you must also understand how ERtool will reify ERL-defined entity-relationship schemata.

A Quick Tour

Before giving the reference to ERL elements, it is useful to have an informal discussion of what you can describe in ERL.

ERL documents are made of an erl element, that can contain ent elements (describing entity types) and rel elements (describing relationship types). Additionally, the enum element can be used to create static enumerative types (attributes of this type can assume a finite and fixed number of values), and the fset element can be used to create fileset types (fileset attributes associate to an entity a set of files with attributes).

Inside an ent element there are attr elements, describing attributes, and isa elements, describing supertypes. The attr element has some XML attributes[1] that let you specify the type of the attribute and whether it is mandatory (that is, whether the user must provide some input for that attribute).

Inside a rel element you can find, again, attr elements, but you will certainly find two leg elements, which specify the first and second leg of a multirelation (including the source entity, the target entity and cardinality constraints).

All elements let you insert optional text inside them; it will be added to the documentation.

Notes

[1]

Unfortunately, the word "attributes" has different meanings in the XML and entity-relationship world.