下面是XML.I尝试了在线转换,但没有得到正确的。 对于密钥“地址”,所有字段都生成完美但其他三个字段甚至不生成条目。
<map>
<entry key="address" id="1345365ugj57656">
<addressline1>addressline1</addressline1>
<addressline2>addressline2</addressline2>
</entry>
<entry key="userCode">1400004811</entry>
<entry key="coupons"/>
<entry key="assistagent">
<null/>
</entry>
</map>
获得以下生成的XSD。
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="map">
<xs:complexType>
<xs:sequence>
<xs:element name="entry" maxOccurs="unbounded" minOccurs="0">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element type="xs:string" name="addressline1" minOccurs="0"/>
<xs:element type="xs:string" name="addressline2" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="key" use="optional"/>
<xs:attribute type="xs:string" name="id" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
请告知如何实现这一目标。
答案 0 :(得分:0)
你正在努力实现不应该以这种方式完成的事情。基本上,您正在以不同的方式强制设置为同一命名空间(空白)中使用的相同元素(键)。要么为每个“键”使用不同的命名空间,要么使用所有可能类型的键的编译,并将每个元素标记为可选或执行某些继承,例如。 xsi的键:输入“xxx”和xsi的其他键:输入“yyy” - 这可能是你想要的方式......