1+ <?xml version =" 1.0" ?>
2+ <xs : schema xmlns : xs =" http://www.w3.org/2001/XMLSchema"
3+ targetNamespace =" http://www.dist.com.cn"
4+ xmlns =" http://www.dist.com.cn"
5+ xmlns : dist =" http://www.dist.com.cn"
6+ elementFormDefault =" qualified" >
7+
8+ <xs : element name =" procedures" >
9+ <xs : complexType >
10+ <xs : sequence >
11+ <xs : element name =" datasource" minOccurs =" 0" maxOccurs =" 1" >
12+ <xs : complexType >
13+ <xs : all >
14+ <xs : element name =" driver" type =" DistString" />
15+ <xs : element name =" url" type =" DistString" />
16+ <xs : element name =" username" type =" DistString" />
17+ <xs : element name =" password" type =" DistString" />
18+ </xs : all >
19+ <xs : attribute name =" src" type =" DistString" use =" optional" />
20+ </xs : complexType >
21+ </xs : element >
22+ <xs : element name =" procedure" type =" procedure" minOccurs =" 0" maxOccurs =" unbounded" />
23+ </xs : sequence >
24+ </xs : complexType >
25+ <xs : unique name =" UNIQUEID" >
26+ <xs : selector xpath =" dist:procedure" />
27+ <xs : field xpath =" @id" />
28+ </xs : unique >
29+ </xs : element >
30+
31+ <xs : complexType name =" procedure" >
32+ <xs : all >
33+ <xs : element name =" desc" type =" DistString" minOccurs =" 0" />
34+ <xs : element name =" proName" type =" DistString" />
35+ <xs : element name =" executeClass" type =" DistString" minOccurs =" 0" />
36+ <xs : element name =" executeMethod" type =" DistString" minOccurs =" 0" />
37+ <xs : element name =" parameters" type =" parameters" />
38+ </xs : all >
39+ <xs : attribute name =" id" use =" required" type =" DistString" />
40+ </xs : complexType >
41+
42+ <xs : complexType name =" parameters" >
43+ <xs : sequence >
44+ <xs : element name =" parameter" type =" parameter" maxOccurs =" unbounded" minOccurs =" 1" />
45+ </xs : sequence >
46+ </xs : complexType >
47+
48+ <xs : complexType name =" parameter" >
49+ <xs : sequence >
50+ <xs : element name =" rule" type =" RuleType" minOccurs =" 0" maxOccurs =" 1" />
51+ </xs : sequence >
52+ <xs : attribute name =" name" type =" DistString" use =" required" />
53+ <xs : attribute name =" type" type =" InOutType" use =" required" />
54+ <xs : attribute name =" dataType" type =" DataType" use =" required" />
55+ <xs : attribute name =" format" type =" DistString" use =" optional" />
56+ <xs : attribute name =" vo" type =" DistString" use =" optional" />
57+ </xs : complexType >
58+
59+ <xs : complexType name =" RuleType" >
60+ <xs : attribute name =" ruleFile" type =" DistString" use =" required" />
61+ <xs : attribute name =" group" type =" DistString" use =" optional" />
62+ <xs : attribute name =" filterKey" type =" DistString" use =" optional" />
63+ <xs : attribute name =" filterType" type =" FilterType" use =" optional" />
64+ </xs : complexType >
65+
66+ <xs : simpleType name =" DistString" >
67+ <xs : restriction base =" xs:string" >
68+ <xs : whiteSpace value =" replace" />
69+ </xs : restriction >
70+ </xs : simpleType >
71+
72+ <xs : simpleType name =" InOutType" >
73+ <xs : restriction base =" DistString" >
74+ <xs : enumeration value =" in" />
75+ <xs : enumeration value =" out" />
76+ </xs : restriction >
77+ </xs : simpleType >
78+
79+ <xs : simpleType name =" DataType" >
80+ <xs : restriction base =" DistString" >
81+ <xs : enumeration value =" varchar" />
82+ <xs : enumeration value =" number" />
83+ <xs : enumeration value =" date" />
84+ <xs : enumeration value =" cursor" />
85+ <xs : enumeration value =" clob" />
86+ <xs : enumeration value =" blob" />
87+ <xs : enumeration value =" integer" />
88+ </xs : restriction >
89+ </xs : simpleType >
90+
91+ <xs : simpleType name =" FilterType" >
92+ <xs : restriction base =" DistString" >
93+ <xs : enumeration value =" START" />
94+ <xs : enumeration value =" END" />
95+ <xs : enumeration value =" CONTAIN" />
96+ <xs : enumeration value =" EQUAL" />
97+ <xs : enumeration value =" EQUALIGNORECASE" />
98+ <xs : enumeration value =" REGEX" />
99+ </xs : restriction >
100+ </xs : simpleType >
101+
102+
103+ </xs : schema >
0 commit comments