Я пытаюсь определить файл .xsd, который будет ограничивать XML-документ, содержащий определенную информацию. Это .xsd.Как мне потребовать, чтобы XML-документ содержал один и единственный экземпляр элемента?
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/MicroscopyExperiment"
xmlns:tns="http://www.example.org/MicroscopyExperiment">
<element name="MicroscopyExperiment">
<complexType>
<sequence>
<element name="goal" type="string" minOccurs="1" maxOccurs="1"/>
<element name="cellType" type="string"/>
<element name="cellDensity" type="string"/>
<element name="injury" type="string"/>
<element name="drug" type="string"/>
<element name="media" type="string"/>
<element name="timing" type="string"/>
<element name="coating" type="string"/>
<element name="plateList">
<complexType>
<sequence>
<element name="plate"
type="tns:plateType"
maxOccurs="unbounded"
minOccurs="1"/>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
</element>
<complexType name="plateType">
<sequence>
<element name="goalDiff" type="string"/>
<element name="cellTypeDiff" type="string"/>
<element name="cellDensityDiff" type="string"/>
<element name="injuryDiff" type="string"/>
<element name="drugDiff" type="string"/>
<element name="mediaDiff" type="string"/>
<element name="timingDiff" type="string"/>
<element name="coatingDiff" type="string"/>
</sequence>
</complexType>
</schema>
Этот .xsd-файл проверяет штраф в выпуске Eclipse Neon.1a (4.6.1).
Затем я создал первый XML-файл для проверки этой схемы. Это файл .xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<MicroscopyExperiment
xmlns:tns="http://www.example.org/MicroscopyExperiment"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.org/MicroscopyExperiment MicroscopyExperiment.xsd">
</MicroscopyExperiment>
Это также хорошо подходит для Eclipse. Я не получаю никаких сообщений об ошибках о том, что вы не можете найти файл .xsd, который весь день сводил меня с ума. Проблема в том, что .xml не должен проверяться. Я установил как minOccurs, так и maxOccurs для элемента цели 1, чтобы потребовать, чтобы он выполнялся один раз и только один раз. Однако в файле .xml нет цели, поэтому она не должна проверяться.
Любые советы были бы высоко оценены.
С уважением,
Dessie
Можете ли вы добавить образец XML-файла? –