I'm trying to set up part of a schema that's like a "Sequence" where all child elements are optional, but at least one of the elements must be present, and there could be more than one of them.I tried doing the following, but XMLSpy complains that "The content model contains the elements <element name="DateConstant"> and <element name="DateConstant"> which cannot be uniquely determined.":<xs:choice><xs:sequence><xs:element name="DateConstant"/><xs:element name="TimeConstant"/></xs:sequence><xs:element name="DateConstant"/><xs:element name="TimeConstant"/></xs:choice>Can this be done (and if so, how)?Some clarification:I only want to allow one of each element of the same name. There can be one "DateConstant" and/or one "TimeConstant", but not two of either.Gizmo's answer matches my requirements, but it's impractical for a larger number of elements.Hurst's answer allows two or more elements of the same name, which I don't want.
This doesn't work. If one element is absent, while the one one is present, there won't be any error.
Just a quibble: It's not "exponentially more complex", only quadratically. But it is cumbersome. I wish there were something easier.