Ваш первый пример кода имеет небольшую синтаксическую ошибку.Начальный тег <xs:element>
имеет косую черту /
в конце, что делает его самозакрывающимся элементом, и ваш XML будет искажен.Удаление косой черты исправляет эту ошибку.
<xs:element name="abcd" minOccurs="1" maxOccurs="1"/>
<xs:simpl...
</xs:element>
Да, обычно вы можете добавить minOccurs
и maxOccurs
, как вы уже сделали, но это не разрешено для глобальных определений элементов (что означает, что <xs:element>
является (прямым) дочерним элементом элемента <xs:schema>
).Значения по умолчанию для minOccurs
и maxOccurs
равны 1, поэтому в вашем примере кода значение останется прежним, даже если они были пропущены.
Ваш второй пример содержит ошибку.
<xs:element name="abcd" type="xs:string" length value = "4" minOccurs="1" maxOccurs="1"/>
length
не является допустимым атрибутом для элемента <xs:element>
Также рекомендация XML не допускает пробелов до или после символа равенства =
, но не все анализаторы жалуются на это.В противном случае это кажется правильным.