The attribute gml:id supports provision of a handle for the XML element representing a GML Object. Its use is mandatory for all GML objects. It is of XML type ID, so is constrained to be unique in the XML document within which it occurs.
Source
<element name="AbstractTimeObject" type="gml:AbstractTimeObjectType" abstract="true" substitutionGroup="gml:AbstractGML"><annotation><documentation>gml:AbstractTimeObject acts as the head of a substitution group for all temporal primitives and complexes.</documentation></annotation></element>