Question

Comment puis-je attendre « » un élément d'avoir un espace de noms à l'aide XSD? À ce stade, je reçois une erreur disant: « contenu non valide a été trouvé en commençant par l'élément 'ns: personne un des' { « : personne}. ». Devrait »

Comme vous pouvez le voir, je définir l'attribut name sur le xs:element: « personne ». Si je définis « ns: personne ». Comme le name je reçois une erreur que le nom est invalide aaarghh

Qu'est-ce que je manque ici?

est le XSD (ns.xsd):

<?xml version="1.0" encoding="ISO-8859-1" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="peoples">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="person"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>
</xs:schema>

Ceci est le XML (peoples.xml):

<?xml version="1.0" encoding="ISO-8859-1"?>
<peoples xmlns:ns="url" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ns.xsd">
<ns:person>
        <name>John</name>
</ns:person>
</peoples>
Était-ce utile?

La solution

Vous devez inclure le XSD complet pour vous aider. Mais de l'erreur que je vois et le fait que vous avez inclus « xsi: noNamespaceSchemaLocation » dans votre document d'instance XML, le problème que je vois est que vous avez défini votre schéma avec pas targetNamespace spécifié mais vous qualifiez < strong> personne élément avec un préfixe d'espace de noms. Il suffit de supprimer « ns ». À tous les endroits dans votre document d'instance et vous êtes tout bon

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top