Дано:Является ли maxoccurs необходимым для сложных типов в XML?
<?xml version="1.0" encoding="utf-8"?>
<Clients xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Client>
<ClientCode>400057</ClientCode>
<Notes>
<Note>
<Text>This is a note</Text>
</Note>
</Notes>
</Client>
<Client>
<ClientCode>101134</ClientCode>
<Notes>
<Note>
<Text>This is a note too</Text>
</Note>
</Notes>
</Client>
</Clients>
И схемы XSD:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
attributeFormDefault="unqualified" elementFormDefault="qualified"
version="1.0">
<xsd:element name="Clients">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Client" maxOccurs="3">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ClientCode" type="xsd:string"/>
<xsd:element name="Notes">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Note" nillable="true">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Text"
nillable="true"
type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
ли клиент требует MaxOccurs значение для обеспечения более одного клиента в файле XML. Каждый валидатор, который я могу найти, проверяет XML с несколькими клиентами, но maxoccurs не упоминается.
Я думаю, Возможно, я неправильно сформулировал вопрос. Этот XML передает все проверки, которые я могу найти, - я не могу понять, почему. Это позволяет мне иметь несколько элементов Client и Note в документе экземпляра XML. Это позволяет это произойти БЕЗ maxOccurs = "неограниченный". Зачем? –
Итак, чтобы быть ясным, я удалил те предметы, которые вы указали, и они все еще проходят проверку. Это то, чего я не могу понять. –
@ DanielDevine вот что я объяснил в первом предложении. «Клиенты» определяются с помощью ', здесь вы не указываете какую-либо конкретную модель контента для этого тега. Таким образом, считается, что любой/любой хорошо сформированный XML действителен. Если вам необходимо ограничить содержимое «Клиентов» только элементами «Клиент», вы должны ** определить модель контента для этого элемента. Там вы сможете установить min/maxOccurs (среди прочего) –
potame