Возможно, вам лучше манипулировать схемой как XML-документом, а не как схемой. Например, этот код создает аннотацию для каждого определения элемента, являющегося частью последовательности в сложном типе:
const string uri = "http://www.w3.org/2001/XMLSchema";
XmlDocument d = new XmlDocument();
d.Load(path);
XmlNamespaceManager ns = new XmlNamespaceManager(d.NameTable);
ns.AddNamespace("xs", uri);
foreach (XmlElement ct in d.SelectNodes("//xs:complexType", ns))
{
foreach (XmlElement e in ct.SelectNodes("xs:sequence/xs:element", ns))
{
XmlElement a = d.CreateElement("xs", "annotation", uri);
a.InnerText = String.Format(
"Complex type: {0}; Element name: {1}",
ct.GetAttribute("name"),
e.GetAttribute("name"));
e.AppendChild(a);
}
}