Subversion Repositories bacoAlunos

Rev

Rev 1306 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1067 jmachado 1
<?xml version="1.0" encoding="UTF-8"?>
2
<!-- edited with XMLSpy v2008 rel. 2 sp2 (http://www.altova.com) by Jorge Machado (Escola Superior de tecnologia e Gestao, Portalegre) -->
3
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.estgp.pt/baco/directory/" targetNamespace="http://www.estgp.pt/baco/directory/" elementFormDefault="qualified" attributeFormDefault="unqualified">
4
        <xs:element name="directory">
5
                <xs:annotation>
6
                        <xs:documentation>This schema is to define information structured directories</xs:documentation>
7
                </xs:annotation>
8
                <xs:complexType>
9
                        <xs:sequence>
10
                                <xs:element name="groupsDeclaration" type="groupDeclarationT" minOccurs="0"/>
11
                                <xs:choice maxOccurs="unbounded">
12
                                        <xs:element name="node" type="nodeT"/>
13
                                        <xs:element name="leaf" type="leafT"/>
14
                                </xs:choice>
15
                                <xs:element name="rights" type="rightsT" minOccurs="0"/>
16
                        </xs:sequence>
17
                        <xs:attribute name="id" type="xs:ID" use="required"/>
18
                        <xs:attribute name="label" use="required"/>
19
            <xs:attribute name="label_en" use="optional"/>
20
            <xs:attribute name="label_es" use="optional"/>
21
                        <xs:attribute name="place" use="required"/>
22
                        <xs:attribute name="style" use="required"/>
23
                        <xs:attribute name="layout" use="required"/>
24
                        <xs:attribute name="layoutRoot" use="required"/>
25
                        <xs:attribute name="targetRole" use="required"/>
26
                        <xs:attribute name="menuKey" use="required"/>
27
                </xs:complexType>
28
        </xs:element>
29
        <xs:complexType name="nodeT">
30
                <xs:annotation>
31
                        <xs:documentation>A node is a directory internal object, it has a label and an identifier and can have children nodes and/or leafs</xs:documentation>
32
                </xs:annotation>
33
                <xs:sequence>
34
                        <xs:element name="groupsDeclaration" type="groupDeclarationT" minOccurs="0"/>
35
                        <xs:choice maxOccurs="unbounded">
36
                                <xs:element name="node" type="nodeT"/>
37
                                <xs:element name="leaf" type="leafT"/>
38
                        </xs:choice>
39
                        <xs:element name="rights" type="rightsT" minOccurs="0"/>
40
                </xs:sequence>
41
        <xs:attribute name="label" use="required"/>
42
                <xs:attribute name="label_en" use="optional"/>
43
        <xs:attribute name="label_es" use="optional"/>
44
                <xs:attribute name="group" use="optional">
45
                        <xs:annotation>
46
                                <xs:documentation>Grouping purposes in styling</xs:documentation>
47
                        </xs:annotation>
48
                </xs:attribute>
49
                <xs:attribute name="showNav" type="xs:boolean" use="optional">
50
                        <xs:annotation>
51
                                <xs:documentation>Show link to this node in navigation menus, true by default</xs:documentation>
52
                        </xs:annotation>
53
                </xs:attribute>
54
                <xs:attribute name="type" use="optional">
55
                        <xs:annotation>
56
                                <xs:documentation>Type of node, by default HTTP link</xs:documentation>
57
                        </xs:annotation>
58
                        <xs:simpleType>
59
                                <xs:restriction base="xs:string">
60
                                        <xs:enumeration value="ftp"/>
61
                                        <xs:enumeration value="http"/>
62
                                </xs:restriction>
63
                        </xs:simpleType>
64
                </xs:attribute>
65
                <xs:attribute name="id" type="xs:ID" use="required"/>
66
        </xs:complexType>
67
        <xs:complexType name="leafT">
68
                <xs:annotation>
69
                        <xs:documentation>A leaf is an URL for an external or internal WEB site</xs:documentation>
70
                </xs:annotation>
71
                <xs:sequence>
72
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
73
                                <xs:annotation>
74
                                        <xs:documentation>A leaf can be a root of some diferent system like FTP server Directory</xs:documentation>
75
                                </xs:annotation>
76
                                <xs:element name="node" type="nodeT"/>
77
                                <xs:element name="leaf" type="leafT"/>
78
                        </xs:choice>
79
                        <xs:element name="rights" type="rightsT" minOccurs="0"/>
80
                </xs:sequence>
81
                <xs:attribute name="url" type="xs:string" use="required"/>
82
                <xs:attribute name="id" type="xs:ID" use="required"/>
83
                <xs:attribute name="label" use="required"/>
84
        <xs:attribute name="label_en" use="optional"/>
85
        <xs:attribute name="label_es" use="optional"/>
86
                <xs:attribute name="xml" type="xs:boolean" use="optional">
87
                        <xs:annotation>
88
                                <xs:documentation>False by default</xs:documentation>
89
                        </xs:annotation>
90
                </xs:attribute>
91
                <xs:attribute name="layout" type="xs:boolean">
92
                        <xs:annotation>
93
                                <xs:documentation>True by default, define if a source is to be included in layout or opened in all window</xs:documentation>
94
                        </xs:annotation>
95
                </xs:attribute>
96
                <xs:attribute name="style" type="xs:boolean">
97
                        <xs:annotation>
98
                                <xs:documentation>True by default, define if a source is to be styled by the XSLT.
99
                                When style=false and layout=false external file will be directly writed in TopWindow</xs:documentation>
100
                        </xs:annotation>
101
                </xs:attribute>
102
                <xs:attribute name="absolute" type="xs:boolean" use="required">
103
                        <xs:annotation>
104
                                <xs:documentation>follow parameter will be evaluated only If this parameter is set to false</xs:documentation>
105
                        </xs:annotation>
106
                </xs:attribute>
107
                <xs:attribute name="proxy" type="xs:string" use="optional">
108
                        <xs:annotation>
109
                                <xs:documentation>Only consider a proxy if it is here defined</xs:documentation>
110
                        </xs:annotation>
111
                </xs:attribute>
112
                <xs:attribute name="group" use="optional">
113
                        <xs:annotation>
114
                                <xs:documentation>Grouping purposes in styling</xs:documentation>
115
                        </xs:annotation>
116
                </xs:attribute>
117
                <xs:attribute name="remoteExtensionRoot" type="xs:boolean" use="optional"/>
118
                <!--
119
                                The next attributes are filled by system BACO when remoteExtensionPoint is reached
120
                -->
121
                <xs:attribute name="ftpDirectory" type="xs:boolean"/>
122
                <xs:attribute name="size" use="optional">
123
                        <xs:annotation>
124
                                <xs:documentation>Size of content in Kb</xs:documentation>
125
                        </xs:annotation>
126
                </xs:attribute>
127
                <xs:attribute name="mimeType" use="optional">
128
                        <xs:annotation>
129
                                <xs:documentation>Mime Type of content in Kb</xs:documentation>
130
                        </xs:annotation>
131
                </xs:attribute>
132
                <xs:attribute name="lastModification" use="optional">
133
                        <xs:annotation>
134
                                <xs:documentation>Last Modification of content in Kb</xs:documentation>
135
                        </xs:annotation>
136
                </xs:attribute>
137
                <xs:attribute name="visualization" use="optional">
138
                        <xs:annotation>
139
                                <xs:documentation>Type of node, by default HTTP link</xs:documentation>
140
                        </xs:annotation>
141
                        <xs:simpleType>
142
                                <xs:restriction base="xs:string">
143
                                        <xs:enumeration value="filesystem"/>
144
                                        <xs:enumeration value="normal"/>
145
                                </xs:restriction>
146
                        </xs:simpleType>
147
                </xs:attribute>
148
 
149
        </xs:complexType>
150
        <xs:complexType name="groupDeclarationT">
151
                <xs:sequence>
152
                        <xs:element name="group" maxOccurs="unbounded"/>
153
                </xs:sequence>
154
        </xs:complexType>
155
        <xs:complexType name="rightsT">
156
                <xs:annotation>
157
                        <xs:documentation>Rights define who is authorized to enter in a node</xs:documentation>
158
                </xs:annotation>
159
                <xs:sequence>
160
                        <xs:choice maxOccurs="unbounded">
161
                                <xs:element name="role" type="rightT1"/>
162
                                <xs:element name="user" type="rightT1"/>
163
                        </xs:choice>
164
                        <xs:element name="internal" type="xs:boolean" minOccurs="0"/>
165
                </xs:sequence>
166
        </xs:complexType>
167
        <xs:complexType name="rightT1" mixed="true">
168
                <xs:annotation>
169
                        <xs:documentation>A right T1 can be to permit or restrict</xs:documentation>
170
                </xs:annotation>
171
                <xs:attribute name="type" use="required">
172
                        <xs:simpleType>
173
                                <xs:restriction base="xs:string">
174
                                        <xs:enumeration value="permit"/>
175
                                        <xs:enumeration value="restrict"/>
176
                                </xs:restriction>
177
                        </xs:simpleType>
178
                </xs:attribute>
179
        </xs:complexType>
180
</xs:schema>