2016-11-23 1 views
1

Ich muss If/Else-Bedingung in meinem Schema xsd machen. Speziell Musterknoten. Wie kann ich es tun?XSD if-else Bedingung

<s:complexType name="parent"> 
    <s:sequence> 
     <s:element name="elem1" type="s:string"/> 
     <s:element name="elem2"> 
      <s:simpleType> 
       <s:restriction base="s:string"> 
        <s:pattern value="if (elem1 == 3) //todo 
             else //todo"/> 
       </s:restriction> 
      </s:simpleType> 
     </s:element> 
    </s:sequence> 
</s:complexType name="parent"> 

Antwort

3

Nein, Sie können nicht if innerhalb xs:pattern/@value verwenden.

Nein, Sie können kein anderes Element innerhalb von xs:pattern/@value referenzieren.

Was Sie tun können:

  • XSD 1.0: Refaktorieren XML-Design und verwendet, um die Content-Modellierung Kern Konstrukte.
  • XSD 1.1: Bedingte Typzuweisung könnte helfen.
  • XSD 1.1: Behauptungen könnten helfen.

Speziellere Führung als nur möglich ist, mit einer spezielleren Frage, die XML zeigt, die sollte und nicht gültig sein sollte, die //todo erklärt etc.

+0

Verstanden, danke –