préfixe d'espace de noms pour childelements schéma XML

Je suis actuellement en apprentissage XML et sont arrivés dans le monde merveilleux de Schéma XML utilisé avec plusieurs espaces de noms.

Ma question est quand je dois et ne pas avoir à déclarer un préfixe d'espace de noms.

Considérons l'extrait suivant de Schéma XML:

<A:schema   xmlns:A="http://www.w3.org/2001/XMLSchema" 
        targetNamespace="B" 
        xmlns:B="B" 
        elementFormDefault="qualified">

    <A:element name="foo">
        <complexType>                   <!-- or A:complexType?-->
            <element name="bar" type="B:myType"/>       <!-- or A:element?-->
        </complexType>
    </A:element>

    <B:complexType name="myType">
        <choice>                         <!--or B:choice?-->
            <element name="baz" type="string"/>      <!--or B:element?-->
            <element name="bas" type="string"/>      <!--or B:element?-->
        </choice>
    </B:complexType>

</A:schema>

Dois-je spécifier le préfixe d'espace de noms sur tous les nœuds enfants du nœud avec un préfixe d'espace de noms, ou est-ce héréditaire? Sinon est A:complexType différente de complexType quand il le nœud parent avait le préfixe d'espace de noms attaché à elle?

OriginalL'auteur Willem | 2012-10-10