【问题标题】:basic XSD importing and xsd.exe?基本的 XSD 导入和 xsd.exe?
【发布时间】:2013-09-02 08:20:50
【问题描述】:

我有一个针对另一个包含共享类型的主 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"/>

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

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

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

  <xsd:simpleType name="TypesType">
    <xsd:restriction base ="xsd:token">
      <xsd:enumeration value="int"/>

这是主要的参考:

 <xsd:attribute name="Type" type="cs:TypesType"/>

我正在使用 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" /> 

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

The type XML_Common:TypesType is not declared or is not a simple type.

这似乎是一个导入问题,但我不知道如何解决它。

【问题讨论】:

    标签: visual-studio-2012 xsd xsd-validation xsd.exe


    【解决方案1】:

    我的错,xsd.exe 似乎无法解析架构导入。 来自this article

    现在类型已在另一个文件中定义,xsd.exe 将 如果您尝试创建创建请求,则会生成此错误 XML:C:\Solution\Project>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

    【讨论】:

      【解决方案2】:

      应该强调的是,尽管 LB40 的回答持悲观态度,但它的最后一句话产生了解决方案:在您的 xsd.exe 调用中,您必须将引用的 xsd 作为参数包含在引用 xsd 之前

      C:\Solution\Project>xsd.exe Types.xsd Request.xsd /c

      这将生成一个包含两个模式的类的单个 cs 源文件。

      【讨论】:

      • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
      猜你喜欢
      • 2021-05-20
      • 1970-01-01
      • 1970-01-01
      • 2011-05-18
      • 1970-01-01
      • 1970-01-01
      • 2019-11-05
      • 2011-01-14
      • 1970-01-01
      相关资源
      最近更新 更多