我需要将文档 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设置为“是”,但这没有奏效