root/juggler/branches/2.2/modules/tweek/java/beanlist.xsd

Revision 10660, 2.5 kB (checked in by patrickh, 6 years ago)

Give this an RCS Id tag so that the revision number and the Schema
version are readily available.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Tweek beanlist schema version 1.1 -->
3 <!-- $Id$ -->
4 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
5
6   <xs:element name="beanlist">
7     <xs:complexType>
8       <xs:sequence minOccurs="0" maxOccurs="unbounded">
9         <xs:choice>
10           <xs:element name="service"  type="basicBean" />
11           <xs:element name="viewer"   type="basicBean" />
12           <xs:element name="guipanel" type="guiBean" />
13           <xs:element name="generic"  type="basicBean" />
14         </xs:choice>
15       </xs:sequence>
16     </xs:complexType>
17   </xs:element>
18
19   <!-- Base type for all Beans. -->
20   <xs:complexType name="basicBean">
21     <xs:sequence>
22       <xs:element name="file"         type="beanFile" />
23       <xs:element name="dependencies" minOccurs="0" maxOccurs="1">
24         <xs:complexType>
25           <xs:sequence minOccurs="1" maxOccurs="unbounded">
26             <xs:choice>
27               <xs:element name="bean" type="xs:string" />
28               <xs:element name="jar"  type="jarFile" />
29             </xs:choice>
30           </xs:sequence>
31         </xs:complexType>
32       </xs:element>
33     </xs:sequence>
34     <xs:attribute name="name" type="xs:string" use="required" />
35   </xs:complexType>
36
37   <xs:complexType name="guiBean">
38     <xs:complexContent>
39       <xs:extension base="basicBean">
40         <xs:sequence>
41           <xs:element name="tree">
42             <xs:complexType>
43               <xs:attribute name="path" type="treePath" use="optional"
44                             default="/" />
45             </xs:complexType>
46           </xs:element>
47           <xs:element name="icon" minOccurs="0">
48             <xs:complexType>
49               <xs:attribute name="source"  type="xs:anyURI" use="required" />
50               <xs:attribute name="tooltip" type="xs:string" use="optional"
51                             default="" />
52             </xs:complexType>
53           </xs:element>
54         </xs:sequence>
55       </xs:extension>
56     </xs:complexContent>
57   </xs:complexType>
58
59   <xs:complexType name="beanFile">
60     <xs:attribute name="name"  type="xs:string" use="required" />
61     <xs:attribute name="class" type="xs:string" use="required" />
62   </xs:complexType>
63
64   <xs:complexType name="jarFile">
65     <xs:simpleContent>
66       <xs:extension base="xs:string">
67         <xs:attribute name="path" type="xs:string" use="required" />
68       </xs:extension>
69     </xs:simpleContent>
70   </xs:complexType>
71
72   <xs:simpleType name="treePath">
73     <xs:restriction base="xs:string">
74       <xs:pattern value="/(|\w[\w\s]*(/\w[\w\s]*)*)" />
75     </xs:restriction>
76   </xs:simpleType>
77 </xs:schema>
Note: See TracBrowser for help on using the browser.