A SeeAlso::Identifier::Factory object is given a string (via its method create) and returns a well-defined SeeAlso::Identifier object. A factory is useful to parse a string that may be an identifier of several identifier kinds.

The factory knows a list of identifier types (subclasses of SeeAlso::Identifier); the first type that successfully parses the provided string value is used to create the identifier object. If no type works, an empty identifier of the first type is returned.