XML + Schéma + espaces de noms. Pas de correspondance mondial de la déclaration à la disposition de la validation de la racine
Quelle est la syntaxe correcte lorsque l'on se réfère au schéma lors de l'utilisation d'espaces de noms?
Problème
La création d'un document XML à l'aide d'un schéma donné.
Erreur
.xml:9.20: Element '{http://example/buildings/1.0}old_buildings': No matching global declaration available for the validation root.
oldbuildings.xml - invalid
Problem
Document XML
<?xml version="1.0" encoding="UTF-8"?>
<buildings:old_buildings xmlns:buildings="http://example/buildings/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://example/buildings/1.0 oldbuildings_schema.xsd">
<building>
<name>Name</name>
<year_built era="BC">2000</year_built>
<story>...<story>
</building>
</buildings:old_buildings>
Document XSD
<?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="http://example/buildings/1.0/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://example/buildings/1.0/"> <xs:element name="old_buildings"> <xs:complexType> <xs:sequence> <xs:element ref="bâtiment"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="bâtiment" type="buildingType"></xs:element> <xs:complexType name="buildingType"> <xs:sequence> <xs:element name="nom" type="xs:string"/> <xs:element name="year_built" type="yearType"/> <xs:element name="histoire" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="yearType"> <xs:simpleContent> <xs:extension base="xs:positiveInteger"> <xs:attribute name="ère" type="xs:string"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:schema>
OriginalL'auteur user2126173 | 2013-03-02
Vous devez vous connecter pour publier un commentaire.
Dans votre fichier xml, essayez avec
avec un /final, comme dans votre xsd déclaration :
xs:schema targetNamespace="http://example/buildings/1.0/"
parce que l'URI doit correspondre à la fois, le schéma et le fichier XML. "/" est absent dans l'un des Uri.
OriginalL'auteur Istao