我有一个xsd文件,其中包含以下xml结构。无论我做什么,MyVals枚举器都没有生成。
<xs:simpleType name="MyVals">
<xs:restriction base="xs:string">
<xs:enumeration value="1" />
<xs:enumeration value="2" />
<xs:enumeration value="3" />
<xs:enumeration value="4"/>
</xs:restriction>
</xs:simpleType>
所有其他结构都正确填充。完整的xsd如下所示。
<?xml version="1.0"?>
<xs:schema targetNamespace="http://www.simple.com/xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="1.0"
xmlns:wepa="http://www.simple.com/xsd"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
>
<xs:element name="MessageProtocol" >
<xs:complexType >
<xs:sequence>
<xs:element name ="Header" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name ="Body" type="xs:string" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="MyVals">
<xs:restriction base="xs:string">
<xs:enumeration value="1" />
<xs:enumeration value="2" />
<xs:enumeration value="3" />
<xs:enumeration value="4"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
XSD生成命令:C:\ Progra~1 \“Microsoft SDKs”\ Windows \ v6.0A \ bin \ xsd.exe -c / enabledDataBinding -l:c#/namespace:Simple.SimpleXSD Simple.xsd
答案 0 :(得分:2)
您没有在任何地方使用该类型,因此不会使用它。
答案 1 :(得分:2)
您的MyPals类型未在MessageProtocol元素中使用
首先,尝试按如下方式声明Body元素:
<xs:element name="Body" type="MyVals" minOccurs="1" maxOccurs="1"/>