Как я могу проверить XML на соответствие XSD с различными типами импорта и пространствами имен? - PullRequest
0 голосов
/ 02 июня 2010

Я пытаюсь проверить несколько файлов XML, и у меня происходит ошибка из-за различных проблем с определением XSD и пространством имен ...

Это общедоступная информация, поэтому нет проблем с обменом данными: основной XSD находится на http://bioinformatics.ua.pt/euadr/euadr_types.xsd, и он импортирует другой XSD в то же место с именем common_types.xsd , я проверил их в валидаторе W3C, и они прошли.

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>

прост и хорошо сформирован! Я протестировал несколько онлайн-валидаторов и получаю следующую ошибку

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

Кто-нибудь имеет представление о том, в чем проблема? Это в объявлении пространств имен? XSD?

Заранее спасибо за помощь!

Ура!

1 Ответ

0 голосов
/ 02 июня 2010

Ваша схема определяет сложный тип с именем relationship, но не определяет элементы с именем relationship. Вы захотите добавить что-то подобное в свой первый XSD:

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