Linq para XML Noob question - distinct e order by on attributes

Estou apenas começando a usar o Linq para XML e tenho um documento simples com registros como este:

<code><record date="6/27/2002" symbol="DG" price="15.00" />
</code>

Eu quero uma lista de símbolos distintos como seqüências de caracteres, em ordem.

Isso me dá uma lista desordenada de todos os atributos, mas estou presa

<code>var query =
  from e in xml.Elements()
  select e.Attribute("symbol");
</code>

Como isso pode ser modificado para me dar o que eu quero?

questionAnswers(2)

yourAnswerToTheQuestion