root/trunk/src/xml/findbugs/findbugs.xsd

Revision 1335, 16.3 kB (checked in by amandel, 16 months ago)

Update to FindBugs 1.3.8 (report schema update)

  • Property svn:mime-type set to text/xml
  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!-- $Id$ -->
3
4<xsd:schema
5   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
6   xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
7   xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
8   jxb:extensionBindingPrefixes="xjc"
9   jxb:version="1.0">
10
11   <!-- copied from JAXB sample schema -->
12   <xsd:annotation>
13      <xsd:appinfo>
14
15         <jxb:globalBindings
16            fixedAttributeAsConstantProperty="true"
17            collectionType="java.util.ArrayList"
18            typesafeEnumBase="xsd:NCName"
19            choiceContentProperty="true"
20            typesafeEnumMemberName="generateError"
21            enableFailFastCheck="false"
22            generateIsSetMethod="true"
23            underscoreBinding="asCharInWord">
24            <xjc:serializable uid="106"/>
25         </jxb:globalBindings>
26         <jxb:schemaBindings>
27            <jxb:package name="org.jcoderz.phoenix.findbugs.jaxb"/>
28        <!--
29            <jxb:nameXmlTransform>
30               <jxb:elementName suffix="Element"/>
31            </jxb:nameXmlTransform>
32         -->
33         </jxb:schemaBindings>
34      </xsd:appinfo>
35   </xsd:annotation>
36
37  <xsd:simpleType name='Priority'>
38      <xsd:annotation>
39         <xsd:appinfo>
40             <jxb:javaType
41               name="org.jcoderz.phoenix.report.Severity"
42               parseMethod="fromFindBugsPriority"
43               printMethod="toFindBugsPriority"/>
44          </xsd:appinfo>
45      </xsd:annotation>
46      <xsd:restriction base='xsd:int'>
47         <xsd:enumeration value='1'/>
48         <xsd:enumeration value='2'/>
49         <xsd:enumeration value='3'/>
50      </xsd:restriction>
51
52   </xsd:simpleType>
53
54 <xsd:element name='AuxClasspathEntry'>
55  <xsd:complexType mixed='true'>
56  </xsd:complexType>
57 </xsd:element>
58
59 <xsd:element name='BugCollection'>
60  <xsd:complexType>
61   <xsd:sequence>
62    <xsd:element ref='Project'/>
63    <xsd:element ref='BugInstance' minOccurs='0' maxOccurs='unbounded'/>
64    <xsd:element ref='BugCategory' minOccurs='0' maxOccurs='unbounded'/>
65    <xsd:element ref='BugPattern' minOccurs='0' maxOccurs='unbounded'/>
66    <xsd:element ref='BugCode' minOccurs='0' maxOccurs='unbounded'/>
67    <xsd:element ref='Errors'/>
68    <xsd:element ref='FindBugsSummary'/>
69    <xsd:element ref='SummaryHTML' minOccurs='0'/>
70    <xsd:element ref='ClassFeatures'/>
71    <xsd:element ref='History'/>
72   </xsd:sequence>
73   <xsd:attribute name='version' use='optional' type='xsd:string'/>
74   <xsd:attribute name='sequence' use='optional' type='xsd:long'/>
75   <xsd:attribute name='timestamp' use='required' type='xsd:long'/>
76   <xsd:attribute name='analysisTimestamp' use='required' type='xsd:long'/>
77   <xsd:attribute name='release' use='optional' type='xsd:string'/>
78  </xsd:complexType>
79 </xsd:element>
80
81 <xsd:element name='BugInstance'>
82  <xsd:complexType>
83   <xsd:sequence>
84     <xsd:element ref='ShortMessage' minOccurs="0"/>
85     <xsd:element ref='LongMessage' minOccurs="0"/>
86      <xsd:choice maxOccurs="unbounded">
87        <xsd:element ref='Class'/>
88        <xsd:element ref='Field'/>
89        <xsd:element ref='Method'/>
90        <xsd:element ref='Property'/>
91        <xsd:element ref='Type'/>
92        <xsd:element ref='LocalVariable'/>
93        <xsd:element ref='SourceLine'/>
94        <xsd:element ref='Int'/>
95        <xsd:element ref='String'/>
96      </xsd:choice>
97   </xsd:sequence>
98   <xsd:attribute name='priority' use='required' type='Priority'/>
99   <xsd:attribute name='type' type='xsd:string' use='required'/>
100   <xsd:attribute name='abbrev' type='xsd:string' use='optional'/>
101   <xsd:attribute name='category' type='xsd:string' use='optional'/>
102   <xsd:attribute name='active' type='xsd:string' use='optional'/>
103   <xsd:attribute name='uid' type='xsd:int'/>
104   <xsd:attribute name='instanceHash' type='xsd:string'/>
105   <xsd:attribute name='instanceOccurrenceNum' type='xsd:int'/>
106   <xsd:attribute name='instanceOccurrenceMax' type='xsd:int'/>
107   <xsd:attribute name="last" type="xsd:unsignedInt" use="optional" />
108   <xsd:attribute name="removedByChange" type="xsd:boolean" use="optional" />
109   <xsd:attribute name="first" type="xsd:unsignedInt" use="optional" />
110   <xsd:attribute name="introducedByChange" type="xsd:boolean" use="optional" />
111  </xsd:complexType>
112 </xsd:element>
113
114 <xsd:element name='BugCategory'>
115  <xsd:complexType>
116   <xsd:sequence maxOccurs="unbounded">
117      <xsd:choice>
118        <xsd:element ref='Description'/>
119      </xsd:choice>
120   </xsd:sequence>
121   <!-- TODO: category might be an enum type: CORRECTNESS, PERFORMANCE, I18N, MT_CORRECTNESS, MALICIOUS_CODE, STYLE -->
122   <xsd:attribute name='category' use='required' type='xsd:string'/>
123  </xsd:complexType>
124 </xsd:element>
125
126 <xsd:element name='BugPattern'>
127  <xsd:complexType>
128   <xsd:sequence maxOccurs="unbounded">
129      <xsd:choice>
130        <xsd:element ref='ShortDescription'/>
131        <xsd:element ref='Details'/>
132      </xsd:choice>
133   </xsd:sequence>
134   <xsd:attribute name='type' use='required' type='xsd:string'/>
135   <!-- TODO: abbrev might be an enum type: FS, ... -->
136   <xsd:attribute name='abbrev' use='required' type='xsd:string'/>
137   <!-- TODO: category might be an enum type: CORRECTNESS, PERFORMANCE, I18N, MT_CORRECTNESS, MALICIOUS_CODE, STYLE -->
138   <xsd:attribute name='category' use='required' type='xsd:string'/>
139   <xsd:attribute name="cweid" type="xsd:positiveInteger" use="optional"/>
140  </xsd:complexType>
141 </xsd:element>
142
143 <xsd:element name='BugCode'>
144  <xsd:complexType>
145   <xsd:sequence maxOccurs="unbounded">
146      <xsd:choice>
147        <xsd:element ref='Description'/>
148      </xsd:choice>
149   </xsd:sequence>
150   <!-- TODO: abbrev might be an enum type: FS, ... -->
151   <xsd:attribute name='abbrev' use='required' type='xsd:string'/>
152   <xsd:attribute name='cweid' use='optional' type='xsd:positiveInteger'/>
153  </xsd:complexType>
154 </xsd:element>
155
156 <xsd:element name='Class'>
157  <xsd:complexType>
158   <xsd:sequence>
159        <xsd:element ref="SourceLine" />
160        <xsd:element ref="Message" minOccurs="0" />
161   </xsd:sequence>
162   <xsd:attribute name='classname' type='xsd:string' use='required'/>
163   <xsd:attribute name='primary' type='xsd:boolean' use='optional'/>
164   <xsd:attribute name='role' use='optional' type="xsd:string"/>
165  </xsd:complexType>
166 </xsd:element>
167
168 <xsd:element name='Property'>
169  <xsd:complexType>
170   <xsd:attribute name='name'  type='xsd:string' use='required'/>
171   <xsd:attribute name='value' type="xsd:string" use='required'/>
172  </xsd:complexType>
173 </xsd:element>
174
175 <xsd:element name='LocalVariable'>
176  <xsd:complexType>
177   <xsd:sequence>
178    <xsd:element ref="Message" minOccurs="0" />
179   </xsd:sequence>
180   <xsd:attribute name='name'     type='xsd:string'   use='required'/>
181   <xsd:attribute name='register' type="xsd:int"      use='optional'/>
182   <xsd:attribute name='pc'       type="xsd:int"      use='optional'/>
183   <xsd:attribute name='role'     type='xsd:string'   use='optional'/>
184  </xsd:complexType>
185 </xsd:element>
186
187 <xsd:element name='Int'>
188  <xsd:complexType>
189   <xsd:sequence>
190    <xsd:element ref="Message" minOccurs="0" />
191   </xsd:sequence>
192   <xsd:attribute name='value' type='xsd:int' use='required'/>
193   <xsd:attribute name='role' use='optional' type="xsd:string"/>
194  </xsd:complexType>
195 </xsd:element>
196
197 <xsd:element name='Errors'>
198  <xsd:complexType>
199   <xsd:sequence>
200    <xsd:element name='Error' type="ErrorType"
201                 minOccurs='0' maxOccurs='unbounded'/>
202    <xsd:element name='AnalysisError' type="xsd:string"
203                 minOccurs='0' maxOccurs='unbounded'/>
204    <xsd:element name='MissingClass' type="xsd:string"
205                 minOccurs='0' maxOccurs='unbounded'/>
206   </xsd:sequence>
207   <xsd:attribute name="errors" type="xsd:unsignedInt" use="optional"/>
208   <xsd:attribute name="missingClasses" type="xsd:unsignedInt" use="optional"/>
209  </xsd:complexType>
210 </xsd:element>
211
212 <xsd:complexType name="ErrorType">
213   <xsd:sequence>
214    <xsd:element name='ErrorMessage' type="xsd:string"/>
215    <xsd:element name='Exception' type="xsd:string"/>
216    <xsd:element name='StackTrace' type="xsd:string"
217                 minOccurs='0' maxOccurs='unbounded'/>
218   </xsd:sequence>
219 </xsd:complexType>
220
221 <xsd:element name='Field'>
222  <xsd:complexType>
223   <xsd:sequence>
224        <xsd:element ref="SourceLine" />
225        <xsd:element ref="Message" minOccurs="0" />
226   </xsd:sequence>
227   <xsd:attribute name='classname' type='xsd:string' use='required'/>
228   <xsd:attribute name='isStatic' use='required'>
229    <xsd:simpleType>
230     <xsd:restriction base='xsd:string'>
231      <xsd:enumeration value='false'/>
232      <xsd:enumeration value='true'/>
233     </xsd:restriction>
234    </xsd:simpleType>
235   </xsd:attribute>
236   <xsd:attribute name='name' type='xsd:string' use='required'/>
237   <xsd:attribute name='signature' type='xsd:string' use='required'/>
238   <xsd:attribute name='role' use='optional' type="xsd:string"/>
239   <xsd:attribute name='primary' type='xsd:boolean' use='optional'/>
240  </xsd:complexType>
241 </xsd:element>
242
243 <xsd:element name='Jar'>
244  <xsd:complexType mixed='true'>
245  </xsd:complexType>
246 </xsd:element>
247
248 <xsd:element name='Method'>
249  <xsd:complexType>
250   <xsd:sequence>
251    <xsd:element ref='SourceLine' minOccurs="0"/>
252    <xsd:element ref="Message" minOccurs="0" />
253   </xsd:sequence>
254   <xsd:attribute name='classname'  type='xsd:string' use='required'/>
255   <xsd:attribute name='name'       type='xsd:string' use='required'/>
256   <xsd:attribute name='signature'  type='xsd:string' use='required'/>
257   <xsd:attribute name='role'       use='optional' type="xsd:string"/>
258   <xsd:attribute name='isStatic'   use='optional' type="xsd:boolean"/>
259   <xsd:attribute name='primary' type='xsd:boolean' use='optional'/>
260  </xsd:complexType>
261 </xsd:element>
262
263 <xsd:element name='Type'>
264  <xsd:complexType>
265   <xsd:sequence>
266    <xsd:element ref='SourceLine' minOccurs="0" />
267    <xsd:element ref="Message" minOccurs="0" />
268   </xsd:sequence>
269   <xsd:attribute name='descriptor'  type='xsd:string' use='required'/>
270   <xsd:attribute name='role' use='optional' type="xsd:string"/>
271   <xsd:attribute name='typeParameters' use='optional' type='xsd:string'/>
272  </xsd:complexType>
273 </xsd:element>
274
275 <xsd:element name='Project'>
276  <xsd:complexType>
277   <xsd:sequence>
278    <xsd:element ref='Jar'/>
279    <xsd:element ref='AuxClasspathEntry' maxOccurs='unbounded'/>
280    <xsd:element name='SrcDir' type='xsd:string' maxOccurs='unbounded'/>
281   </xsd:sequence>
282   <xsd:attribute name='filename' type='xsd:string' use='optional'/>
283   <xsd:attribute name="projectName" type="xsd:string" use="optional" />
284  </xsd:complexType>
285 </xsd:element>
286
287 <xsd:element name='SourceLine'>
288  <xsd:complexType>
289   <xsd:sequence>
290     <xsd:element ref="Message" minOccurs="0" />
291   </xsd:sequence>
292   <xsd:attribute name='classname'     type='xsd:string' use='required'/>
293   <xsd:attribute name='end'           type='xsd:int' use='optional'/>
294   <xsd:attribute name='endBytecode'   type='xsd:int' use='optional'/>
295   <xsd:attribute name='role'          type='xsd:string' use='optional'/>
296   <xsd:attribute name='sourcefile'    type='xsd:string' use='optional'/>
297   <xsd:attribute name="sourcepath"    type="xsd:string" use="optional" />
298   <xsd:attribute name="relSourcepath"    type="xsd:string" use="optional" />
299   <xsd:attribute name='start'         type='xsd:int' use='optional'/>
300   <xsd:attribute name='startBytecode' type='xsd:int' use='optional'/>
301   <xsd:attribute name="synthetic"     type="xsd:boolean" use="optional" />
302   <xsd:attribute name='opcodes'       type='xsd:string' use='optional'/>
303   <xsd:attribute name='primary'       type='xsd:boolean' use='optional'/>
304  </xsd:complexType>
305 </xsd:element>
306
307 <xsd:element name='SummaryHTML'>
308  <xsd:complexType mixed='true'>
309  </xsd:complexType>
310 </xsd:element>
311
312 <xsd:element name='ClassFeatures'>
313  <xsd:complexType mixed='true'>
314  </xsd:complexType>
315 </xsd:element>
316
317 <xsd:element name='History'>
318  <xsd:complexType mixed='true'>
319  </xsd:complexType>
320 </xsd:element>
321
322 <xsd:element name='FindBugsSummary'>
323  <xsd:complexType>
324   <xsd:sequence>
325     <xsd:element name="FileStats" maxOccurs="unbounded">
326       <xsd:complexType>
327         <xsd:attribute name="path" type="xsd:string" use="required" />
328         <xsd:attribute name="bugCount" type="xsd:unsignedInt" use="required" />
329         <xsd:attribute name="size" type="xsd:unsignedInt" use="optional" />
330         <xsd:attribute name="bugHash" type="xsd:string" use="optional" />
331       </xsd:complexType>
332      </xsd:element>
333      <xsd:element ref='PackageStats' maxOccurs='unbounded'/>
334      <xsd:element ref="FindBugsProfile" minOccurs="0" maxOccurs="1"/>
335   </xsd:sequence>
336   <xsd:attribute name='timestamp' use='required' type='xsd:string'/>
337   <xsd:attribute name='total_classes' use='required' type='xsd:int'/>
338   <xsd:attribute name="referenced_classes" type="xsd:unsignedInt" use="optional"/>
339   <xsd:attribute name='total_bugs' use='required' type='xsd:int'/>
340   <xsd:attribute name='total_size' use='required' type='xsd:int'/>
341   <xsd:attribute name='num_packages' use='required' type='xsd:int'/>
342   <xsd:attribute name="vm_version" type="xsd:string" use="optional"/>
343   <xsd:attribute name="cpu_seconds" type="xsd:float" use="optional" />
344   <xsd:attribute name="clock_seconds" type="xsd:float" use="optional" />
345   <xsd:attribute name="peak_mbytes" type="xsd:float" use="optional" />
346   <xsd:attribute name="alloc_mbytes" type="xsd:float" use="optional" />
347   <xsd:attribute name="gc_seconds" type="xsd:float" use="optional" />
348   <xsd:attribute name='priority_1' use='optional' type='xsd:int'/>
349   <xsd:attribute name='priority_2' use='optional' type='xsd:int'/>
350   <xsd:attribute name='priority_3' use='optional' type='xsd:int'/>
351  </xsd:complexType>
352 </xsd:element>
353
354 <xsd:element name='PackageStats'>
355  <xsd:complexType>
356   <xsd:sequence>
357    <xsd:element ref='ClassStats' maxOccurs='unbounded'/>
358   </xsd:sequence>
359   <xsd:attribute name='package' use='required' type='xsd:string'/>
360   <xsd:attribute name='total_bugs' use='required' type='xsd:int'/>
361   <xsd:attribute name='total_types' use='required' type='xsd:int'/>
362   <xsd:attribute name='total_size' use='required' type='xsd:int'/>
363   <xsd:attribute name='priority_1' use='optional' type='xsd:int'/>
364   <xsd:attribute name='priority_2' use='optional' type='xsd:int'/>
365   <xsd:attribute name='priority_3' use='optional' type='xsd:int'/>
366  </xsd:complexType>
367 </xsd:element>
368
369 <xsd:element name='FindBugsProfile'>
370  <xsd:complexType>
371   <xsd:sequence>
372    <xsd:element ref="ClassProfile" minOccurs="0" maxOccurs="unbounded"/>
373   </xsd:sequence>
374  </xsd:complexType>
375 </xsd:element>
376
377 <xsd:element name='ClassProfile'>
378  <xsd:complexType>
379   <xsd:attribute name='name' use='required' type='xsd:string'/>
380   <xsd:attribute name="totalMilliseconds" type="xsd:unsignedInt" use="required"/>
381   <xsd:attribute name="invocations" type="xsd:unsignedInt" use="required"/>
382   <xsd:attribute name="avgMicrosecondsPerInvocation" type="xsd:unsignedInt" use="required"/>
383   <xsd:attribute name="maxMicrosecondsPerInvocation" type="xsd:unsignedInt" use="optional"/>
384   <xsd:attribute name="standardDeviationMircosecondsPerInvocation" 
385       type="xsd:unsignedInt" use="optional"/>
386  </xsd:complexType>
387 </xsd:element>
388
389 <xsd:element name='ClassStats'>
390  <xsd:complexType>
391   <xsd:attribute name='class' use='required' type='xsd:string'>
392       <xsd:annotation>
393            <xsd:appinfo>
394               <jxb:property name="clazz"/>
395            </xsd:appinfo>
396         </xsd:annotation>
397   </xsd:attribute>
398   <xsd:attribute name='interface' use='required' type='xsd:string'/>
399   <xsd:attribute name='sourceFile' use='optional' type='xsd:string'/>
400   <xsd:attribute name='size' use='required' type='xsd:int'/>
401   <xsd:attribute name='bugs' use='required' type='xsd:int'/>
402   <xsd:attribute name='priority_1' use='optional' type='xsd:int'/>
403   <xsd:attribute name='priority_2' use='optional' type='xsd:int'/>
404   <xsd:attribute name='priority_3' use='optional' type='xsd:int'/>
405  </xsd:complexType>
406 </xsd:element>
407
408 <xsd:element name='String'>
409  <xsd:complexType>
410   <xsd:sequence>
411      <xsd:element name='Message' type='xsd:string' minOccurs="0"/>
412   </xsd:sequence>
413   <xsd:attribute name='value'     type='xsd:string' use='required'/>
414   <xsd:attribute name='role'     type='xsd:string' use='optional'/>
415  </xsd:complexType>
416 </xsd:element>
417
418 <xsd:element name='Details' type='xsd:string'/>
419 <xsd:element name='ShortDescription' type='xsd:string'/>
420 <xsd:element name='Description' type='xsd:string'/>
421 <xsd:element name='Message' type='xsd:string'/>
422 <xsd:element name='ShortMessage' type='xsd:string'/>
423 <xsd:element name='LongMessage' type='xsd:string'/>
424</xsd:schema>
Note: See TracBrowser for help on using the browser.