XMLSchema - cvc-complex-type.2.4.a: Invalid content was found starting with element

Eu estou com um problema ao especificar namespaces. Quando eu defino um namespace somente para o elemento pai, o código não gera erro. Porém, quando coloco o mesmo namespace para os elementos descendentes, aparece o erro do assunto e não sei o porquê.

Bem, o que sei é que se eu especifico um namespace para o elemento pai e não especifico para os descendentes, estes herdam o namespace do pai.

Por que gera-se o erro cvc-complex-type.2.4.a: Invalid content was found starting with element ‘fa:avós’. One of ‘{avós}’ is expected., linha 4 do XML ?

<?xml version="1.0" encoding="ISO-8859-1"?>
<fa:familia xmlns:fa = "FAMILIA-NAMESPACE" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation = "FAMILIA-NAMESPACE familia.xsd">
	<fa:avós parte = "paterno">
		<fa:filho nome = "José">
			<fa:neto sexo = "M">Sérgio</fa:neto>
			<fa:neto sexo = "M">Carlos</fa:neto>
		</fa:filho>
		<fa:filho nome = "Maria"/>
	</fa:avós>
	<fa:avós parte = "materno">
		<fa:filho nome = "Serena">
			<fa:neto sexo = "M">Sérgio</fa:neto>
			<fa:neto sexo = "M">Mário</fa:neto>
		</fa:filho>
	</fa:avós>
</fa:familia>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fa="FAMILIA-NAMESPACE" 
	targetNamespace="FAMILIA-NAMESPACE">
		
		<xs:element name = "familia" type = "fa:familia"/>
		
		<xs:complexType name = "familia">
			<xs:sequence>
				<xs:element name = "avós" type = "fa:avós" 
					minOccurs = "1" maxOccurs = "unbounded"/>
			</xs:sequence>
		</xs:complexType>
		
		<xs:complexType name = "avós_">
			<xs:sequence>
				<xs:element name = "filho" type = "fa:filho" 
					minOccurs="1" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>		
		
		<xs:complexType name = "avós">
			<xs:complexContent>
				<xs:extension base = "fa:avós_">
					<xs:attribute name = "parte">
						<xs:simpleType>
							<xs:restriction base = "xs:string">
								<xs:enumeration value = "paterno"/>
								<xs:enumeration value = "materno"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>		
		
		<xs:complexType name = "filho_">
			<xs:sequence>
				<xs:element name = "neto" type = "fa:neto" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
		
		<xs:complexType name = "filho">
			<xs:complexContent>
				<xs:extension base = "fa:filho_">
					<xs:attribute name = "nome">
						<xs:simpleType>
							<xs:restriction base = "xs:string"/>
						</xs:simpleType>
					</xs:attribute>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
		
		<xs:complexType name = "neto">
			<xs:simpleContent>
				<xs:extension base = "xs:string">
					<xs:attribute name = "sexo">
						<xs:simpleType>
							<xs:restriction base = "xs:string">
								<xs:enumeration value = "M"/>
								<xs:enumeration value = "F"/>
							</xs:restriction>
						</xs:simpleType>
					</xs:attribute>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
		
</xs:schema>