Вы определили несколько типов, но вы не определили никаких элементов (кроме тех, которые определены как подкомпоненты типов, которые вы определили ). Не только <Submission>
не определен, но и <Return>
(который является его непосредственным дочерним элементом), а также любой из <NR4>
, <NR4Slip>
и т. Д.
Вам понадобится серия блоков <xsd:element>
, чтобы сопоставить определенные вами типы с реальными элементами / тегами. (Также как и объявления для <Return>
и <NS4>
, но так как они, по-видимому, появляются только в <Submission>
, вы можете просто объявить их в строке как часть объявления <Submission>
.)
Здесь показано объявление для <Submission>
, которое использует ваши существующие типы, но объявляет другие элементы в строке. Это полностью непроверенный, набравший голову, напечатанный на общедоступном Wi-Fi во время отпуска без моей копии «XML-схемы» ORA:
<xsd:element name="Submission" nillable="false">
<xsd:complexType>
<xsd:sequence maxOccurs="1" minOccurs="1">
<xsd:element name="Return">
<xsd:complexType>
<xsd:sequence maxOccurs="1" minOccurs="1">
<xsd:element name="NS4">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="NR4Slip" type="NR4SlipType" />
<xsd:element name="NR4Summary" type="NR4SummaryType" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Это не накладывает никаких ограничений на количество <NR4Slip>
или <NR4Summary>
блоков, которые вы можете иметь; Вы можете установить это с помощью атрибутов minOccurs
и / или maxOccurs
для самых внутренних тегов <xsd:element>
. Встроенные объявления также обходят фактическое отображение NR4SlipType
или NR4SummaryType
на элементы.