基本的XSD导入和xsd.exe?

LB4*_*B40 3 xsd xsd.exe xsd-validation visual-studio-2012

我有一个主要的xsd与另一个包含共享类型的xsd(它们在同一目录中).

这是主要的标题:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:tns="XMLSchema_Module.xsd"
      xmlns:cs="XML_Common"
      targetNamespace="XMLSchema_Module.xsd"
      elementFormDefault="qualified">

  <xsd:import schemaLocation="XML_Common.xsd" namespace="XML_Common"/>
Run Code Online (Sandbox Code Playgroud)

这是共享类型的标题之一:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      targetNamespace="XML_Common"
      elementFormDefault="qualified">
Run Code Online (Sandbox Code Playgroud)

这是我想在主模式的属性中使用的共享类型枚举:

  <xsd:simpleType name="TypesType">
    <xsd:restriction base ="xsd:token">
      <xsd:enumeration value="int"/>
Run Code Online (Sandbox Code Playgroud)

以下是主要参考:

 <xsd:attribute name="Type" type="cs:TypesType"/>
Run Code Online (Sandbox Code Playgroud)

我正在使用xsd.exe生成序列化类(在构建过程中作为预构建事件集成).这些xsd是使用VisualStudio构建的.

<Exec Command="&quot;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\xsd.exe&quot; XSchemas\XMLSchema_Module.xsd /c /o:SerializationClasses /n:ScenarioManager" /> 
Run Code Online (Sandbox Code Playgroud)

我正在翻译我获得的实际信息:

The type XML_Common:TypesType is not declared or is not a simple type.
Run Code Online (Sandbox Code Playgroud)

这似乎是一个进口问题,但我不知道如何解决它.

LB4*_*B40 5

我的不好,似乎xsd.exe无法解析模式导入.从这篇文章:

C:现在该类型已在其他文件中定义的,如果你尝试创建创建请求XML的XSD.EXE会产生这个错误\解决方案\项目> XSD.EXE Request.xsd/C架构验证警告:类型未声明' http://www.Example.com/Types:Meeting '.警告:无法验证架构.类生成可能会失败或可能产生不正确的结果.错误:为架构'C:\ Solution\Projects\Request'生成类时出错.

  • 缺少数据类型" http://www.Example.com/Types:Meeting ".如果您需要更多帮助,请输入"xsd /?".这是因为xsd.exe不使用schemaLocation提示来查找导入的模式.您必须将其作为参数包含在内.在您的xsd.exe调用中:C:\ Solution\Project> xsd.exe Types.xsd Request.xsd/c