commonTableTemplates.xml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <template>
  3. <subtemplates>
  4. <subtemplate name="list_column_category">
  5. <parameters>
  6. <param name="name" type="string" rule="smdName"/>
  7. <param name="hasChildCategory" type="option" rule="childCategory">
  8. <param name="childCategory" enumerateVariations="false" type="multinode" rule="nonSummaryChildCategory"/>
  9. </param>
  10. <param name="notSummaryParent" type="option" rule="notSummaryParent"/>
  11. </parameters>
  12. <payload>
  13. <param name="notSummaryParent" type="option">
  14. &lt;listColumn&gt;
  15. &lt;listColumnTitle&gt;
  16. &lt;style&gt;
  17. &lt;defaultStyles&gt;
  18. &lt;defaultStyle refStyle=&quot;lt&quot;/&gt;
  19. &lt;/defaultStyles&gt;
  20. &lt;/style&gt;
  21. &lt;contents&gt;
  22. &lt;textItem&gt;
  23. &lt;dataSource&gt;
  24. &lt;dataItemLabel refDataItem=&quot;<param name="name" scope="root" encoding="xmlEncoded" type="string"/>&quot;/&gt;
  25. &lt;/dataSource&gt;
  26. &lt;/textItem&gt;
  27. &lt;/contents&gt;
  28. &lt;/listColumnTitle&gt;
  29. &lt;listColumnBody&gt;
  30. &lt;style&gt;
  31. &lt;defaultStyles&gt;
  32. &lt;defaultStyle refStyle=&quot;lc&quot;/&gt;
  33. &lt;/defaultStyles&gt;
  34. &lt;/style&gt;
  35. &lt;contents&gt;
  36. &lt;textItem&gt;
  37. &lt;dataSource&gt;
  38. &lt;dataItemValue refDataItem=&quot;<param name="name" scope="root" encoding="xmlEncoded" type="string"/>&quot;/&gt;
  39. &lt;/dataSource&gt;
  40. &lt;/textItem&gt;
  41. &lt;/contents&gt;
  42. &lt;listColumnRowSpan refDataItem=&quot;<param name="name" scope="root" encoding="xmlEncoded" type="string"/>&quot;/&gt;
  43. &lt;/listColumnBody&gt;
  44. &lt;/listColumn&gt;
  45. </param>
  46. <param name="hasChildCategory" type="option">
  47. <param name="childCategory" type="multinode" indexes="0">
  48. <callSubTemplate name="list_column_category"/>
  49. </param>
  50. </param>
  51. </payload>
  52. </subtemplate>
  53. <subtemplate name="list_column_measure">
  54. <parameters>
  55. <param name="name" type="string" rule="smdName"/>
  56. </parameters>
  57. <payload>
  58. &lt;listColumn&gt;
  59. &lt;listColumnTitle&gt;
  60. &lt;style&gt;
  61. &lt;defaultStyles&gt;
  62. &lt;defaultStyle refStyle=&quot;lt&quot;/&gt;
  63. &lt;/defaultStyles&gt;
  64. &lt;/style&gt;
  65. &lt;contents&gt;
  66. &lt;textItem&gt;
  67. &lt;dataSource&gt;
  68. &lt;dataItemLabel refDataItem=&quot;<param name="name" encoding="xmlEncoded" type="string"/>&quot;/&gt;
  69. &lt;/dataSource&gt;
  70. &lt;/textItem&gt;
  71. &lt;/contents&gt;
  72. &lt;/listColumnTitle&gt;
  73. &lt;listColumnBody&gt;
  74. &lt;style&gt;
  75. &lt;defaultStyles&gt;
  76. &lt;defaultStyle refStyle=&quot;lc&quot;/&gt;
  77. &lt;/defaultStyles&gt;
  78. &lt;/style&gt;
  79. &lt;contents&gt;
  80. &lt;textItem&gt;
  81. &lt;dataSource&gt;
  82. &lt;dataItemValue refDataItem=&quot;<param name="name" encoding="xmlEncoded" type="string"/>&quot;/&gt;
  83. &lt;/dataSource&gt;
  84. &lt;/textItem&gt;
  85. &lt;/contents&gt;
  86. &lt;/listColumnBody&gt;
  87. &lt;/listColumn&gt;
  88. </payload>
  89. </subtemplate>
  90. <subtemplate name="list_category_group">
  91. <parameters>
  92. <param name="name" type="string" rule="smdName"/>
  93. <param name="hasChildCategory" type="option" rule="childCategory">
  94. <param name="childCategory" enumerateVariations="false" type="multinode" rule="nonSummaryChildCategory"/>
  95. </param>
  96. <param name="notSummaryParent" type="option" rule="notSummaryParent"/>
  97. </parameters>
  98. <payload>
  99. <param name="notSummaryParent" type="option">
  100. &lt;listGroup refDataItem=&quot;<param name="name" scope="root" encoding="xmlEncoded" type="string"/>&quot;/&gt;
  101. </param>
  102. <param name="hasChildCategory" type="option">
  103. <param name="childCategory" type="multinode" indexes="0">
  104. <callSubTemplate name="list_category_group"/>
  105. </param>
  106. </param>
  107. </payload>
  108. </subtemplate>
  109. <subtemplate name="crosstab_measure_cell">
  110. <parameters>
  111. <param name="multipleMeasures" type="option" rule="multipleMeasures"/>
  112. <param name="singleMeasure" type="option" rule="singleDistinctMeasure"/>
  113. <param name="measures" type="multinode" referenced="true">
  114. <param name="name" type="string" rule="smdName"/>
  115. </param>
  116. </parameters>
  117. <payload>
  118. <param name="singleMeasure" type="option">
  119. &lt;contents&gt;
  120. &lt;textItem&gt;
  121. &lt;dataSource&gt;
  122. &lt;dataItemLabel refDataItem=&quot;<param name="measures" scope="root" type="multinode"><param name="name" encoding="xmlEncoded" type="string"/></param>&quot;/&gt;
  123. &lt;/dataSource&gt;
  124. &lt;/textItem&gt;
  125. &lt;/contents&gt;
  126. </param>
  127. <param name="multipleMeasures" type="option">
  128. &lt;contents/&gt;
  129. </param>
  130. </payload>
  131. </subtemplate>
  132. <subtemplate name="crosstab_default_measure">
  133. <parameters>
  134. <param name="singleMeasure" type="option" rule="singleDistinctMeasure"/>
  135. <param name="measures" type="multinode" referenced="true">
  136. <param name="name" type="string" encoding="xmlEncoded" rule="smdName"/>
  137. </param>
  138. </parameters>
  139. <payload>
  140. <param name="singleMeasure" type="option">
  141. &lt;defaultMeasure refDataItem=&quot;<param name="measures" scope="root" type="multinode"><param name="name" encoding="xmlEncoded" type="string"/></param>&quot;/&gt;
  142. </param>
  143. </payload>
  144. </subtemplate>
  145. <subtemplate name="crosstab_nested_axis">
  146. <parameters>
  147. <param name="crosstabRows" type="multinode" referenced="true">
  148. <param name="calculations" type="multinode" rule="calculations" enumerateVariations="false"/>
  149. </param>
  150. </parameters>
  151. <payload>
  152. <param name="crosstabRows" type="multinode" delimeter="&lt;crosstabNestedNodes&gt;">
  153. <callSubTemplate name="crosstab_node_open"/>
  154. </param>
  155. <param name="crosstabRows" type="multinode" reversed="true" delimeter="&lt;/crosstabNestedNodes&gt;">
  156. <callSubTemplate name="crosstab_node_close"/>
  157. <param name="calculations" type="multinode">
  158. <callSubTemplate name="crosstab_category"/>
  159. </param>
  160. </param>
  161. </payload>
  162. </subtemplate>
  163. <subtemplate name="crosstab_axis_with_nested_measures">
  164. <parameters>
  165. <param name="crosstabColumns" type="node" referenced="true">
  166. <param name="calculations" type="multinode" rule="calculations" enumerateVariations="false"/>
  167. </param>
  168. <param name="multipleMeasures" type="option" rule="multipleMeasures"/>
  169. <param name="measures" type="multinode" referenced="true"/>
  170. </parameters>
  171. <payload>
  172. <param name="crosstabColumns" type="node">
  173. <callSubTemplate name="crosstab_node_open"/>
  174. </param>
  175. <param name="multipleMeasures" type="option">
  176. &lt;crosstabNestedNodes&gt;
  177. <param name="measures" scope="root" type="multinode">
  178. <callSubTemplate name="crosstab_measure_node"/>
  179. </param>
  180. &lt;/crosstabNestedNodes&gt;
  181. </param>
  182. <param name="crosstabColumns" type="node">
  183. <callSubTemplate name="crosstab_node_close"/>
  184. <param name="calculations" type="multinode">
  185. <callSubTemplate name="crosstab_category"/>
  186. </param>
  187. </param>
  188. </payload>
  189. </subtemplate>
  190. <subtemplate name="crosstab_nested_axis_with_nested_measures">
  191. <parameters>
  192. <param name="crosstabRows" type="multinode" referenced="true">
  193. <param name="calculations" type="multinode" rule="calculations" enumerateVariations="false"/>
  194. </param>
  195. <param name="multipleMeasures" type="option" rule="multipleMeasures"/>
  196. <param name="measures" type="multinode" referenced="true"/>
  197. </parameters>
  198. <payload>
  199. <param name="crosstabRows" type="multinode" delimeter="&lt;crosstabNestedNodes&gt;">
  200. <callSubTemplate name="crosstab_node_open"/>
  201. </param>
  202. <param name="multipleMeasures" type="option">
  203. &lt;crosstabNestedNodes&gt;
  204. <param name="measures" scope="root" type="multinode">
  205. <callSubTemplate name="crosstab_measure_node"/>
  206. </param>
  207. &lt;/crosstabNestedNodes&gt;
  208. </param>
  209. <param name="crosstabRows" type="multinode" delimeter="&lt;/crosstabNestedNodes&gt;">
  210. <callSubTemplate name="crosstab_node_close"/>
  211. <param name="calculations" type="multinode">
  212. <callSubTemplate name="crosstab_category"/>
  213. </param>
  214. </param>
  215. </payload>
  216. </subtemplate>
  217. <subtemplate name="crosstab_edge">
  218. <parameters>
  219. <param name="hasChildCategory" type="option" rule="childCategory">
  220. <param name="childCategory" enumerateVariations="false" type="multinode" rule="childCategory"/>
  221. </param>
  222. </parameters>
  223. <payload>
  224. <param name="hasChildCategory" type="option">
  225. <param name="childCategory" type="multinode">
  226. <callSubTemplate name="crosstab_edge_category"/>
  227. </param>
  228. </param>
  229. </payload>
  230. </subtemplate>
  231. <subtemplate name="crosstab_edge_category">
  232. <parameters>
  233. </parameters>
  234. <payload>
  235. &lt;crosstabNode&gt;
  236. <callSubTemplate name="crosstab_Category_nodeMembers"/>
  237. <callSubTemplate name="crosstab_edge_category_children"/>
  238. &lt;/crosstabNode&gt;
  239. </payload>
  240. </subtemplate>
  241. <subtemplate name="crosstab_edge_summary">
  242. <parameters>
  243. </parameters>
  244. <payload>
  245. &lt;crosstabNode&gt;
  246. <callSubTemplate name="crosstab_Summary_nodeMembers"/>
  247. <callSubTemplate name="crosstab_edge_category_children"/>
  248. &lt;/crosstabNode&gt;
  249. </payload>
  250. </subtemplate>
  251. <subtemplate name="crosstab_edge_category_children">
  252. <parameters>
  253. <param name="hasChildCategory" type="option" rule="childCategory">
  254. <param name="childCategory" enumerateVariations="false" type="multinode" rule="childCategory"/>
  255. </param>
  256. </parameters>
  257. <payload>
  258. <param name="hasChildCategory" type="option">
  259. &lt;crosstabNestedNodes&gt;
  260. <param name="childCategory" type="multinode">
  261. <callSubTemplate name="crosstab_edge_category"/>
  262. </param>
  263. &lt;/crosstabNestedNodes&gt;
  264. </param>
  265. </payload>
  266. </subtemplate>
  267. <subtemplate name="crosstab_category">
  268. <payload>
  269. <callSubTemplate name="crosstab_node_open"/>
  270. <callSubTemplate name="crosstab_node_close"/>
  271. </payload>
  272. </subtemplate>
  273. <subtemplate name="crosstab_measures">
  274. <parameters>
  275. <param name="measures" type="multinode" referenced="true"/>
  276. </parameters>
  277. <payload>
  278. <param name="measures" type="multinode">
  279. <callSubTemplate name="crosstab_measure_node"/>
  280. </param>
  281. </payload>
  282. </subtemplate>
  283. <subtemplate name="crosstab_node_open">
  284. <parameters>
  285. <param name="name" type="string" rule="smdName"/>
  286. <param name="hasChildCategory" type="option" rule="childCategory">
  287. <param name="childCategory" enumerateVariations="false" type="multinode" rule="nonSummaryChildCategory"/>
  288. </param>
  289. <param name="notSummaryParent" type="option" rule="notSummaryParent"/>
  290. </parameters>
  291. <payload>
  292. <param name="notSummaryParent" type="option">
  293. &lt;crosstabNode&gt;
  294. &lt;crosstabNodeMembers&gt;
  295. &lt;crosstabNodeMember refDataItem=&quot;<param name="name" scope="root" encoding="xmlEncoded" type="string"/>&quot;&gt;
  296. &lt;contents&gt;
  297. &lt;textItem&gt;
  298. &lt;dataSource&gt;
  299. &lt;memberCaption/&gt;
  300. &lt;/dataSource&gt;
  301. &lt;/textItem&gt;
  302. &lt;/contents&gt;
  303. &lt;style&gt;
  304. &lt;defaultStyles&gt;
  305. &lt;defaultStyle refStyle=&quot;ml&quot;/&gt;
  306. &lt;/defaultStyles&gt;
  307. &lt;/style&gt;
  308. &lt;indentation type=&quot;relative&quot; indentationLength=&quot;20&quot;/&gt;
  309. &lt;/crosstabNodeMember&gt;
  310. &lt;/crosstabNodeMembers&gt;
  311. <param name="hasChildCategory" scope="root" type="option">
  312. &lt;crosstabNestedNodes&gt;
  313. </param>
  314. </param>
  315. <param name="hasChildCategory" type="option">
  316. <param name="childCategory" type="multinode" indexes="0"><!-- For now just take the first, need a better way later -->
  317. <callSubTemplate name="crosstab_node_open"/>
  318. </param>
  319. </param>
  320. </payload>
  321. </subtemplate>
  322. <subtemplate name="crosstab_node_close">
  323. <parameters>
  324. <param name="hasChildCategory" type="option" rule="childCategory">
  325. <param name="childCategory" enumerateVariations="false" type="multinode" rule="nonSummaryChildCategory"/>
  326. <param name="summaryChildCategory" enumerateVariations="false" type="multinode" rule="summaryChildCategory"/>
  327. </param>
  328. <param name="notSummaryParent" type="option" rule="notSummaryParent"/>
  329. <param name="isSummaryParent" type="option" rule="isSummaryParent"/>
  330. </parameters>
  331. <payload>
  332. <param name="hasChildCategory" type="option">
  333. <param name="childCategory" type="multinode" indexes="0"><!-- For now just take the first, need a better way later -->
  334. <callSubTemplate name="crosstab_node_close"/>
  335. </param>
  336. </param>
  337. <param name="allowSummaries" type="option">
  338. <param name="hasChildCategory" scope="root" type="option">
  339. <param name="summaryChildCategory" type="multinode">
  340. <callSubTemplate name="crosstab_summary_node"/>
  341. </param>
  342. </param>
  343. </param>
  344. <param name="notSummaryParent" type="option">
  345. <param name="hasChildCategory" scope="root" type="option">
  346. &lt;/crosstabNestedNodes&gt;
  347. </param>
  348. &lt;/crosstabNode&gt;
  349. </param>
  350. <param name="isSummaryParent" type="option">
  351. <callSubTemplate name="crosstab_summary_node"/>
  352. </param>
  353. </payload>
  354. </subtemplate>
  355. <subtemplate name="crosstab_Category_nodeMembers">
  356. <parameters>
  357. <param name="name" type="string" rule="smdName"/>
  358. </parameters>
  359. <payload>
  360. &lt;crosstabNodeMembers&gt;
  361. &lt;crosstabNodeMember refDataItem=&quot;<param name="name" scope="root" encoding="xmlEncoded" type="string"/>&quot;&gt;
  362. &lt;contents&gt;
  363. &lt;textItem&gt;
  364. &lt;dataSource&gt;
  365. &lt;memberCaption/&gt;
  366. &lt;/dataSource&gt;
  367. &lt;/textItem&gt;
  368. &lt;/contents&gt;
  369. &lt;style&gt;
  370. &lt;defaultStyles&gt;
  371. &lt;defaultStyle refStyle=&quot;ml&quot;/&gt;
  372. &lt;/defaultStyles&gt;
  373. &lt;/style&gt;
  374. &lt;indentation type=&quot;relative&quot; indentationLength=&quot;20&quot;/&gt;
  375. &lt;/crosstabNodeMember&gt;
  376. &lt;/crosstabNodeMembers&gt;
  377. </payload>
  378. </subtemplate>
  379. <subtemplate name="crosstab_Summary_nodeMembers">
  380. <parameters>
  381. <param name="name" type="string" rule="smdName"/>
  382. </parameters>
  383. <payload>
  384. &lt;crosstabNodeMembers&gt;
  385. &lt;crosstabNodeMember refDataItem=&quot;<param name="name" encoding="xmlEncoded" type="string"/>&quot;&gt;
  386. &lt;style&gt;
  387. &lt;defaultStyles&gt;
  388. &lt;defaultStyle refStyle=&quot;ol&quot;/&gt;
  389. &lt;/defaultStyles&gt;
  390. &lt;/style&gt;
  391. &lt;contents&gt;
  392. &lt;textItem&gt;
  393. &lt;dataSource&gt;
  394. &lt;memberCaption/&gt;
  395. &lt;/dataSource&gt;
  396. &lt;/textItem&gt;
  397. &lt;/contents&gt;
  398. &lt;factCell&gt;
  399. &lt;style&gt;
  400. &lt;defaultStyles&gt;
  401. &lt;defaultStyle refStyle=&quot;ol&quot;/&gt;
  402. &lt;/defaultStyles&gt;
  403. &lt;/style&gt;
  404. &lt;/factCell&gt;
  405. &lt;/crosstabNodeMember&gt;
  406. &lt;/crosstabNodeMembers&gt;
  407. </payload>
  408. </subtemplate>
  409. <subtemplate name="crosstab_measure_node">
  410. <parameters>
  411. <param name="name" type="string" rule="smdName"/>
  412. </parameters>
  413. <payload>
  414. &lt;crosstabNode&gt;
  415. &lt;crosstabNodeMembers&gt;
  416. &lt;crosstabNodeMember refDataItem=&quot;<param name="name" encoding="xmlEncoded" type="string"/>&quot;&gt;
  417. &lt;contents&gt;
  418. &lt;textItem&gt;
  419. &lt;dataSource&gt;
  420. &lt;memberCaption/&gt;
  421. &lt;/dataSource&gt;
  422. &lt;/textItem&gt;
  423. &lt;/contents&gt;
  424. &lt;style&gt;
  425. &lt;defaultStyles&gt;
  426. &lt;defaultStyle refStyle=&quot;ml&quot;/&gt;
  427. &lt;/defaultStyles&gt;
  428. &lt;/style&gt;
  429. &lt;/crosstabNodeMember&gt;
  430. &lt;/crosstabNodeMembers&gt;
  431. &lt;/crosstabNode&gt;
  432. </payload>
  433. </subtemplate>
  434. <subtemplate name="crosstab_summary_node">
  435. <parameters>
  436. <param name="name" type="string" rule="smdName"/>
  437. </parameters>
  438. <payload>
  439. &lt;crosstabNode&gt;
  440. <callSubTemplate name="crosstab_Summary_nodeMembers"/>
  441. &lt;/crosstabNode&gt;
  442. </payload>
  443. </subtemplate>
  444. </subtemplates>
  445. </template>