Вопрос:
Здравствуйте, мне нужно показать массив строк в XSD. Я пробовал это, может ли кто-нибудь помочь мне написать его правильно. Благодарю.
Что он печатает
<numbers>13 32 23</numbers>
Текущий XSD
<xs:element name=»numbers» minOccurs=»0″ maxOccurs=»1″> <xs:simpleType> <xs:list itemType=»xs:string»> </xs:list> </xs:simpleType>
Мне нужно ниже.
<numbers> <number>13</number><number>32</number> </numbers> Лучший ответ:
Вы можете начать с этого:
<?xml version=»1.0″ encoding=»utf-16″?> <xs:schema attributeFormDefault=»unqualified» elementFormDefault=»qualified» xmlns:xs=»http://www.w3.org/2001/XMLSchema»> <xs:element name=»numbers»> <xs:complexType> <xs:sequence> <xs:element maxOccurs=»unbounded» name=»number» type=»xs:unsignedByte»/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
числа будут сложным типизированным элементом, принимающим только контент.
Ответ №1
Вопрос решен, поскольку ответ Петру правильный. Я просто хочу добавить некоторую дополнительную информацию, которую я нашел связанной с этой же темой о том, как определять типы массивов, необязательные и обязательные:
Примитивные типы
<xsd:element name=»A»/>
означает, что A требуется и должен появляться ровно один раз.
<xsd:element name=»A» minOccurs=»0″/>
означает, что A является необязательным и может отображаться не более одного раза.
Массивы/Списки
<xsd:element name=»A» maxOccurs=»unbounded»/>
означает, что A требуется и может повторять неограниченное количество раз
<xsd:element name=»A» minOccurs=»0″ maxOccurs=»unbounded»/>
означает, что A является необязательным и может повторяться неограниченное количество раз