XML-схема: использование "ограничения" против простого использования "типа" в элементе

69
3

Я просматриваю XSD и ищу возможности сделать его менее подробным.

Я столкнулся с множеством таких примеров:

<xs:element name="MyElement" maxOccurs="1" minOccurs="1" nillable="false">
<xs:annotation>
<xs:documentation>Some documentation</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="MyType"/>
</xs:simpleType>
</xs:element>

Разве это не эквивалентно:

<xs:element name="MyElement" type="MyType" maxOccurs="1" minOccurs="1" nillable="false">
<xs:annotation>
<xs:documentation>Some documentation</xs:documentation>
</xs:annotation>
</xs:element>

?

Если это имеет значение, вот тип:

<xs:simpleType name="MyType">
<xs:restriction base="xs:string">
<xs:maxLength value="100"/>
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>

спросил(а) 2018-07-31T22:27:00+03:00 2 года, 2 месяца назад
1
Решение
101

Да, для всех практических целей (конечно, для целей валидации) это эквивалентно. Могут быть приложения для привязки данных, которые дали бы разные результаты в двух случаях, я бы не знал.

ответил(а) 2018-08-01T00:12:00+03:00 2 года, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема