从xsd架构文件中删除循环组引用

时间:2011-01-28 17:18:34

标签: xml visual-studio wcf web-services xsd

有没有办法可以自动从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

1 个答案:

答案 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上的模式集将测试这些实用程序的限制。