我们使用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实现什么目标?
由于
答案 0 :(得分:2)
在XSD 1.1中,可以使用断言,但不能在XSD 1.0中使用。
Saxon和Xerces中最新版本的架构处理器都支持断言。