Xml ';最小值';属性不能存在

Xml ';最小值';属性不能存在,xml,xsd,svcutil.exe,Xml,Xsd,Svcutil.exe,我正在构建svcuti命令行,以便从中生成业务对象 每当它告诉我缺少“xxx”类型时,我就确定需要在命令行中包含什么xsd并添加它。到目前为止,我的命令行如下所示: svcutil /language:C# /namespace:*,OGC.OSEO.DataContract /out:IOSEO.cs oseo/1.0/oseo.wsdl oseo/1.0/oseo.xsd ows/2.0/owsAll.xsd ows/2.0/ows19115subset.xsd ows/2.0/owsAdd

我正在构建svcuti命令行,以便从中生成业务对象

每当它告诉我缺少“xxx”类型时,我就确定需要在命令行中包含什么xsd并添加它。到目前为止,我的命令行如下所示:

svcutil /language:C# /namespace:*,OGC.OSEO.DataContract /out:IOSEO.cs oseo/1.0/oseo.wsdl oseo/1.0/oseo.xsd ows/2.0/owsAll.xsd ows/2.0/ows19115subset.xsd ows/2.0/owsAdditionalParameters.xsd ows/2.0/owsCommon.xsd ows/2.0/owsContents.xsd ows/2.0/owsDataIdentification.xsd ows/2.0/owsExceptionReport.xsd ows/2.0/owsGetCapabilities.xsd ows/2.0/owsGetResourceByID.xsd ows/2.0/owsInputOutputData.xsd ows/2.0/owsManifest.xsd ows/2.0/owsOperationsMetadata.xsd ows/2.0/owsServiceIdentification.xsd ows/2.0/owsServiceProvider.xsd ows/2.0/owsDomainType.xsd http://www.w3.org/2006/03/addressing/ws-addr.xsd sweCommon/2.0/block_components.xsd sweCommon/2.0/advanced_encodings.xsd sweCommon/2.0/basic_types.xsd sweCommon/2.0/choice_components.xsd sweCommon/2.0/record_components.xsd sweCommon/2.0/simple_components.xsd sweCommon/2.0/simple_encodings.xsd sweCommon/2.0/swe.xsd xlink/1.0.0/xlinks.xsd swes/2.0/swes.xsd swes/2.0/swesCommon.xsd swes/2.0/swesContents.xsd swes/2.0/swesDeleteSensor.xsd swes/2.0/swesDescribeSensor.xsd swes/2.0/swesInsertSensor.xsd swes/2.0/swesNotification.xsd swes/2.0/swesUpdateSensorDescription.xsd gml/3.2.1/basicTypes.xsd gml/3.2.1/coordinateOperations.xsd gml/3.2.1/coordinateReferenceSystems.xsd gml/3.2.1/coordinateSystems.xsd gml/3.2.1/coverage.xsd gml/3.2.1/datums.xsd gml/3.2.1/defaultStyle.xsd gml/3.2.1/deprecatedTypes.xsd gml/3.2.1/dictionary.xsd gml/3.2.1/direction.xsd gml/3.2.1/dynamicFeature.xsd gml/3.2.1/feature.xsd gml/3.2.1/geometryAggregates.xsd gml/3.2.1/geometryBasic0d1d.xsd gml/3.2.1/geometryBasic2d.xsd gml/3.2.1/geometryComplexes.xsd gml/3.2.1/geometryPrimitives.xsd gml/3.2.1/gml.xsd gml/3.2.1/gmlBase.xsd gml/3.2.1/grids.xsd gml/3.2.1/measures.xsd gml/3.2.1/observation.xsd gml/3.2.1/referenceSystems.xsd gml/3.2.1/temporal.xsd gml/3.2.1/temporalReferenceSystems.xsd gml/3.2.1/temporalTopology.xsd gml/3.2.1/topology.xsd gml/3.2.1/units.xsd gml/3.2.1/valueObjects.xsd gmd/applicationSchema.xsd gmd/citation.xsd gmd/constraints.xsd gmd/content.xsd gmd/dataQuality.xsd gmd/distribution.xsd gmd/extent.xsd gmd/freeText.xsd gmd/gmd.xsd gmd/identification.xsd gmd/maintenance.xsd gmd/metadataApplication.xsd gmd/metadataEntity.xsd gmd/metadataExtension.xsd gmd/portrayalCatalogue.xsd gmd/referenceSystem.xsd gmd/spatialRepresentation.xsd gco/basicTypes.xsd gco/gcoBase.xsd gts/temporalObjects.xsd gss/geometry.xsd gsr/spatialReferencing.xsd smil20/smil20-animate.xsd smil20/smil20-animate.xsd smil20/smil20-language.xsd
因此,我在命令行的最后一个部分遇到了一个障碍,这是

我得到以下错误:

“minOccurs”属性不能存在

正如您从xsd中看到的,有许多“小错误”

所以我的问题是:哪些是导致这些错误的原因?我怎么知道呢?

整个错误没有给出行号、代码或任何提示


由所有可从您提供的OSEO架构链接跟踪的文件组成的XML架构集是有效的。不幸的是,这些工具似乎不能只处理这一个文件;这使得整个过程很麻烦,因为总共有104个文件。。。具有非常复杂的include/imports

我将描述我能做些什么来让它工作,使用我可用的工具(以及与我相关联的工具)。我无法解释为什么xsd.exe或svcutil.exe的行为如此;当然,最有趣的可能是对它们进行反向工程

我已经在本地机器上导入了所有XSD文件。我使用了工具;它保留布局,并自动重写s/s schemaLocation属性以保持下载的完整性

我已经对整个集合进行了重构,以获得相同的结果,但使用尽可能少的XSD文件

使用生成的文件,我运行了以下xsd.exe命令行;C#类的输出是干净的,没有错误或警告

xsd oseo.xsd gco.xsd gmd.xsd gml.xsd  gsr.xsd  gss.xsd gts.xsd ows-1-1.xsd ows-2-0.xsd swe.xsd swes.xsd ws-addr.xsd wsn.xsd xlinks.xsd xml.xsd /c
使用svcutil尝试相同的集合将不起作用;它抱怨架构无效。。。不幸的是,我没有时间调查


整个解决方案和特定于工具的说明都在这里的zip文件中。如果你想在该线程之外聊天,只需通过网站上发布的支持地址向我发送电子邮件即可。我把PDF文件放得很小,只专注于解释如何进行测试。zip包含下载的XSD以及生成的XSD。希望它能有所帮助……

尝试将相同的模式通过一个更用户友好的XSD处理器。@Michael Kay:有什么XSD处理器的建议吗?(免费软件)从提供的URL引用的XSD文件集是有效的。但是,集合中的单个文件似乎存在问题,因为它们没有在需要的地方直接引用内容。例如,gmlBase.xsd()引用了gml:remoteSchema,这是在deprecatedTypes.xsd中定义的全局属性。svcutil将很难弄清楚这一点。对您来说,最好的方法是重构整个集合(实际上您只需要15个XSD文件,而不是100+)并使用svcutil从中获取它。如果有兴趣,请告诉我,我会发布一个详细的答案。我很感兴趣……不确定你所说的重构是什么意思,但我愿意试一试。@Petru:谢谢你的评论。你推荐Oxygen XML编辑器来做这件事吗?那个工具真是太棒了!