生成xsd时出现问题

时间:2011-07-04 12:28:46

标签: c# xsd xsd.exe

我有一个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

2 个答案:

答案 0 :(得分:2)

您没有在任何地方使用该类型,因此不会使用它。

答案 1 :(得分:2)

您的MyPals类型未在MessageProtocol元素中使用

首先,尝试按如下方式声明Body元素:

<xs:element name="Body" type="MyVals" minOccurs="1" maxOccurs="1"/>