Returns a schema for a single object based on a map of rules.

If more than one element is found with a matching name, a ParseError is thrown.