Вы не можете иметь сложные типы в качестве атрибутов - только базовые типы, такие как string, int и так далее. Вы можете ограничить свои значения (например, определить максимальную длину для строки или диапазон значений для типа int), но вы НЕ МОЖЕТЕ использовать сложный тип в качестве атрибута в XSD.
Для справки, проверьте MSDN Library :
Имя встроенного типа данных или простого типа , определенного в этой схеме (или другой схеме, указанной указанным пространством имен). Тип должен быть QName. Тип может включать префикс пространства имен. Атрибут type может присутствовать только в том случае, если содержимое не содержит элемент simpleType.
Все встроенные типы данных - это простые типы (string, int и т. Д.).
Марк