我有以下XSD部分
<xsd:complexType name="xyz">
<xsd:annotation>
<xsd:appinfo>
<Base ...../>
</xsd:appinfo>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="niem-xsd:token">
<xsd:enumeration value="Consumer">
<xsd:annotation/>
</xsd:enumeration>
<xsd:enumeration value="abc">
<xsd:annotation/>
</xsd:enumeration>
<xsd:attributeGroup ref="s:SimpleObjectAttributeGroup"/>
</xsd:restriction>
我使用org.apache.ws.commons.schema
类来构建它,一段时间后我使用javax.xml.transform.Transformer
类检索它。当我转换它时,结果是
<xsd:complexType name="xyz">
<xsd:annotation>
<xsd:appinfo>
<Base ...../>
</xsd:appinfo>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="niem-xsd:token">
<xsd:attributeGroup ref="s:SimpleObjectAttributeGroup"/>
<xsd:enumeration value="Consumer">
<xsd:annotation/>
</xsd:enumeration>
<xsd:enumeration value="abc">
<xsd:annotation/>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleContent>
枚举和attributeGroup
元素更改了位置,导致验证错误。 我可以避免转换中的这种交换吗?那里发生了什么?