I believe this needs to be:

<xs:choice maxOccurs="unbounded">
   <xs:element name="discovery-option" type="discovery-optionType" minOccurs="0" maxOccurs="1" />
   <xs:element name="static-discovery" type="static-discoveryType" minOccurs="0" maxOccurs="1" />
</xs:choice>

Note that each element is maxOccurs="1" (which is the default so it could be omitted). The "unbounded" on the choice means the choice can appear multiple times.

Using xs:sequence means all discovery-option children must come before the first static-discovery, but that isn't desired.

I am not an xsd guru. But the syntax above matches what my "Definitive XML Schema" book shows on p 287-288 as the way to "allow any number of children to appear in any order."