Ответ 1
Он позволяет компилятору узнать, следует ли указывать полученные XSD-элементы или сделать их анонимными
http://www.ibm.com/developerworks/library/xml-schema/
Элементы с атрибутами должны иметь сложный тип
Теперь попробуйте добавить валюту атрибута к простой цене элемента из листинга 7. Вы не можете. Элемент простого типа не может иметь атрибут. Если вы хотите добавить атрибут, вы должны определить цену как сложный тип. В примере в листинге 8 мы определили, что называется типом анонимный, где не задано явное имя для сложного типа. Другими словами, атрибут name элемента complexType не определен.
http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmltypeattribute.anonymoustype.aspx