До сих пор все элементы и атрибуты, добавляемые в схему, должны были появляться ровно один раз. Очевидно, что это не всегда желательно. Используя minOccurs и maxOccurs, вы можете управлять тем, должен ли компонент появляться обязательно и может ли он повторяться. В данном примере схема требует, чтобы элемент subject присутствовал, и позволяет ему появляться до пяти раз в одном элементе:
... <xsd:element name="subject" minOccurs="1" maxOccurs="5" type="xsd:string"/> ...
Иногда вам не нужен верхний предел. Например, элемент memory может быть определен как необязательный, но если он есть, он может появляться неограниченное число раз в элементе memories:
<xsd:element name="memories"> <xsd:complexType> <xsd:sequence> <xsd:element name="memory" minOccurs="0" maxOccurs="unbounded"
type="memoryType"/> </xsd:sequence> </xsd:complexType> </xsd:element>
Эта возможность становится очень полезной, когда мы имеем дело со смешанным содержимым в схеме.