0 votes

Comment puis-je valider le XML par rapport à un XSD avec des importations et des espaces de noms distincts ?

J'essaie de valider quelques fichiers XML et j'échoue en raison de divers problèmes avec la définition XSD et les espaces de noms...

Il s'agit d'une information publique, donc aucun problème pour partager les données : le XSD principal est à l'adresse suivante http://bioinformatics.ua.pt/euadr/euadr_types.xsd et il importe un autre XSD au même endroit nommé common_types.xsd Je les ai validés avec le validateur W3C, et ils ont passé.

Le XML

<?xml version="1.0"?>
<relationship xmlns="http://euadr.biosemantic.erasmusmc.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://euadr.biosemantic.erasmusmc.org/ http://bioinformatics.ua.pt/euadr/euadr_types.xsd">
  <sourceId>
    <source>SMILE</source>    
    <code>[S]1(=O)(=O)N(C(</code>
  </sourceId>
  <targetId>
    <source>UP</source>
    <code>P35354</code>
  </targetId>
  <creator>http://cgl.imim.es</creator>
  <observationDateTime>2010-05-12T19:03:40.097+02:00</observationDateTime>
  <informationSources>
    <informationSource>
      <relationshipType>BINDS</relationshipType>
      <interaction>
        <type>pIC50</type>
        <value>6.55</value>
      </interaction>
      <evidence>
        <type>OBSERVATIONAL</type>
        <value>1.0</value>
      </evidence>
      <databaseIds>
        <databaseId>
          <source>PDSP</source>
          <code>
            P35354</code>
          </databaseId>
      </databaseIds>
    </informationSource>
  </informationSources>
</relationship>

est simple et bien formé ! J'ai testé quelques validateurs en ligne, et j'obtiens l'erreur suivante

cvc-elt.1: Cannot find the declaration of element 'relationship'.

Quelqu'un a-t-il une idée de ce qu'est le problème ? Est-il dans la déclaration des espaces de noms ? Du XSD ?

Merci d'avance pour votre aide !

A la vôtre !

0voto

Welbog Points 32952

Votre schéma définit un type complexe appelé relationship mais il ne définit pas d'éléments nommés relationship . Vous voudrez ajouter quelque chose comme ceci à votre premier XSD :

<xs:element name="relationship" type="relationship" />

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X