XML-схема — xs: строка — несколько вхождений

#xml #string #xsd #xsd-validation

#xml #строка #xsd #xsd-проверка

Вопрос:

Как следует форматировать данный XML-файл для проверки на соответствие следующей схеме?

 ...
<xs:element name="myElement">
 <xs:complexType>
<xs:all>
  <xs:element minOccurs="0" maxOccurs="3" name="myStringNode" type="xs:string"/>
</xs:all>
</xs:complexType>
</xs:element>
...
 

Действительно, приведенные выше ограничения описывают, что myElement-> StringNode должен содержать строку, которая может встречаться несколько раз. Но что это значит в случае нескольких строк (3 или более)?

  • Должны ли быть вложенные строки, разделенные пробелами, запятыми … или ничем?
  • Имеет ли maxOccurs реальное значение?
  • Должен ли этот XML проверять / аннулировать схему выше?

    <myElement> <myStringNode>str1 str2 str3 str4 str5</myStringNode> </myElement>

Ответ №1:

да, это подтверждает ваш пример, потому что « str1 str2 ... » рассматривается как одна строка. Если вы хотите несколько myStringNode , вам просто нужно использовать несколько тегов, таких как :

 <myElement>
     <myStringNode> here is your string </myStringNode>
     <myStringNode> here is your other string </myStringNode>
</myElement>
 

И maxOccurs указывает количество элементов <myStringNode> , которые вы можете добавить в элемент <myElement> .