/doc/reports/reports.xsd

http://sigma-h.googlecode.com/ · XML Schema · 460 lines · 419 code · 41 blank · 0 comment · 0 complexity · 72182fbf9aa8df32c517071625085d86 MD5 · raw file

  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  3. <xs:element name="report" type="report"/>
  4. <xs:complexType name="adminDimension">
  5. <xs:complexContent>
  6. <xs:extension base="dimension">
  7. <xs:sequence/>
  8. </xs:extension>
  9. </xs:complexContent>
  10. </xs:complexType>
  11. <xs:complexType name="dimension">
  12. <xs:complexContent>
  13. <xs:extension base="baseModelData">
  14. <xs:sequence>
  15. <xs:element name="color" type="xs:string" minOccurs="0"/>
  16. </xs:sequence>
  17. </xs:extension>
  18. </xs:complexContent>
  19. </xs:complexType>
  20. <xs:complexType name="baseModelData">
  21. <xs:sequence>
  22. <xs:element name="allowNestedValues" type="xs:boolean"/>
  23. <xs:element name="properties">
  24. <xs:complexType>
  25. <xs:sequence>
  26. <xs:element name="entry" minOccurs="0" maxOccurs="unbounded">
  27. <xs:complexType>
  28. <xs:sequence>
  29. <xs:element name="key" minOccurs="0" type="xs:string"/>
  30. <xs:element name="value" minOccurs="0" type="xs:anyType"/>
  31. </xs:sequence>
  32. </xs:complexType>
  33. </xs:element>
  34. </xs:sequence>
  35. </xs:complexType>
  36. </xs:element>
  37. </xs:sequence>
  38. </xs:complexType>
  39. <xs:complexType name="attributeGroupDimension">
  40. <xs:complexContent>
  41. <xs:extension base="dimension">
  42. <xs:sequence>
  43. <xs:element name="attributeGroupId" type="xs:int"/>
  44. </xs:sequence>
  45. </xs:extension>
  46. </xs:complexContent>
  47. </xs:complexType>
  48. <xs:complexType name="bubbleMapLayer">
  49. <xs:complexContent>
  50. <xs:extension base="mapLayer">
  51. <xs:sequence>
  52. <xs:element name="alpha" type="xs:double"/>
  53. <xs:element name="clustered" type="xs:boolean"/>
  54. <xs:element name="colors" minOccurs="0">
  55. <xs:complexType>
  56. <xs:sequence>
  57. <xs:element name="dimension" type="dimensionElement" minOccurs="0" maxOccurs="unbounded"/>
  58. </xs:sequence>
  59. </xs:complexType>
  60. </xs:element>
  61. <xs:element name="defaultColor" type="xs:int"/>
  62. <xs:element name="indicators" minOccurs="0">
  63. <xs:complexType>
  64. <xs:sequence>
  65. <xs:element name="indicator" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
  66. </xs:sequence>
  67. </xs:complexType>
  68. </xs:element>
  69. <xs:element name="labelColor" type="xs:int"/>
  70. <xs:element name="maxRadius" type="xs:int"/>
  71. <xs:element name="minRadius" type="xs:int"/>
  72. <xs:element name="numbering" type="numberingType" default="none" minOccurs="0"/>
  73. <xs:element name="pie" type="xs:boolean"/>
  74. <xs:element name="scaling" type="scalingType" default="none" minOccurs="0"/>
  75. </xs:sequence>
  76. </xs:extension>
  77. </xs:complexContent>
  78. </xs:complexType>
  79. <xs:complexType name="mapLayer" abstract="true">
  80. <xs:sequence/>
  81. </xs:complexType>
  82. <xs:complexType name="dimensionElement">
  83. <xs:sequence>
  84. <xs:element name="category" type="categoryElement" minOccurs="0" maxOccurs="unbounded"/>
  85. </xs:sequence>
  86. <xs:attribute name="type" type="xs:string"/>
  87. <xs:attribute name="levelId" type="xs:int"/>
  88. <xs:attribute name="dateUnit" type="xs:string"/>
  89. </xs:complexType>
  90. <xs:complexType name="categoryElement">
  91. <xs:sequence/>
  92. <xs:attribute name="name" type="xs:string" use="required"/>
  93. <xs:attribute name="label" type="xs:string"/>
  94. <xs:attribute name="color" type="xs:string"/>
  95. </xs:complexType>
  96. <xs:complexType name="categoryProperties">
  97. <xs:sequence>
  98. <xs:element name="color" type="xs:int" minOccurs="0"/>
  99. <xs:element name="label" type="xs:string" minOccurs="0"/>
  100. </xs:sequence>
  101. </xs:complexType>
  102. <xs:complexType name="dateDimension">
  103. <xs:complexContent>
  104. <xs:extension base="dimension">
  105. <xs:sequence>
  106. <xs:element name="format" type="xs:string" minOccurs="0"/>
  107. <xs:element name="unit" type="dateUnit" minOccurs="0"/>
  108. </xs:sequence>
  109. </xs:extension>
  110. </xs:complexContent>
  111. </xs:complexType>
  112. <xs:complexType name="dateRange">
  113. <xs:sequence/>
  114. <xs:attribute name="max" type="xs:dateTime"/>
  115. <xs:attribute name="min" type="xs:dateTime"/>
  116. </xs:complexType>
  117. <xs:complexType name="iconMapLayer">
  118. <xs:complexContent>
  119. <xs:extension base="mapLayer">
  120. <xs:sequence>
  121. <xs:element name="activities" minOccurs="0">
  122. <xs:complexType>
  123. <xs:sequence>
  124. <xs:element name="activity" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
  125. </xs:sequence>
  126. </xs:complexType>
  127. </xs:element>
  128. <xs:element name="clustered" type="xs:boolean"/>
  129. <xs:element name="icon" type="xs:string" minOccurs="0"/>
  130. <xs:element name="indicators" minOccurs="0">
  131. <xs:complexType>
  132. <xs:sequence>
  133. <xs:element name="indicator" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
  134. </xs:sequence>
  135. </xs:complexType>
  136. </xs:element>
  137. </xs:sequence>
  138. </xs:extension>
  139. </xs:complexContent>
  140. </xs:complexType>
  141. <xs:complexType name="mapElement">
  142. <xs:complexContent>
  143. <xs:extension base="reportElement">
  144. <xs:sequence>
  145. <xs:element name="baseMap" type="xs:string"/>
  146. <xs:element name="height" type="xs:int" default="480"/>
  147. <xs:element name="layers" minOccurs="0">
  148. <xs:complexType>
  149. <xs:sequence>
  150. <xs:choice minOccurs="0" maxOccurs="unbounded">
  151. <xs:element name="bubbles" type="bubbleMapLayer"/>
  152. <xs:element name="icons" type="iconMapLayer"/>
  153. </xs:choice>
  154. </xs:sequence>
  155. </xs:complexType>
  156. </xs:element>
  157. <xs:element name="width" type="xs:int" default="640"/>
  158. </xs:sequence>
  159. </xs:extension>
  160. </xs:complexContent>
  161. </xs:complexType>
  162. <xs:complexType name="reportElement" abstract="true">
  163. <xs:sequence>
  164. <xs:element name="filter" type="filterElement" minOccurs="0"/>
  165. <xs:element name="sheetTitle" type="xs:string" minOccurs="0"/>
  166. <xs:element name="title" type="xs:string" minOccurs="0"/>
  167. </xs:sequence>
  168. </xs:complexType>
  169. <xs:complexType name="filterElement">
  170. <xs:sequence>
  171. <xs:element name="restriction" type="restriction" minOccurs="0" maxOccurs="unbounded"/>
  172. <xs:element name="dateRange" type="dateRange" minOccurs="0"/>
  173. </xs:sequence>
  174. </xs:complexType>
  175. <xs:complexType name="restriction">
  176. <xs:sequence>
  177. <xs:element name="category" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
  178. </xs:sequence>
  179. <xs:attribute name="dimension" type="xs:string"/>
  180. </xs:complexType>
  181. <xs:complexType name="mapIcon">
  182. <xs:sequence>
  183. <xs:element name="anchorX" type="xs:int"/>
  184. <xs:element name="anchorY" type="xs:int"/>
  185. <xs:element name="height" type="xs:int"/>
  186. <xs:element name="name" type="xs:string" minOccurs="0"/>
  187. <xs:element name="width" type="xs:int"/>
  188. </xs:sequence>
  189. </xs:complexType>
  190. <xs:complexType name="report">
  191. <xs:complexContent>
  192. <xs:extension base="reportElement">
  193. <xs:sequence>
  194. <xs:element name="description" type="xs:string" minOccurs="0"/>
  195. <xs:element name="elements" minOccurs="0">
  196. <xs:complexType>
  197. <xs:sequence>
  198. <xs:choice minOccurs="0" maxOccurs="unbounded">
  199. <xs:element name="pivotTable" type="pivotTableElement"/>
  200. <xs:element name="pivotChart" type="pivotChartElement"/>
  201. <xs:element name="table" type="tableElement"/>
  202. <xs:element name="map" type="mapElement"/>
  203. <xs:element name="static" type="staticElement"/>
  204. </xs:choice>
  205. </xs:sequence>
  206. </xs:complexType>
  207. </xs:element>
  208. <xs:element name="fileName" type="xs:string" minOccurs="0"/>
  209. </xs:sequence>
  210. <xs:attribute name="day" type="xs:int"/>
  211. <xs:attribute name="frequency" type="reportFrequency"/>
  212. </xs:extension>
  213. </xs:complexContent>
  214. </xs:complexType>
  215. <xs:complexType name="pivotTableElement">
  216. <xs:complexContent>
  217. <xs:extension base="pivotElement">
  218. <xs:sequence>
  219. <xs:element name="columns" minOccurs="0">
  220. <xs:complexType>
  221. <xs:sequence>
  222. <xs:element name="dimension" type="dimensionElement" minOccurs="0" maxOccurs="unbounded"/>
  223. </xs:sequence>
  224. </xs:complexType>
  225. </xs:element>
  226. <xs:element name="rows" minOccurs="0">
  227. <xs:complexType>
  228. <xs:sequence>
  229. <xs:element name="dimension" type="dimensionElement" minOccurs="0" maxOccurs="unbounded"/>
  230. </xs:sequence>
  231. </xs:complexType>
  232. </xs:element>
  233. </xs:sequence>
  234. </xs:extension>
  235. </xs:complexContent>
  236. </xs:complexType>
  237. <xs:complexType name="pivotElement" abstract="true">
  238. <xs:complexContent>
  239. <xs:extension base="reportElement">
  240. <xs:sequence/>
  241. </xs:extension>
  242. </xs:complexContent>
  243. </xs:complexType>
  244. <xs:complexType name="pivotChartElement">
  245. <xs:complexContent>
  246. <xs:extension base="pivotElement">
  247. <xs:sequence>
  248. <xs:element name="categoryAxisTitle" type="xs:string" minOccurs="0"/>
  249. <xs:element name="categories" minOccurs="0">
  250. <xs:complexType>
  251. <xs:sequence>
  252. <xs:element name="dimension" type="dimensionElement" minOccurs="0" maxOccurs="unbounded"/>
  253. </xs:sequence>
  254. </xs:complexType>
  255. </xs:element>
  256. <xs:element name="series" minOccurs="0">
  257. <xs:complexType>
  258. <xs:sequence>
  259. <xs:element name="dimension" type="dimensionElement" minOccurs="0" maxOccurs="unbounded"/>
  260. </xs:sequence>
  261. </xs:complexType>
  262. </xs:element>
  263. <xs:element name="type" type="type"/>
  264. <xs:element name="valueAxisTitle" type="xs:string" minOccurs="0"/>
  265. </xs:sequence>
  266. </xs:extension>
  267. </xs:complexContent>
  268. </xs:complexType>
  269. <xs:complexType name="tableElement">
  270. <xs:complexContent>
  271. <xs:extension base="reportElement">
  272. <xs:sequence>
  273. <xs:element name="frozenColumns" type="xs:int" default="0"/>
  274. <xs:element name="map" type="mapElement" minOccurs="0"/>
  275. <xs:element name="columns" type="tableColumn" minOccurs="0"/>
  276. <xs:element name="sortBy" minOccurs="0">
  277. <xs:complexType>
  278. <xs:sequence>
  279. <xs:element name="column" type="tableColumn" minOccurs="0" maxOccurs="unbounded"/>
  280. </xs:sequence>
  281. </xs:complexType>
  282. </xs:element>
  283. </xs:sequence>
  284. </xs:extension>
  285. </xs:complexContent>
  286. </xs:complexType>
  287. <xs:complexType name="tableColumn">
  288. <xs:complexContent>
  289. <xs:extension base="treeNode">
  290. <xs:sequence>
  291. <xs:element name="column" type="tableColumn" minOccurs="0" maxOccurs="unbounded"/>
  292. </xs:sequence>
  293. <xs:attribute name="label" type="xs:string"/>
  294. <xs:attribute name="order" type="sortOrder"/>
  295. <xs:attribute name="source" type="xs:string"/>
  296. <xs:attribute name="sourceId" type="xs:int"/>
  297. </xs:extension>
  298. </xs:complexContent>
  299. </xs:complexType>
  300. <xs:complexType name="treeNode" abstract="true">
  301. <xs:sequence/>
  302. </xs:complexType>
  303. <xs:complexType name="staticElement">
  304. <xs:complexContent>
  305. <xs:extension base="reportElement">
  306. <xs:sequence>
  307. <xs:element name="img" type="xs:string" minOccurs="0"/>
  308. <xs:element name="text" type="xs:string" minOccurs="0"/>
  309. </xs:sequence>
  310. </xs:extension>
  311. </xs:complexContent>
  312. </xs:complexType>
  313. <xs:complexType name="category">
  314. <xs:sequence/>
  315. <xs:attribute name="id" type="xs:int"/>
  316. </xs:complexType>
  317. <xs:complexType name="categoryAdapter">
  318. <xs:complexContent>
  319. <xs:extension base="xmlAdapter">
  320. <xs:sequence/>
  321. </xs:extension>
  322. </xs:complexContent>
  323. </xs:complexType>
  324. <xs:complexType name="xmlAdapter" abstract="true">
  325. <xs:sequence/>
  326. </xs:complexType>
  327. <xs:complexType name="dimensionAdapter">
  328. <xs:complexContent>
  329. <xs:extension base="xmlAdapter">
  330. <xs:sequence/>
  331. </xs:extension>
  332. </xs:complexContent>
  333. </xs:complexType>
  334. <xs:complexType name="filterAdapter">
  335. <xs:complexContent>
  336. <xs:extension base="xmlAdapter">
  337. <xs:sequence/>
  338. </xs:extension>
  339. </xs:complexContent>
  340. </xs:complexType>
  341. <xs:simpleType name="numberingType">
  342. <xs:restriction base="xs:string">
  343. <xs:enumeration value="None"/>
  344. <xs:enumeration value="ArabicNumerals"/>
  345. <xs:enumeration value="LatinAlphabet"/>
  346. </xs:restriction>
  347. </xs:simpleType>
  348. <xs:simpleType name="scalingType">
  349. <xs:restriction base="xs:string">
  350. <xs:enumeration value="None"/>
  351. <xs:enumeration value="Graduated"/>
  352. <xs:enumeration value="Proportional"/>
  353. </xs:restriction>
  354. </xs:simpleType>
  355. <xs:simpleType name="dateUnit">
  356. <xs:restriction base="xs:string">
  357. <xs:enumeration value="YEAR"/>
  358. <xs:enumeration value="QUARTER"/>
  359. <xs:enumeration value="MONTH"/>
  360. <xs:enumeration value="WEEK"/>
  361. <xs:enumeration value="DAY"/>
  362. </xs:restriction>
  363. </xs:simpleType>
  364. <xs:simpleType name="dimensionSortOrder">
  365. <xs:restriction base="xs:string">
  366. <xs:enumeration value="DEFINED"/>
  367. <xs:enumeration value="NATURAL_VALUE"/>
  368. <xs:enumeration value="NATURAL_LABEL"/>
  369. <xs:enumeration value="CUSTOM"/>
  370. </xs:restriction>
  371. </xs:simpleType>
  372. <xs:simpleType name="dimensionType">
  373. <xs:restriction base="xs:string">
  374. <xs:enumeration value="Partner"/>
  375. <xs:enumeration value="Activity"/>
  376. <xs:enumeration value="ActivityCategory"/>
  377. <xs:enumeration value="Database"/>
  378. <xs:enumeration value="AdminLevel"/>
  379. <xs:enumeration value="Date"/>
  380. <xs:enumeration value="Status"/>
  381. <xs:enumeration value="Indicator"/>
  382. <xs:enumeration value="IndicatorCategory"/>
  383. <xs:enumeration value="AttributeGroup"/>
  384. <xs:enumeration value="Site"/>
  385. </xs:restriction>
  386. </xs:simpleType>
  387. <xs:simpleType name="type">
  388. <xs:restriction base="xs:string">
  389. <xs:enumeration value="Bar"/>
  390. <xs:enumeration value="StackedBar"/>
  391. <xs:enumeration value="Line"/>
  392. <xs:enumeration value="ClusteredBar"/>
  393. <xs:enumeration value="Pie"/>
  394. </xs:restriction>
  395. </xs:simpleType>
  396. <xs:simpleType name="sortOrder">
  397. <xs:restriction base="xs:string">
  398. <xs:enumeration value="Ascending"/>
  399. <xs:enumeration value="Descending"/>
  400. </xs:restriction>
  401. </xs:simpleType>
  402. <xs:simpleType name="reportFrequency">
  403. <xs:restriction base="xs:string">
  404. <xs:enumeration value="NotDateBound"/>
  405. <xs:enumeration value="Monthly"/>
  406. <xs:enumeration value="Weekly"/>
  407. <xs:enumeration value="Daily"/>
  408. <xs:enumeration value="Adhoc"/>
  409. </xs:restriction>
  410. </xs:simpleType>
  411. <xs:simpleType name="sortType">
  412. <xs:restriction base="xs:string">
  413. <xs:enumeration value="DEFINED"/>
  414. <xs:enumeration value="NATURAL_VALUE"/>
  415. <xs:enumeration value="NATURAL_LABEL"/>
  416. <xs:enumeration value="CUSTOM"/>
  417. </xs:restriction>
  418. </xs:simpleType>
  419. </xs:schema>