use link attribute as identifier if id is missing
eliminate side effect of changing feed
tolerate missing attributes
tolerate failed feed parsing