Как я могу проверить XML против XSD с различным импортом и пространствами имен?
-
23-10-2019 - |
Вопрос
Я пытаюсь проверить несколько файлов XML, и я терплю неудачу из -за различных проблем с определением XSD и пространствами имен ...
Это публичная информация, поэтому нет проблем с обменом: основной XSD в http://bioinformatics.ua.pt/euadr/euadr_types.xsd и он импортирует еще один XSD в том же месте, названном common_types.xsd, Я подтвердил их в W3C Validator, и они прошли.
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?
Заранее спасибо за помощь!
Ваше здоровье!
Решение
Ваша схема определяет сложный тип, называемый relationship
Но это не определяет ни одного названного элемента relationship
. Анкет Вы захотите добавить что -то подобное в свой первый XSD:
<xs:element name="relationship" type="relationship" />