| <xs:element name="choose">
  <xs:complexType>
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="p:documentation"/>
        <xs:element ref="p:pipeinfo"/>
      </xs:choice>
      <xs:sequence minOccurs="0">
        <xs:element ref="p:xpath-context"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="p:documentation"/>
          <xs:element ref="p:pipeinfo"/>
        </xs:choice>
      </xs:sequence>
      <xs:sequence minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="p:variable"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element ref="p:documentation"/>
          <xs:element ref="p:pipeinfo"/>
        </xs:choice>
      </xs:sequence>
      <xs:sequence minOccurs="0">
        <xs:element ref="p:when"/>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:sequence>
            <xs:element ref="p:when"/>
          </xs:sequence>
          <xs:choice>
            <xs:element ref="p:documentation"/>
            <xs:element ref="p:pipeinfo"/>
          </xs:choice>
        </xs:choice>
      </xs:sequence>
      <xs:sequence minOccurs="0">
        <xs:element ref="p:otherwise"/>
        <xs:choice minOccurs=< |