إنشاء مخطط XML لـ "أي عدد من هذه العناصر - بأي ترتيب"

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

  •  09-06-2019
  •  | 
  •  

سؤال

أحتاج إلى إنشاء مخطط XML يبدو كالتالي:

<xs:element name="wrapperElement">
<xs:complexType>
    <xs:sequence>
        <xs:element type="el1">
        <xs:element type="el2">
    </xs:sequence>

    <xs:WhatGoesHere?>
        <xs:element type="el3"> 
        <xs:element type="el4">
        <xs:element type="el5">
    </xs:WhatGoesHere?>

    <xs:sequence>
        <xs:element type="el6">
        <xs:element type="el7">
    </xs:sequence>
</xs:complexType>
</xs:element>

ما أحتاج إليه هو استبدال "WhatGoesHere" بحيث يمكن لأي عدد من el3 وel4 وel5 أن يظهر بأي ترتيب.على سبيل المثال يمكن أن يحتوي على {el3، el3، el5، el3}

أي فكرة عن كيفية حل هذا؟

هل كانت مفيدة؟

المحلول

انت تريد xs:choice مع قيود الحدوث:

<xs:element name="wrapperElement">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="e11"/>
      <xs:element name="el2"/>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="el3"/>
        <xs:element name="el4"/>
        <xs:element name="el5"/>
      </xs:choice>
      <xs:element name="el6"/>
      <xs:element name="el7"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top