If an element has an identifying property, the
string representation of that property forms its identifier. If an element has
no identifying property, e.g. if it has no properties, the name of its type
forms its identifier. If an element has an identifier
generator
, the output of that generator forms the
identifier.