有没有办法可以自动从XSD架构中删除所有循环组引用?
我正在尝试在OGC架构上运行svcutil.exe和xsd.exe并收到以下错误:
错误:来自的组'AnyScalar' 的targetNamespace =的 'http://www.opengis.net/swe/1.0' 定义无效:循环组 参考
架构太大,无法手动完成。
这是我正在使用的架构: http://schemas.opengis.net/sps/1.0.0/spsAll.xsd
答案 0 :(得分:1)
在http://schemas.opengis.net/sweCommon/1.0.0/simpleTypes.xsd
中可以找到AnyScalar我无法找到它的问题。整个模式集在Liquid XML Studio中验证(我不能保证它的可靠性,我没有太多使用它)。 simpleTypes模式也验证。我已经深入挖掘了这个定义,并且没有什么看起来像是对我的循环引用。
这是小组定义:
<xs:group name="AnyScalar">
<xs:annotation>
<xs:documentation>Re-usable group providing a choice of scalar data types</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:group ref="swe:AnyNumerical"/>
<xs:element ref="swe:Boolean"/>
<xs:element ref="swe:Category"/>
<xs:element ref="swe:Text"/>
</xs:choice>
</xs:group>
您可能还会发现这是一个有用的资源: http://www.botts-inc.net/SensorML_1.0.1/schemaBrowser/SensorML_AnyScalar.html#Link1BB6C530
编辑:看起来您的问题根本不在于模式: http://www.ogcnetwork.net/node/1317
只是代码生成工具无法处理它们 - 毫不奇怪,构建在GML上的模式集将测试这些实用程序的限制。