Скажите, что я не знаю, как будет называться элемент, но я знаю, что это будут дети. Например, имена «foo» и «bar» не прописаны, а «A», «B» и «C»:
<example>
<foo>
<A>A</A>
<B>B</B>
<C>C</C>
</foo>
<bar>
<A>A</A>
<B>B</B>
<C>C</C>
</bar>
</example>
Я не могу пропустить атрибут name
, потому что это нарушение. Я ожидаю, что смогу сделать это вместо этого:
<xs:element name="example">
<xs:complexType>
<xs:sequence maxOccurs="unbounded">
<xs:any>
<xs:complexType>
<xs:sequence>
<xs:element name="A" type="xs:string"/>
<xs:element name="B" type="xs:string"/>
<xs:element name="C" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:any>
</xs:sequence>
</xs:complexType>
</xs:element>
Это также не работает, <xs:any>
может содержать только аннотации и отказывается от типа.
Что я могу сделать с пространствами имен, которые будут работать с неизвестными именами элементов? Должен ли я сдаться, а не пытаться утвердить детей и просто задокументировать, каким должно быть содержимое?