XSD Key / KeyRef以及如何参考

时间:2011-01-28 19:01:18

标签: xml xsd key keyref

我们使用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-attribute都与alias-tag,obj1-tag或obj2标记的名称标记或某些预定义的值(如 String int32 。 我已经定义了文件在XSD中必须具有的一般结构。我希望用XSD实现什么目标?

由于

1 个答案:

答案 0 :(得分:2)

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

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