我正在开发一个客户端应用程序(嵌入式系统),它使用XML格式与服务器交换数据和配置。
我想在XML模式中添加一些额外的信息,关于XML数据的处理(例如处理程序或任何自定义操作),而不会对服务器端产生任何副作用。
例如,
<xs:element name="ethernet">
<xs:complexType>
<xs:sequence>
<!-- <handler>set_ethernet_address</handler> -->
<xs:element name="ip" type="ipType"/>
<xs:element name="net_mask" type="ipType"/>
<xs:element name="gateway" type="ipType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
在上面的示例中,comment表示元素 ethernet 具有处理程序 set_ethernet_address 。此信息与服务器端用户完全无关。此外,此处理程序元素不是目标XML文件的一部分。将来我计划开发一个源代码生成器,它从模式生成客户端应用程序代码。
所以我的问题是,
谢谢, Nandkishor。
答案 0 :(得分:0)
推荐的方法是使用xs:annotation元素:
<xs:element name="ethernet">
<xs:annotation>
<xs:appInfo source="http://stackoverflow.com/users/2857369/nandkishor-biradar">
<hander>set_ethernet_address</handler>
</xs:appInfo>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ip" type="ipType"/>
<xs:element name="net_mask" type="ipType"/>
<xs:element name="gateway" type="ipType"/>
</xs:sequence>
</xs:complexType>
</xs:element>