Chris@17
|
1 <?xml version="1.0" encoding="utf-8"?>
|
Chris@17
|
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
|
Chris@17
|
3
|
Chris@17
|
4 <xs:element name="ruleset">
|
Chris@17
|
5 <xs:complexType>
|
Chris@17
|
6 <xs:choice minOccurs="0" maxOccurs="unbounded">
|
Chris@17
|
7 <xs:element name="description" type="xs:string" maxOccurs="1" minOccurs="0"></xs:element>
|
Chris@17
|
8 <xs:element name="config" maxOccurs="unbounded" minOccurs="0">
|
Chris@17
|
9 <xs:complexType>
|
Chris@17
|
10 <xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
|
Chris@17
|
11 <xs:attribute name="value" type="xs:string" use="required"></xs:attribute>
|
Chris@17
|
12 </xs:complexType>
|
Chris@17
|
13 </xs:element>
|
Chris@17
|
14 <xs:element name="file" type="xs:string" maxOccurs="unbounded" minOccurs="0"></xs:element>
|
Chris@17
|
15 <xs:element name="exclude-pattern" type="patternType" maxOccurs="unbounded" minOccurs="0"></xs:element>
|
Chris@17
|
16 <xs:element name="arg" maxOccurs="unbounded" minOccurs="0">
|
Chris@17
|
17 <xs:complexType>
|
Chris@17
|
18 <xs:attribute name="name" type="xs:string"></xs:attribute>
|
Chris@17
|
19 <xs:attribute name="value" type="xs:string"></xs:attribute>
|
Chris@17
|
20 </xs:complexType>
|
Chris@17
|
21 </xs:element>
|
Chris@17
|
22 <xs:element name="ini" maxOccurs="unbounded" minOccurs="0">
|
Chris@17
|
23 <xs:complexType>
|
Chris@17
|
24 <xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
|
Chris@17
|
25 <xs:attribute name="value" type="xs:string" use="required"></xs:attribute>
|
Chris@17
|
26 </xs:complexType>
|
Chris@17
|
27 </xs:element>
|
Chris@17
|
28 <xs:element name="autoload" type="xs:string" maxOccurs="unbounded" minOccurs="0"></xs:element>
|
Chris@17
|
29 <xs:element name="rule" type="ruleType" maxOccurs="unbounded" minOccurs="0"></xs:element>
|
Chris@17
|
30 </xs:choice>
|
Chris@17
|
31 <xs:attribute name="name" type="xs:string"></xs:attribute>
|
Chris@17
|
32 <xs:attribute name="namespace" type="xs:string"></xs:attribute>
|
Chris@17
|
33 </xs:complexType>
|
Chris@17
|
34 </xs:element>
|
Chris@17
|
35
|
Chris@17
|
36 <xs:complexType name="ruleType">
|
Chris@17
|
37 <xs:choice minOccurs="0" maxOccurs="unbounded">
|
Chris@17
|
38 <xs:element name="exclude" maxOccurs="unbounded" minOccurs="0">
|
Chris@17
|
39 <xs:complexType>
|
Chris@17
|
40 <xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
|
Chris@17
|
41 </xs:complexType>
|
Chris@17
|
42 </xs:element>
|
Chris@17
|
43 <xs:element name="message" type="xs:string" maxOccurs="1" minOccurs="0"></xs:element>
|
Chris@17
|
44 <xs:element name="severity" type="xs:integer" maxOccurs="1" minOccurs="0"></xs:element>
|
Chris@17
|
45 <xs:element name="type" maxOccurs="1" minOccurs="0">
|
Chris@17
|
46 <xs:simpleType>
|
Chris@17
|
47 <xs:restriction base="xs:string">
|
Chris@17
|
48 <xs:enumeration value="error"></xs:enumeration>
|
Chris@17
|
49 <xs:enumeration value="warning"></xs:enumeration>
|
Chris@17
|
50 </xs:restriction>
|
Chris@17
|
51 </xs:simpleType>
|
Chris@17
|
52 </xs:element>
|
Chris@17
|
53 <xs:element name="exclude-pattern" type="patternType" maxOccurs="unbounded" minOccurs="0"></xs:element>
|
Chris@17
|
54 <xs:element name="include-pattern" type="patternType" maxOccurs="unbounded" minOccurs="0"></xs:element>
|
Chris@17
|
55 <xs:element name="properties" type="propertiesType" maxOccurs="1" minOccurs="0"></xs:element>
|
Chris@17
|
56 </xs:choice>
|
Chris@17
|
57 <xs:attribute name="ref" type="xs:string" use="required"></xs:attribute>
|
Chris@17
|
58 </xs:complexType>
|
Chris@17
|
59
|
Chris@17
|
60 <xs:complexType name="patternType">
|
Chris@17
|
61 <xs:simpleContent>
|
Chris@17
|
62 <xs:extension base="xs:string">
|
Chris@17
|
63 <xs:attribute name="type">
|
Chris@17
|
64 <xs:simpleType>
|
Chris@17
|
65 <xs:restriction base="xs:string">
|
Chris@17
|
66 <xs:enumeration value="relative"></xs:enumeration>
|
Chris@17
|
67 </xs:restriction>
|
Chris@17
|
68 </xs:simpleType>
|
Chris@17
|
69 </xs:attribute>
|
Chris@17
|
70 </xs:extension>
|
Chris@17
|
71 </xs:simpleContent>
|
Chris@17
|
72 </xs:complexType>
|
Chris@17
|
73
|
Chris@17
|
74 <xs:complexType name="propertiesType">
|
Chris@17
|
75 <xs:sequence>
|
Chris@17
|
76 <xs:element name="property" maxOccurs="unbounded" minOccurs="1">
|
Chris@17
|
77 <xs:complexType>
|
Chris@17
|
78 <xs:sequence>
|
Chris@17
|
79 <xs:element name="element" maxOccurs="unbounded" minOccurs="0">
|
Chris@17
|
80 <xs:complexType>
|
Chris@17
|
81 <xs:attribute name="key" type="xs:string"></xs:attribute>
|
Chris@17
|
82 <xs:attribute name="value" type="xs:string" use="required"></xs:attribute>
|
Chris@17
|
83 </xs:complexType>
|
Chris@17
|
84 </xs:element>
|
Chris@17
|
85 </xs:sequence>
|
Chris@17
|
86 <xs:attribute name="type">
|
Chris@17
|
87 <xs:simpleType>
|
Chris@17
|
88 <xs:restriction base="xs:string">
|
Chris@17
|
89 <xs:enumeration value="array"></xs:enumeration>
|
Chris@17
|
90 </xs:restriction>
|
Chris@17
|
91 </xs:simpleType>
|
Chris@17
|
92 </xs:attribute>
|
Chris@17
|
93 <xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
|
Chris@17
|
94 <xs:attribute name="value" type="xs:string"></xs:attribute>
|
Chris@17
|
95 <xs:attribute name="extend">
|
Chris@17
|
96 <xs:simpleType>
|
Chris@17
|
97 <xs:restriction base="xs:string">
|
Chris@17
|
98 <xs:enumeration value="true"/>
|
Chris@17
|
99 <xs:enumeration value="false"/>
|
Chris@17
|
100 </xs:restriction>
|
Chris@17
|
101 </xs:simpleType>
|
Chris@17
|
102 </xs:attribute>
|
Chris@17
|
103 </xs:complexType>
|
Chris@17
|
104 </xs:element>
|
Chris@17
|
105 </xs:sequence>
|
Chris@17
|
106 </xs:complexType>
|
Chris@17
|
107
|
Chris@17
|
108 </xs:schema>
|