WEB开发网
开发学院软件开发Java 创建一种声明性 XML UI 语言:用 Java 语言构建一... 阅读

创建一种声明性 XML UI 语言:用 Java 语言构建一个 UI 和配套框架

 2009-10-19 00:00:00 来源:WEB开发网   
核心提示: XML 模式这个声明性 XML UI 将把 XML 元素映射到 Java Swing 框架,由于 Swing 可用于所有现有 Java 运行时环境,创建一种声明性 XML UI 语言:用 Java 语言构建一个 UI 和配套框架(3),该框架提供了极大的可移植性,许多 Swing 组件将在 XM

XML 模式

这个声明性 XML UI 将把 XML 元素映射到 Java Swing 框架,由于 Swing 可用于所有现有 Java 运行时环境,该框架提供了极大的可移植性。许多 Swing 组件将在 XML 格式中拥有相应的 XML 元素。

这个框架使用一个 XML 模式。XML 模式允许在一个模式实例中使用指定顺序、基数(cardinality)和数据类型。这一点很重要,该框架将要求一个具有指定类型和特定顺序的 XML 元素集。清单 2 展示了一个 XML 模式实例中的初始元素和属性的层次结构。

清单 2. 声明性 XML UI 模式:初始元素

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema elementFormDefault="qualified" 
 targetNamespace="http://xml.bcit.ca/PurnamaProject/2003/xui" 
 xmlns:xs="http://www.w3.org/2001/XMLSchema" 
 xmlns:xui="http://xml.bcit.ca/PurnamaProject/2003/xui"> 
 
 <xs:element name="XUI"> 
  <xs:complexType> 
   <xs:sequence> 
    <xs:element minOccurs="0" maxOccurs="128" ref="xui:Window"/> 
    <xs:element minOccurs="0" maxOccurs="1" ref="xui:Resource"/> 
   </xs:sequence> 
   <xs:attribute name="id" type="xs:anyURI" use="required"/> 
  </xs:complexType> 
 </xs:element> 
 
 <xs:element name="Resource"> 
  <xs:complexType> 
   <xs:sequence> 
   </xs:sequence> 
   <xs:attribute name="uri" type="xs:anyURI" use="required"/> 
   <xs:attribute name="class" type="xs:token" use="required"/> 
   <xs:attribute name="type" use="required"> 
    <xs:simpleType> 
     <xs:restriction base="xs:token"> 
      <xs:enumeration value="java"/> 
      <xs:enumeration value="groovy"/> 
     </xs:restriction> 
    </xs:simpleType> 
   </xs:attribute> 
  </xs:complexType> 
 </xs:element> 
 
 <xs:element name="Window"> 
  <xs:complexType> 
   <xs:sequence> 
    <xs:element ref="xui:GridLayout"/> 
    <xs:choice minOccurs="0" maxOccurs="unbounded"> 
     <xs:element ref="xui:BasicDialog"/> 
     <xs:element ref="xui:OpenFileDialog"/> 
     <xs:element ref="xui:SaveFileDialog"/> 
     <xs:element ref="xui:CustomDialog"/> 
     <xs:element ref="xui:Panel"/> 
     <xs:element ref="xui:SplitPanel"/> 
     <xs:element ref="xui:TabbedPanel"/> 
    </xs:choice> 
    <xs:element minOccurs="0" maxOccurs="1" ref="xui:MenuBar"/> 
   </xs:sequence> 
   <xs:attribute name="id" type="xs:ID" use="required"/> 
   <xs:attribute name="x" type="xs:short" use="required"/> 
   <xs:attribute name="y" type="xs:short" use="required"/> 
   <xs:attribute name="width" type="xs:unsignedShort" use="required"/> 
   <xs:attribute name="height" type="xs:unsignedShort" use="required"/> 
   <xs:attribute name="name" type="xs:string" use="required"/> 
   <xs:attribute name="visible" type="xs:boolean" use="required"/> 
  </xs:complexType> 
 </xs:element> 
 
 <xs:element name="GridLayout"> 
  <xs:complexType> 
   <xs:attribute name="width" type="xs:unsignedShort" use="required"/> 
   <xs:attribute name="height" type="xs:unsignedShort" use="required"/> 
  </xs:complexType> 
 </xs:element> 
 
</xs:schema> 

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

Tags:创建 声明 XML

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