Мне нужно сопоставить документ X с документом Y, так как они очень похожи. X имеет следующий [фрагмент] XSD:
<xsd:complexType>
<xsd:sequence>
<xsd:choice minOccurs="3" maxOccurs="unbounded">
<xsd:element maxOccurs="unbounded" ref="A" />
<xsd:element maxOccurs="unbounded" ref="B" />
<xsd:element maxOccurs="unbounded" ref="C" />
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="D"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
Y имеет те же элементы (A, B, C), но они не входят в последовательность.
Моя проблема возникает, когда я тестирую карту со следующим вводом:
<doc-X>
<A>...</A>
<B>...</B>
<C>...</C>
<D>...</D>
<C>...</C>
<D>...</D>
</doc-X>
Я получаю что-то вроде этого:
<doc-Y>
<A>...</A>
<B>...</B>
<C>...</C>
<C>...</C>
<D>...</D>
<D>...</D>
</doc-Y>
Я не понимаю, почему это происходит, поскольку я просто сопоставляю каждый элемент с соответствующей парой в другой схеме.
РЕДАКТИРОВАТЬ : я пытался присвоить свойству PreserveSequenceOrder значение "Да", но это не сработало