1

我们使用 XML 来定义一个模型,然后我们用它来生成代码。该文件看起来像这样:

<def xmlns="http://tempuri.org/schema.xsd" xmlns:xsi="http://tempuri.org/schema.xsd">
  <ns xmlns=""  name="asd">
    <alias name="NicknameType" ref="String" />
    <alias name="SomethingType" ref="o3" />

    <obj1 name="o1">
       <element name="Nick" ref="NicknameType" />
    </obj1 >

    <obj2 name="o2">
        <action name="a1">
            <attribute name="TheObject1" ref="o1" />
        </action>
    </obj2 >

    <obj3 name="o3">
        <element name="SomeText" ref="int32" />
    </obj3 >
  </ns>
</def>

我真正想要强制执行的是,任何标签的 ref 属性都与别名标签、obj1 标签或 obj2 标签或某些预定义值(例如Stringint32 )的名称标签匹配。我已经定义了文件在 XSD 中必须具有的一般结构。我想用 XSD 实现什么?

谢谢

4

1 回答 1

2

在 XSD 1.1 中可以使用断言,但在 XSD 1.0 中则不行。

Saxon 和 Xerces 中最新版本的模式处理器都支持断言。

于 2011-01-28T21:47:06.167 回答