Схема XSD, которая позволяет случайным порядком

StackOverflow https://stackoverflow.com/questions/3820323

  •  26-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь разработать схему XSD, которая позволяет элементам быть в случайном порядке и иметь максимум = «неограниченные».

Мой XML:

<root>
  <key></key>
  <group></group>
  <group>
     <key></key> 
     <key></key>
     <group>
        <key></key> 
        <key></key>
     </group>
  </group> 
  <key></key>
  <key></key> 
  <group>
     <key></key> 
     <key></key>
     <key></key>
  </group>
  <key></key>
</root>
Это было полезно?

Решение

Ты хочешь <xs:choice>:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:complexType name="groupType">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
         <xs:element name="group" type="groupType"/>
         <xs:element name="key"/>
      </xs:choice>
   </xs:complexType>

   <xs:element name="root" type="groupType" />
</xs:schema>

Я получил это, вставив свой образец XML в редактор Oxygen XML, а также с использованием «Tools> Generate / Convervence Schema», с входом = ваш образец XML-документа. (Это может использовать транг под крышками ... Я не уверен.) Затем я настраивал результат.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top