whine: XSD - Verpflichtendes Element

Beitrag lesen

Guten Morgen!

<symbolLeft>	
	<symbolRaster></symbolRaster>
	<symbolVector></symbolVector>
	<symbolFont></symbolFont>
	<symbolTxt></symbolTxt>
</symbolLeft>

Für o.a. XML-Struktur sollen folgenden Regeln gelten:

  1. symbolRaster ODER symbolVector ist verpflichtend, also mindestens eins von beiden muss angegeben werden (können aber auch beide)
  2. symbolFont und symbolTxt sind optional

Wie lege ich das in der XSD fest?

Mit choice? Oder muss ich die XML-Strktur ändern um die Bedingungen abzubilden?

<xs:element name="symbolLeft">
  <xs:complexType>
    <xs:choice>
      	<xs:element name="symbolRaster" type="symbolRaster"/>
      	<xs:element name="symbolVector " type="symbolVector"/>
    </xs:choice>
		<xs:element name="symbolFont " type="symbolFont" minOccurs="0"/>
		<xs:element name="symbolTxt " type="symbolTxt" minOccurs="0"/>
  </xs:complexType>
</xs:element> 

whine