【问题标题】:Shared XSD's - how to use custom tools if 2 XSD's are using another types XSD共享 XSD - 如果 2 个 XSD 使用其他类型的 XSD,如何使用自定义工具
【发布时间】:2023-03-26 16:34:01
【问题描述】:

我正在使用 3 个 XSD,我想在 IDE 中为其生成代码:

  1. XSD1 是共享数据类型
  2. XSD2 + XSD3 都在使用 XSD1(当然还有扩展...)

我希望为这些类生成类,但由于共享 XSD,我无法使用通用自定义工具,因为它们会生成缺少类型或双重类型的错误(歧义)。

有没有办法做到这一点?

【问题讨论】:

    标签: c# ide xsd


    【解决方案1】:

    如果您在 Visual Studio 命令提示符下使用 xsd.exe,您只需在同一请求中包含所有架构文件。然后 xsd.exe 会解析常用类型,确保没有重复。

    xsd /c schema1.xsd schema2.xsd schema3.xsd
    

    【讨论】:

    • 这实际上与我目前在预构建操作中所做的事情完全相同,我想要实现的是使用自定义工具或类似工具在 IDE 中做同样的事情。你熟悉这样的事情吗
    • 不确定您所说的自定义工具是什么意思
    【解决方案2】:

    我假设通过 Visual Studio 中的自定义工具,您指的是通过 属性 工具窗口可访问的功能;引用上下文帮助,它的意思是“在设计时转换文件并将该转换的输出放入另一个文件的工具[...]”。

    您的问题也可能与this post 有关。

    解决您的问题,我会为您的 XML Schema 文件构建一种“垫片”;基本上,创建一个空的 XML Schema 文件,添加两个指向模式 2 和 3 的导入语句(在您的情况下 - 顶级的)并让您的自定义工具引用该文件(而不是您现在拥有的那些)。这样,自定义工具不会给您带来任何问题,因为它会将您的文件视为一个集合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-17
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多