Я использую шаблон жалюзи для разработки своей схемы XML, и для этого требуется, чтобы все типы были объявлены на глобальном уровне, а все элементы использовали типы, определенные в глобальной области видимости.
У меня такой вопрос:
Если я хочу объявить 2 элемента, которые являются простыми строками без каких-либо других ограничений, должен ли я объявить их в глобальной области видимости, а затем использовать их?Или я могу напрямую объявить простой тип внутри самого элемента?Разбиваю ли я жалюзи во втором сценарии, который я перечислю ниже?
Например, я могу сделать одно из двух:
<xsd:schema>
<xsd:simpleType name="ApplicantName">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:simpleType name="ApplicantCountry">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:element name="Application">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ApplicantName" type="ApplicantName"/>
<xsd:element name="ApplicantCountry" type="ApplicantCountry"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Или я могу использовать это.
<xsd:schema>
<xsd:element name="Application">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ApplicantName" type="xsd:string"/>
<xsd:element name="ApplicantCountry" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>