无法生成类,因为找不到具有复杂类型的顶级元素

2023-11-23

我正在尝试使用 XSD.EXE 工具从 xsd 文件创建一个类。但由于某种原因我收到此错误。

警告:无法生成类,因为没有顶级元素 发现复杂类型。

我环视了堆栈,发现我可以在复杂类型元素上放置一个类型,但我似乎无法让我工作。这是 xsd 文件

    <?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
     targetNamespace="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader"
     xmlns="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader"
     elementFormDefault="qualified" attributeFormDefault="unqualified">

  <xs:complexType name="DocumentIdentification">
    <xs:sequence>
      <xs:element name="Standard" type="xs:string"/>
      <xs:element name="TypeVersion" type="xs:string"/>
      <xs:element name="InstanceIdentifier" type="xs:string"/>
      <xs:element name="Type" type="xs:string"/>
      <xs:element name="MultipleType" type="xs:boolean" minOccurs="0"/>
      <xs:element name="CreationDateAndTime" type="xs:dateTime"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

Thanks!


您的 XSD 仅定义了一种类型(正如 Sergio 也建议的那样)。因此,它不能用于 XML 验证,除非它是由另一个 XSD 导入的。同样,其他工具如xsd.exe将无法用它做任何明智的事情。

您可以将此与具有接口定义但没有接口实现的 C# 库进行比较。

您可以通过多种方式解决此问题。考虑到您当前的代码,我会建议一些类似的内容:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader"
    xmlns="http://www.unece.org/cefact/namespaces/StandardBusinessDocumentHeader"
    elementFormDefault="qualified" attributeFormDefault="unqualified">

    <xs:complexType name="DocumentIdentification">
        <xs:sequence>
            <xs:element name="Standard" type="xs:string" />
            <xs:element name="TypeVersion" type="xs:string" />
            <xs:element name="InstanceIdentifier" type="xs:string" />
            <xs:element name="Type" type="xs:string" />
            <xs:element name="MultipleType" type="xs:boolean" minOccurs="0" />
            <xs:element name="CreationDateAndTime" type="xs:dateTime" />
        </xs:sequence>
    </xs:complexType>

    <xs:element name="DocumentIdentification" type="DocumentIdentification" />
</xs:schema>

尽管您可以考虑重命名类型名称,以防止读者混淆。一种常见的模式是为类型名称添加后缀Type,就你而言,DocumentIdentificationType.

上面的代码可以导入xsd.exe没有任何问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法生成类,因为找不到具有复杂类型的顶级元素 的相关文章

