无法从XSD文件创建C#类

问题描述

我有一些XSD模式文件,可以在here中找到。它的底部zip文件名为CR-27-EFK-xsd。当我尝试使用Xsd2Code为ef15.xsd文件创建类时,它给了我

错误:类型'http://www.icisnet.gr/emcs/v1.03/types:DateType'不是 宣布

如果我将其作为自定义工具MsDataSetGenerator并将其运行到XSD,则会遇到相同的错误

如果我尝试从命令中运行xsd工具 xsd ef15.xsd / c给我一个错误

警告:无法验证架构。类生成可能会失败或产生错误的结果。

错误:为架构'ef15'生成类时出错。

  • Λείπειοτύποςδεδομένων(源自希腊语缺失数据类型的翻译)“ http://www.icisnet.gr/emcs/v1.03/tms:HeaderType”。

我在stackoverflow和其他站点的许多答案中发现,我必须将所有文件都包含在同一目录中,并在xsd命令中指定它们,因此我尝试了许多类似的组合

xsd ef15.xsd tms.xsd类型.xsd doc.xsd / c

xsd doc.xsd类型.xsd tms.xsd tcl.xsd ef15.xsd / c

和许多其他组合,但我总是会出错

错误:“ xsd”错误提示错误。 Γραμμή313, θέση8.(我不知道如何将其翻译成英语)

注意:在ef15.xsd中作为架构导入的所有文件都位于与ef15.xsd相同的文件夹中。 另外,所有需要的文件都在ZIP文件中。 doc.xsd,types.xsd,tml.xsd,tcl.xsd

有人可以帮我吗? xsd文件有问题吗?还是我做错了?

解决方法

xsd出现问题。我已经下载了zip文件,并尝试将ef15.xsd打开到Altova XMLspy中,但是在导入的type.xsd上却失败了。

问题出在types.xsd的这一部分

<!--==========================================================-->
    <!--===                 CarbonDioxideEmissionsType         ===-->
    <!--==========================================================-->
    <xs:simpleType name="CarbonDioxideEmissionsType">
        <xs:annotation>
            <xs:documentation>
                <doc:description value="Carbon Dioxide Emissions"/>
            </xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:token">
            <xs:maxLength value="3"/>
            <xsd:pattern value="[0-9]{1,3}|-"/>
        </xs:restriction>
    </xs:simpleType>

<xsd:pattern value="[0-9]{1,3}|-"/>未知,应更改为<xs:pattern value="[0-9]{1,3}|-"/>

此更改之后,EF15.xsd在altova中有效。