XML Schema - variable number of elements

I have an XML element “val” with child elements. I’d like to be able to include any of the child elements, or leave them out, without having to write default null values each time for unneeded children… example out of the 12 available child elements i may only need 2 for a particular instance of <val>, 1 for another and 3 for another …

XML e.g.

<validation tag="applet">
  <val>
    <hasAttr>alt</hasAttr>
    <hasNodeText>yes</hasNodeText>
  </val>
[...]  
  <val>
    <hasNodeText>yes</hasNodeText>
  </val>
</validation>

but i can’t figure out how to declare elements in the schema to be able to use any combination of them in xml file… with xs:sequence, or xs:all or xs:choice (???)

can it be done?

part of the schema code is below.

<xs:element name="val" maxOccurs="unbounded">
  <xs:complexType>
    <xs:all>  <!--  ?????    -->

      <xs:element name="manualCheck" type="xs:integer" />
      <xs:element name="hasAttr" type="xs:string" />
      <xs:element name="hasNodeText" type="xs:string" />
      <xs:element name="containedIn" type="xs:string" />
      <xs:element name="hCheckFollowedBy" type="xs:string" />
      <xs:element name="relativeValue" type="xs:string" />
      <xs:element name="hasEventScript" type="xs:string" />
      <xs:element name="ifHasExtension" type="xs:string" />
      <xs:element name="raiseError" type="xs:integer" />
      <xs:element name="valDesc" type="xs:string" />
                                                            
      <xs:element name="lookForTag">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute name="position" type="xs:string" />
              <xs:attribute name="top" type="xs:string" />
              <xs:attribute name="attribute" type="xs:string" />
              <xs:attribute name="value" type="xs:string" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>

    </xs:all>
  <xs:complexType>
</xs:element>

(if the above example is not clear, here’s a simpler similar example… imagine an HTML sentence which can have <i>, <b> and <u>. Each sentence can have just one of them, none, or any combination of the 3 elements… and I need a way of how to show this in the schema!!)

thanks… I’m still an XML and XML Schema amateur!