随机推荐

  • IntelliJ:将私钥设置为环境变量不起作用(Spring boot项目)

    我有一个 Spring Boot 项目 如果我使用私钥 多行文本 它工作得很好 这意味着密钥没有问题 但是当我尝试将其设置为 intellij 中的环境变量时 它显示 原因 属性 spring cloud config server git
  • 在另一个应用程序中向我自己的 ContentProvider 请求读取权限

    在一个应用程序中 我在 AndroidManifest 中声明了以下内容提供程序
  • 理解 git Cherry-pick

    来自 svn 背景 我几乎从不分支 因为切换速度 缺乏 以及将分支合并回主干需要一个小时或更长时间 有时 如果我需要修复网站上的问题 我会在主干中进行更改 它将与以前的更改或新功能一起存在 然后转到该文件并执行 svn up path to
  • 在 Perl 正则表达式替换中使用 $1 与 \1 有什么区别?

    我正在调试一些代码 想知道 Perl 正则表达式替换中的 1 和 1 之间是否有任何实际差异 例如 my package name Some Package ButNotThis package name s w w 1 print pac
  • 如何修复错误:此服务需要项目 ID,但无法确定

    我正在尝试从 AppEngine 将数据插入 Google 数据存储区 但收到错误 java lang IllegalArgumentException A project ID is required for this service b
  • numpy fromiter 与列表生成器

    import numpy as np def gen c c np ones 5 dtype int j 0 t 10 while j lt t c 0 j yield c tolist j 1 What I did res np arra
  • 使用选择查询更新表

    所以我在这里读了一些帖子 但我似乎无法在 MySQL 上运行它 几乎我有一个带有 itemid 的记录 计数 我想根据 itemid 更新到我的 items 表中 items popularity 这是我尝试过的 Update items
  • Bash 中命令替换的变量赋值的退出代码

    我对明确执行变量赋值并使用命令替换时命令将返回什么错误代码感到困惑 a false echo 它输出1 这让我认为变量赋值不会清除最后一个错误代码或产生新的错误代码 但是当我尝试这个时 false a echo 它输出0 显然这就是a 返回
  • 有人使用 Swing 的“swingx”扩展吗? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我在这里看到了 swingx 的提及和提及 但是 每次
  • 图像缩小算法

    您能帮我找到正确的图像调整大小算法吗 我有一个数字的图像 最大尺寸为 200x200 我需要获得尺寸为 15x15 甚至更小的图像 图像是单色的 黑白 结果应该是相同的 这就是关于我的任务的信息 我已经尝试过一种算法 这里是 xscale
  • 为什么我不能在动态 SQL 的 DDL/SCL 语句中使用绑定变量?

    我正在尝试使用绑定变量在动态 SQL 中执行 SQL 命令 this procedure is a part of PL SQL package Test Pkg PROCEDURE Set Nls Calendar calendar IN
  • 在android模拟器中使用麦克风(Java + Android初学者)

    我在这里读到在 Android 模拟器中使用麦克风可能是可能的 所以我决定尝试一下 尽管答案这个问题说这是不可能的 我复制 粘贴了中提供的代码Android 开发者网站并添加了
  • Django循环导入错误

    我是 Django 新手 我刚刚在 windows vista 上为 python 2 5 安装了 v 1 3 1 使用 setup py install 当我启动 python shell 并尝试导入 django db 时 出现以下循环
  • 使用 H264 编解码器将视频保存在 opencv 中

    我在用opencv python 4 5 1 48 and python3 9码头工人 我想以 h264 格式保存视频 这是我保存视频的功能 import cv2 def save video frames fps 30 video pat
  • Scala中的类型类模式不考虑继承?

    在某些情况下 我正在使用类型类设计 API 但是我遇到了隐式解析的问题 如下所示 如果有一个类型为A的隐式对象但有一个类型为B extends A传递给该方法 则无法找到隐式对象 有没有办法做到这一点 或者调用者是否必须将隐式对象放入每个子
  • MKMapView MKCircle 渲染半径太大的圆

    我面临着 MKCircle 外观的奇怪行为 基本上我试图画一个半径为 8500 公里 任意中心的圆 这是我的代码 private func addCircle mapView removeOverlays mapView overlays
  • 我需要在Python中生成1000个唯一的名字

    我需要生成 1000 个唯一的名字并将它们存储在列表中 我正在使用 Python faker 但得到了很多重复的值 import random from random import shuffle from faker import Fak
  • 使用 Jackson 将 Java 对象序列化为 JSON 时抑制包装器对象

    我有一个以 JSON 形式返回列表的 Web 服务 它使用 Jackson 将 Java POJO 列表映射到 JSON 问题是 JSON 表示在数组周围有一个包装对象 而我只想要该数组 即 我得到这个 optionDtoList 当我真正
  • Hadoop JobConf 类已弃用,需要更新示例

    我正在编写 hadoop 程序 我真的不想使用已弃用的类 在网上的任何地方我都找不到更新的程序 org apache hadoop conf 配置 班级 代替 org apache hadoop mapred JobConf class p
  • 无法生成类,因为找不到具有复杂类型的顶级元素

    我正在尝试使用 XSD EXE 工具从 xsd 文件创建一个类 但由于某种原因我收到此错误 警告 无法生成类 因为没有顶级元素 发现复杂类型 我环视了堆栈 发现我可以在复杂类型元素上放置一个类型 但我似乎无法让我工作 这是 xsd 文件