我在XSD中有一个公共数据模式,由两个不同的应用程序A和B使用,每个应用程序使用不同的数据。我想记录每个应用程序的不同业务规则。我可以这样做吗?
<xs:complexType name="Account">
<xs:annotation app="A">
<xs:documentation>
The Account entity must be used this way for app A
</xs:documentation>
</xs:annotation>
<xs:annotation app="B">
<xs:documentation>
The Account entity must be used this way for app B
</xs:documentation>
</xs:annotation>
<xs:complexContent>
...
答案 0 :(得分:1)
appinfo
element在annotation
元素中使用,并指定应用程序要使用的信息:
<xs:annotation>
<xs:appinfo>Any well-formed XML content here</xs:appinfo>
</xs:annotation>
由于任何XML内容都有效,您可以创建自己的特定于应用程序的元数据并将其放在appinfo
元素中。
答案 1 :(得分:1)
显然不是,因为XML Schema规范声明注释在使用时必须显示元素内容的at the beginning。但是,annotation
元素可以包含任意数量的documentation(或appinfo
)元素。您可以使用属性区分这些元素。您还可以在documentation
元素中拥有多个子级(任何类型)。
因此,编写模式的一种方法可能如下所示:
<xs:complexType name="Account">
<xs:annotation >
<xs:documentation app="A">
The Account entity must be used this way for app A
</xs:documentation>
<xs:documentation app="B">
The Account entity must be used this way for app B
</xs:documentation>
</xs:annotation>
<xs:complexContent>
...