当前位置 : 主页 > 网页制作 > xml >

xml – ‘minOccurs’属性不能出现

来源:互联网 收集:自由互联 发布时间:2021-06-13
我正在构建我的svcutil命令行以从 OSEO schema生成业务对象. 每当它告诉我“xxx”类型丢失时,我确定我需要包含在命令行中的xsd并添加它.到目前为止,我的命令行如下所示: svcutil /language
我正在构建我的svcutil命令行以从 OSEO schema生成业务对象.

每当它告诉我“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

所以我在最新的xsd to add到了命令行smil20-language.xsd上了

我收到以下错误:

The ‘minOccurs’ attribute cannot be present

从xsd可以看出,有很多’minOccurs’.

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

它的整体错误不会给出行号,代码或任何提示.

由可以从您提供的OSEO模式链接跟踪的所有文件组成的XML模式集是有效的.遗憾的是,这些工具似乎无法处理那个文件;这使得整个过程变得繁琐,因为总共有104个文件……包含/导入非常复杂.

我将使用我可用的工具(以及与之相关的工具)描述我能够做到的工作.我将无法解释为什么xsd.exe或svcutil.exe的行为与他们的行为方式相同;当然,最有趣的可能是对它们进行逆向工程……

我已在本地计算机上导入了所有XSD文件.我用过这个工具;它保留了布局,并自动重写< xsd:include /> s /< xsd:import /> 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尝试相同的设置将不起作用;它抱怨架构无效……不幸的是,我没有时间去研究.

整个解决方案和工具特定说明在此link的zip中可用.如果您想在此主题之外聊天,只需通过网站上发布的支持地址向我发送电子邮件即可.我保持PDF非常小,专注于解释如何只测试.该zip包含下载的XSD以及生成的XSD.希望能帮助到你…

网友评论