WEB开发网
开发学院数据库DB2 使用 pureXML 构建通用组件库 阅读

使用 pureXML 构建通用组件库

 2010-05-31 00:00:00 来源:WEB开发网   
核心提示: 除了组件的功能、接口、实现和编目信息,本例 XML 描述中还包含组件的编码(compID)、引用(reference)及实体名称(entity),使用 pureXML 构建通用组件库(6),其具体含义如下,组件编码,进而定义了这些要素构成的 XML 文档结构,对于清单 1 的 XML 描述,是每

除了组件的功能、接口、实现和编目信息,本例 XML 描述中还包含组件的编码(compID)、引用(reference)及实体名称(entity),其具体含义如下。

组件编码,是每一个组件的身份识别,即唯一编号,可能由数字或字母等字符构成;

引用,是调用组件的直接操作名称,即 Java 类的方法名;

实体名称,组件对应的 Java 类的全局指示符,即完整的类名。在基于组件的软件开发框架或工具中,通过 Java 的反射机制创建该类的实例。

2. 组件的 XML Schema

如同传统的关系型数据可以通过约束(constraint)保证数据的有效性和完整性一样,XML 数据也可以通过一定的技术方法保证其有效性和完整性,这种方法就是通过 XML Schema 来实现的。XML Schema 定义了 XML 文档的组成元素 / 属性的名称、类型、在文档中出现的次数、顺序,进而定义了这些要素构成的 XML 文档结构。

对于清单 1 的 XML 描述,可以使用如下 XML Schema 予以约束。

清单 2. 组件的 XML Schema

 <?xml version="1.0" encoding="UTF-8"?> 
 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
 xmlns:cs="http://www.w3.org/2009/09/componentBase" 
 targetNamespace="http://www.w3.org/2009/09/componentBase" 
 elementFormDefault="qualified"> 
 
 <xs:element name="input" type="cs:InputType"/> 
 <xs:complexType name="InputType"> 
 <xs:attribute name="type" type="xs:string" use="required"/> 
 <xs:attribute name="meaning" type="xs:string" use="required"/> 
 </xs:complexType> 
  
 <xs:element name="output" type="cs:OutputType"/> 
 <xs:complexType name="OutputType"> 
 <xs:attribute name="type" type="xs:string" use="required"/> 
 <xs:attribute name="meaning" type="xs:string" use="required"/> 
 </xs:complexType> 
  
 <xs:element name="interface" type="cs:InterfaceType"/> 
 <xs:complexType name="InterfaceType"> 
 <xs:sequence> 
 <xs:element ref="cs:input" minOccurs="0" maxOccurs="unbounded"/> 
 <xs:element ref="cs:output" minOccurs="0" maxOccurs="1"/> 
 </xs:sequence> 
 </xs:complexType> 
  
 <xs:element name="implement" type="cs:ImplementType"/> 
 <xs:complexType name="ImplementType"> 
 <xs:attribute name="type" type="xs:string" use="required"/> 
 </xs:complexType> 
  
 <xs:element name="catalog" type="cs:CatalogType"/> 
 <xs:complexType name="CatalogType"> 
 <xs:sequence> 
 <xs:element name="detail" type="xs:string"/> 
 </xs:sequence> 
 <xs:attribute name="name" type="xs:string" use="required"/> 
 </xs:complexType> 
  
 <xs:element name="component" type="cs:ComponentType"/> 
 <xs:complexType name="ComponentType"> 
 <xs:sequence> 
 <xs:element name="function" type="xs:string"/> 
 <xs:element ref="cs:interface"/> 
 <xs:element ref="cs:implement"/> 
 <xs:element ref="cs:catalog"/> 
 </xs:sequence> 
 <xs:attribute name="compID" type="xs:string" use="required"/> 
 <xs:attribute name="reference" type="xs:string" use="required"/> 
 <xs:attribute name="entity" type="xs:string" use="required"/> 
 </xs:complexType> 
 
 </xs:schema> 

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:使用 pureXML 构建

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接