التحقق من صحة XSD - اجعل عنصر الطفل إلزاميًا إذا كان العنصر الأصل موجودًا ، وجعل الطفل اختياريًا

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

  •  29-07-2022
  •  | 
  •  

سؤال

لدي XML يشبه:

<RawData>
                  <EmailAddress>xyz.abc@email.com</EmailAddress>
                  <PassengerName>XYZ/ABC</PassengerName>
</RawData>

و XSD المقابل مثل:

<xsd:element name="RawData" minOccurs="0" maxOccurs="1">
                    <xsd:complexType>
                        <xsd:sequence>
                        <xsd:element name="EmailAddress" minOccurs="0" maxOccurs="1">
                    </xsd:element>
                        <xsd:element name="PassengerName" minOccurs="0" maxOccurs="1"/>
</xsd:element>
                        </xsd:sequence>
                    </xsd:complexType>

أحتاج إلى جعل PassengerName إلزاميًا إذا كان RawData موجودًا ، وإلا اختياريًا.

يرجى المساعدة في اقتراحاتك.

شكرا مقدما.

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

المحلول

إذا لم يكن العنصر الأصل موجودًا ، فلن يتم التحقق من صحة ، وبالتالي فإن تعريفات المخطط لهذا العنصر ليس لها صلة. إذا كان الوالد غائبًا ، فسيكون الأطفال دائمًا غائبين ، ويسمح المخطط تلقائيًا بتغيبهم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top