cpee 1.3.102

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. data/AUTHORS +3 -0
  2. data/COPYING +165 -0
  3. data/FEATURES +28 -0
  4. data/INSTALL +23 -0
  5. data/README +7 -0
  6. data/Rakefile +28 -0
  7. data/cockpit/contrib/symbols.svg +224 -0
  8. data/cockpit/contrib/transformation1.xsl +264 -0
  9. data/cockpit/contrib/transformation2.xsl +10 -0
  10. data/cockpit/css/ui.css +155 -0
  11. data/cockpit/index.html +241 -0
  12. data/cockpit/js/details.js +146 -0
  13. data/cockpit/js/instance.js +927 -0
  14. data/cockpit/js/parameters.js +66 -0
  15. data/cockpit/js/ui.js +48 -0
  16. data/cockpit/js/wfadaptor.cpee.js +1082 -0
  17. data/cockpit/lib/contextmenu.css +72 -0
  18. data/cockpit/lib/contextmenu.js +63 -0
  19. data/cockpit/lib/jquery-ui.custom.min.js +259 -0
  20. data/cockpit/lib/jquery-ui.custom.min.txt +16 -0
  21. data/cockpit/lib/jquery.caret.min.js +10 -0
  22. data/cockpit/lib/jquery.min.js +4 -0
  23. data/cockpit/lib/jquery.svgdom.js +281 -0
  24. data/cockpit/lib/parsequery.js +19 -0
  25. data/cockpit/lib/printf.js +368 -0
  26. data/cockpit/lib/strftime.min.js +1 -0
  27. data/cockpit/lib/ui.css +270 -0
  28. data/cockpit/lib/ui.js +60 -0
  29. data/cockpit/lib/underscore.min.js +27 -0
  30. data/cockpit/lib/util.js +53 -0
  31. data/cockpit/lib/wfadaptor-doc/demo1.html +517 -0
  32. data/cockpit/lib/wfadaptor-doc/demo2.html +84 -0
  33. data/cockpit/lib/wfadaptor-doc/index.html +54 -0
  34. data/cockpit/lib/wfadaptor.css +217 -0
  35. data/cockpit/lib/wfadaptor.js +410 -0
  36. data/cockpit/testsets/ADVENTURE Dynamic Order.xml +353 -0
  37. data/cockpit/testsets/ADVENTURE Main Loop.xml +327 -0
  38. data/cockpit/testsets/ADVENTURE Order.xml +424 -0
  39. data/cockpit/testsets/ADVENTURE Performance Test 1.xml +311 -0
  40. data/cockpit/testsets/ADVENTURE Performance Test 2.xml +297 -0
  41. data/cockpit/testsets/Concurrent.xml +315 -0
  42. data/cockpit/testsets/Coopis Testset.xml +346 -0
  43. data/cockpit/testsets/Endpoints and Data Manipulation.xml +359 -0
  44. data/cockpit/testsets/ICSOC Testset.xml +354 -0
  45. data/cockpit/testsets/Linear.xml +328 -0
  46. data/cockpit/testsets/Mangler 1.xml +352 -0
  47. data/cockpit/testsets/Mangler 2.xml +372 -0
  48. data/cockpit/testsets/RESCUE - Book Movie - Local.xml +385 -0
  49. data/cockpit/testsets/RESCUE - Book Movie.xml +385 -0
  50. data/cockpit/testsets/RESCUE - Loop-Parallel Injection.xml +393 -0
  51. data/cockpit/testsets/SOPROMO Test Sonification.xml +356 -0
  52. data/cockpit/testsets/Syncing P34 1.xml +329 -0
  53. data/cockpit/testsets/Syncing P34 2.xml +329 -0
  54. data/cockpit/testsets/Syncing P34 3.xml +329 -0
  55. data/cockpit/testsets/Syncing P34.xml +329 -0
  56. data/cockpit/testsets/TEST - Bad Loop.xml +428 -0
  57. data/cockpit/testsets/TEST - Wrong Positions.xml +470 -0
  58. data/cockpit/testsets/index.xml +24 -0
  59. data/contrib/Screenshot at 2011-09-28 02:38:11.png +0 -0
  60. data/contrib/logo2-small.png +0 -0
  61. data/contrib/logo2.png +0 -0
  62. data/contrib/logo2.svg +7610 -0
  63. data/contrib/logo2a.png +0 -0
  64. data/contrib/logo2a.svg +367 -0
  65. data/cpee.gemspec +24 -0
  66. data/lib/cpee.xml +39 -0
  67. data/lib/cpee/callback.rb +40 -0
  68. data/lib/cpee/controller.rb +440 -0
  69. data/lib/cpee/empty_workflow.rb +24 -0
  70. data/lib/cpee/handler_notifications.rb +46 -0
  71. data/lib/cpee/handler_properties.rb +43 -0
  72. data/lib/cpee/implementation.rb +174 -0
  73. data/lib/engine.xml +85 -0
  74. data/lib/engine/callbacks.rng +41 -0
  75. data/lib/engine/instance-info.rng +41 -0
  76. data/lib/engine/instances.rng +38 -0
  77. data/server/handlerwrappers/default.rb +142 -0
  78. data/server/handlerwrappers/rescue.rb +216 -0
  79. data/server/handlerwrappers/soap.rb +152 -0
  80. data/server/instances/1/notifications/1d41ebf5e52bf039b3c3873fddb8e9bd/consumer-secret +1 -0
  81. data/server/instances/1/notifications/1d41ebf5e52bf039b3c3873fddb8e9bd/producer-secret +1 -0
  82. data/server/instances/1/notifications/1d41ebf5e52bf039b3c3873fddb8e9bd/subscription.xml +27 -0
  83. data/server/instances/1/notifications/66ad546f13c6c7c84f36215c24dd2e6e/consumer-secret +1 -0
  84. data/server/instances/1/notifications/66ad546f13c6c7c84f36215c24dd2e6e/producer-secret +1 -0
  85. data/server/instances/1/notifications/66ad546f13c6c7c84f36215c24dd2e6e/subscription.xml +27 -0
  86. data/server/instances/1/notifications/9f23b768395a19cc1dd6c2d2a243c78e/consumer-secret +1 -0
  87. data/server/instances/1/notifications/9f23b768395a19cc1dd6c2d2a243c78e/producer-secret +1 -0
  88. data/server/instances/1/notifications/9f23b768395a19cc1dd6c2d2a243c78e/subscription.xml +27 -0
  89. data/server/instances/1/notifications/fa690a88cc565dfa53b13ced355cd039/consumer-secret +1 -0
  90. data/server/instances/1/notifications/fa690a88cc565dfa53b13ced355cd039/producer-secret +1 -0
  91. data/server/instances/1/notifications/fa690a88cc565dfa53b13ced355cd039/subscription.xml +5 -0
  92. data/server/instances/1/properties.xml +522 -0
  93. data/server/instances/10/notifications/0867c4a937f882af259137e36d331261/consumer-secret +1 -0
  94. data/server/instances/10/notifications/0867c4a937f882af259137e36d331261/producer-secret +1 -0
  95. data/server/instances/10/notifications/0867c4a937f882af259137e36d331261/subscription.xml +27 -0
  96. data/server/instances/10/notifications/28acb605c56588ec8e47431c1fcf0b20/consumer-secret +1 -0
  97. data/server/instances/10/notifications/28acb605c56588ec8e47431c1fcf0b20/producer-secret +1 -0
  98. data/server/instances/10/notifications/28acb605c56588ec8e47431c1fcf0b20/subscription.xml +27 -0
  99. data/server/instances/10/notifications/31d3f699def1d1e86dc18ef421f718ad/consumer-secret +1 -0
  100. data/server/instances/10/notifications/31d3f699def1d1e86dc18ef421f718ad/producer-secret +1 -0
  101. data/server/instances/10/notifications/31d3f699def1d1e86dc18ef421f718ad/subscription.xml +27 -0
  102. data/server/instances/10/notifications/380b57220000c45342fc56a1ed8e9e3f/consumer-secret +1 -0
  103. data/server/instances/10/notifications/380b57220000c45342fc56a1ed8e9e3f/producer-secret +1 -0
  104. data/server/instances/10/notifications/380b57220000c45342fc56a1ed8e9e3f/subscription.xml +27 -0
  105. data/server/instances/10/notifications/41eeb5d90b513781fb4b440cb97ca7f1/consumer-secret +1 -0
  106. data/server/instances/10/notifications/41eeb5d90b513781fb4b440cb97ca7f1/producer-secret +1 -0
  107. data/server/instances/10/notifications/41eeb5d90b513781fb4b440cb97ca7f1/subscription.xml +27 -0
  108. data/server/instances/10/notifications/4d8c1b3a8dfdacac98144fad072c46d8/consumer-secret +1 -0
  109. data/server/instances/10/notifications/4d8c1b3a8dfdacac98144fad072c46d8/producer-secret +1 -0
  110. data/server/instances/10/notifications/4d8c1b3a8dfdacac98144fad072c46d8/subscription.xml +27 -0
  111. data/server/instances/10/notifications/4dde696cfb001e00a7efbd8e86ba227d/consumer-secret +1 -0
  112. data/server/instances/10/notifications/4dde696cfb001e00a7efbd8e86ba227d/producer-secret +1 -0
  113. data/server/instances/10/notifications/4dde696cfb001e00a7efbd8e86ba227d/subscription.xml +27 -0
  114. data/server/instances/10/notifications/4e1c0065dd95f7c175bbccb874f0baea/consumer-secret +1 -0
  115. data/server/instances/10/notifications/4e1c0065dd95f7c175bbccb874f0baea/producer-secret +1 -0
  116. data/server/instances/10/notifications/4e1c0065dd95f7c175bbccb874f0baea/subscription.xml +27 -0
  117. data/server/instances/10/notifications/6198fb7d6a8249f7820e3e57eeefa8af/consumer-secret +1 -0
  118. data/server/instances/10/notifications/6198fb7d6a8249f7820e3e57eeefa8af/producer-secret +1 -0
  119. data/server/instances/10/notifications/6198fb7d6a8249f7820e3e57eeefa8af/subscription.xml +27 -0
  120. data/server/instances/10/notifications/6aeb90da52abc150f0f0135d8ba2dbac/consumer-secret +1 -0
  121. data/server/instances/10/notifications/6aeb90da52abc150f0f0135d8ba2dbac/producer-secret +1 -0
  122. data/server/instances/10/notifications/6aeb90da52abc150f0f0135d8ba2dbac/subscription.xml +27 -0
  123. data/server/instances/10/notifications/6d77f5bac1eb9d6165394b6bfc9b492a/consumer-secret +1 -0
  124. data/server/instances/10/notifications/6d77f5bac1eb9d6165394b6bfc9b492a/producer-secret +1 -0
  125. data/server/instances/10/notifications/6d77f5bac1eb9d6165394b6bfc9b492a/subscription.xml +27 -0
  126. data/server/instances/10/notifications/7092411a6bb6822f651798fdcd3c4787/consumer-secret +1 -0
  127. data/server/instances/10/notifications/7092411a6bb6822f651798fdcd3c4787/producer-secret +1 -0
  128. data/server/instances/10/notifications/7092411a6bb6822f651798fdcd3c4787/subscription.xml +27 -0
  129. data/server/instances/10/notifications/7ab29bbad4122295c05f9e33fd1e0fc3/consumer-secret +1 -0
  130. data/server/instances/10/notifications/7ab29bbad4122295c05f9e33fd1e0fc3/producer-secret +1 -0
  131. data/server/instances/10/notifications/7ab29bbad4122295c05f9e33fd1e0fc3/subscription.xml +27 -0
  132. data/server/instances/10/notifications/7fabcecc57fe0bd27ce50bedaef47bd2/consumer-secret +1 -0
  133. data/server/instances/10/notifications/7fabcecc57fe0bd27ce50bedaef47bd2/producer-secret +1 -0
  134. data/server/instances/10/notifications/7fabcecc57fe0bd27ce50bedaef47bd2/subscription.xml +27 -0
  135. data/server/instances/10/notifications/85760dad8f7abbd73ae1dd44140dabf1/consumer-secret +1 -0
  136. data/server/instances/10/notifications/85760dad8f7abbd73ae1dd44140dabf1/producer-secret +1 -0
  137. data/server/instances/10/notifications/85760dad8f7abbd73ae1dd44140dabf1/subscription.xml +27 -0
  138. data/server/instances/10/notifications/8b9a96d109d44a1fc22858006c0f0e16/consumer-secret +1 -0
  139. data/server/instances/10/notifications/8b9a96d109d44a1fc22858006c0f0e16/producer-secret +1 -0
  140. data/server/instances/10/notifications/8b9a96d109d44a1fc22858006c0f0e16/subscription.xml +27 -0
  141. data/server/instances/10/notifications/9120a477e64d7debae2cda964a9948a0/consumer-secret +1 -0
  142. data/server/instances/10/notifications/9120a477e64d7debae2cda964a9948a0/producer-secret +1 -0
  143. data/server/instances/10/notifications/9120a477e64d7debae2cda964a9948a0/subscription.xml +27 -0
  144. data/server/instances/10/notifications/93c5a5ab72a745c0f9fffe2fe58db205/consumer-secret +1 -0
  145. data/server/instances/10/notifications/93c5a5ab72a745c0f9fffe2fe58db205/producer-secret +1 -0
  146. data/server/instances/10/notifications/93c5a5ab72a745c0f9fffe2fe58db205/subscription.xml +27 -0
  147. data/server/instances/10/notifications/a8db1498388588bddf518878263fd898/consumer-secret +1 -0
  148. data/server/instances/10/notifications/a8db1498388588bddf518878263fd898/producer-secret +1 -0
  149. data/server/instances/10/notifications/a8db1498388588bddf518878263fd898/subscription.xml +27 -0
  150. data/server/instances/10/notifications/b534f057c1c97f65e68f59427958e78d/consumer-secret +1 -0
  151. data/server/instances/10/notifications/b534f057c1c97f65e68f59427958e78d/producer-secret +1 -0
  152. data/server/instances/10/notifications/b534f057c1c97f65e68f59427958e78d/subscription.xml +27 -0
  153. data/server/instances/10/notifications/bb3d69ee3df32f3b5cb69a51d1af8ae4/consumer-secret +1 -0
  154. data/server/instances/10/notifications/bb3d69ee3df32f3b5cb69a51d1af8ae4/producer-secret +1 -0
  155. data/server/instances/10/notifications/bb3d69ee3df32f3b5cb69a51d1af8ae4/subscription.xml +27 -0
  156. data/server/instances/10/notifications/bc597391804363834987804436b8b63b/consumer-secret +1 -0
  157. data/server/instances/10/notifications/bc597391804363834987804436b8b63b/producer-secret +1 -0
  158. data/server/instances/10/notifications/bc597391804363834987804436b8b63b/subscription.xml +27 -0
  159. data/server/instances/10/notifications/bf2f6599eebcd9a08e47bdafd4a67660/consumer-secret +1 -0
  160. data/server/instances/10/notifications/bf2f6599eebcd9a08e47bdafd4a67660/producer-secret +1 -0
  161. data/server/instances/10/notifications/bf2f6599eebcd9a08e47bdafd4a67660/subscription.xml +27 -0
  162. data/server/instances/10/notifications/db9cf0ae80bd61e6124c382b992a1550/consumer-secret +1 -0
  163. data/server/instances/10/notifications/db9cf0ae80bd61e6124c382b992a1550/producer-secret +1 -0
  164. data/server/instances/10/notifications/db9cf0ae80bd61e6124c382b992a1550/subscription.xml +27 -0
  165. data/server/instances/10/notifications/e528089610c991500eb2e8b094f6f169/consumer-secret +1 -0
  166. data/server/instances/10/notifications/e528089610c991500eb2e8b094f6f169/producer-secret +1 -0
  167. data/server/instances/10/notifications/e528089610c991500eb2e8b094f6f169/subscription.xml +27 -0
  168. data/server/instances/10/notifications/e7d3ca382d26b5f5eba00c40c29827da/consumer-secret +1 -0
  169. data/server/instances/10/notifications/e7d3ca382d26b5f5eba00c40c29827da/producer-secret +1 -0
  170. data/server/instances/10/notifications/e7d3ca382d26b5f5eba00c40c29827da/subscription.xml +27 -0
  171. data/server/instances/10/notifications/ebdc914fde6fe299143ae4601c142738/consumer-secret +1 -0
  172. data/server/instances/10/notifications/ebdc914fde6fe299143ae4601c142738/producer-secret +1 -0
  173. data/server/instances/10/notifications/ebdc914fde6fe299143ae4601c142738/subscription.xml +27 -0
  174. data/server/instances/10/notifications/f26b2b9efc10b9259647cf1a2b934694/consumer-secret +1 -0
  175. data/server/instances/10/notifications/f26b2b9efc10b9259647cf1a2b934694/producer-secret +1 -0
  176. data/server/instances/10/notifications/f26b2b9efc10b9259647cf1a2b934694/subscription.xml +27 -0
  177. data/server/instances/10/notifications/f4e1d7808171fe7c5fab4a99145ea185/consumer-secret +1 -0
  178. data/server/instances/10/notifications/f4e1d7808171fe7c5fab4a99145ea185/producer-secret +1 -0
  179. data/server/instances/10/notifications/f4e1d7808171fe7c5fab4a99145ea185/subscription.xml +27 -0
  180. data/server/instances/10/notifications/f7e947a1b4b32f3dad5debd44fc3236b/consumer-secret +1 -0
  181. data/server/instances/10/notifications/f7e947a1b4b32f3dad5debd44fc3236b/producer-secret +1 -0
  182. data/server/instances/10/notifications/f7e947a1b4b32f3dad5debd44fc3236b/subscription.xml +27 -0
  183. data/server/instances/10/notifications/fbf5d0ae050a50e8a2fca6bc60f5b8d6/consumer-secret +1 -0
  184. data/server/instances/10/notifications/fbf5d0ae050a50e8a2fca6bc60f5b8d6/producer-secret +1 -0
  185. data/server/instances/10/notifications/fbf5d0ae050a50e8a2fca6bc60f5b8d6/subscription.xml +27 -0
  186. data/server/instances/10/properties.xml +388 -0
  187. data/server/instances/11/notifications/134c18da209261bc409ccd137b2e46d3/consumer-secret +1 -0
  188. data/server/instances/11/notifications/134c18da209261bc409ccd137b2e46d3/producer-secret +1 -0
  189. data/server/instances/11/notifications/134c18da209261bc409ccd137b2e46d3/subscription.xml +27 -0
  190. data/server/instances/11/notifications/48862f47f66e8229582bc91fbc38a512/consumer-secret +1 -0
  191. data/server/instances/11/notifications/48862f47f66e8229582bc91fbc38a512/producer-secret +1 -0
  192. data/server/instances/11/notifications/48862f47f66e8229582bc91fbc38a512/subscription.xml +5 -0
  193. data/server/instances/11/properties.xml +517 -0
  194. data/server/instances/2/notifications/0bbfabbebf46b850383b4e1d7bd926e3/consumer-secret +1 -0
  195. data/server/instances/2/notifications/0bbfabbebf46b850383b4e1d7bd926e3/producer-secret +1 -0
  196. data/server/instances/2/notifications/0bbfabbebf46b850383b4e1d7bd926e3/subscription.xml +27 -0
  197. data/server/instances/2/notifications/1d426895d19caa1471c713e80cc3c845/consumer-secret +1 -0
  198. data/server/instances/2/notifications/1d426895d19caa1471c713e80cc3c845/producer-secret +1 -0
  199. data/server/instances/2/notifications/1d426895d19caa1471c713e80cc3c845/subscription.xml +27 -0
  200. data/server/instances/2/notifications/292c8983aa798f0c5ced5ddc4b58abe4/consumer-secret +1 -0
  201. data/server/instances/2/notifications/292c8983aa798f0c5ced5ddc4b58abe4/producer-secret +1 -0
  202. data/server/instances/2/notifications/292c8983aa798f0c5ced5ddc4b58abe4/subscription.xml +27 -0
  203. data/server/instances/2/notifications/332c3026c8ad3075b092bd7e7a2b4f71/consumer-secret +1 -0
  204. data/server/instances/2/notifications/332c3026c8ad3075b092bd7e7a2b4f71/producer-secret +1 -0
  205. data/server/instances/2/notifications/332c3026c8ad3075b092bd7e7a2b4f71/subscription.xml +27 -0
  206. data/server/instances/2/notifications/d377446918808d23d03291fc1140883c/consumer-secret +1 -0
  207. data/server/instances/2/notifications/d377446918808d23d03291fc1140883c/producer-secret +1 -0
  208. data/server/instances/2/notifications/d377446918808d23d03291fc1140883c/subscription.xml +27 -0
  209. data/server/instances/2/notifications/d5b65c7cbff5d259e4ee8405190ec558/consumer-secret +1 -0
  210. data/server/instances/2/notifications/d5b65c7cbff5d259e4ee8405190ec558/producer-secret +1 -0
  211. data/server/instances/2/notifications/d5b65c7cbff5d259e4ee8405190ec558/subscription.xml +27 -0
  212. data/server/instances/2/notifications/d7ee4fedabb402dc43986dfa199e6768/consumer-secret +1 -0
  213. data/server/instances/2/notifications/d7ee4fedabb402dc43986dfa199e6768/producer-secret +1 -0
  214. data/server/instances/2/notifications/d7ee4fedabb402dc43986dfa199e6768/subscription.xml +5 -0
  215. data/server/instances/2/properties.xml +517 -0
  216. data/server/instances/3/notifications/27195e2503deaf25b3291394fe97985c/consumer-secret +1 -0
  217. data/server/instances/3/notifications/27195e2503deaf25b3291394fe97985c/producer-secret +1 -0
  218. data/server/instances/3/notifications/27195e2503deaf25b3291394fe97985c/subscription.xml +5 -0
  219. data/server/instances/3/notifications/6cec45935d78709a4aa6622491006f4b/consumer-secret +1 -0
  220. data/server/instances/3/notifications/6cec45935d78709a4aa6622491006f4b/producer-secret +1 -0
  221. data/server/instances/3/notifications/6cec45935d78709a4aa6622491006f4b/subscription.xml +27 -0
  222. data/server/instances/3/notifications/755542b2fb8d0c8fb9add29e012ec707/consumer-secret +1 -0
  223. data/server/instances/3/notifications/755542b2fb8d0c8fb9add29e012ec707/producer-secret +1 -0
  224. data/server/instances/3/notifications/755542b2fb8d0c8fb9add29e012ec707/subscription.xml +27 -0
  225. data/server/instances/3/properties.xml +517 -0
  226. data/server/instances/4/notifications/151e90db818eb5812905257a8eb7cea4/consumer-secret +1 -0
  227. data/server/instances/4/notifications/151e90db818eb5812905257a8eb7cea4/producer-secret +1 -0
  228. data/server/instances/4/notifications/151e90db818eb5812905257a8eb7cea4/subscription.xml +5 -0
  229. data/server/instances/4/notifications/a89df398fcc088c067c39ae3974ec57f/consumer-secret +1 -0
  230. data/server/instances/4/notifications/a89df398fcc088c067c39ae3974ec57f/producer-secret +1 -0
  231. data/server/instances/4/notifications/a89df398fcc088c067c39ae3974ec57f/subscription.xml +27 -0
  232. data/server/instances/4/properties.xml +517 -0
  233. data/server/instances/5/notifications/02ebbf888bd3efd11924f4c416d784e4/consumer-secret +1 -0
  234. data/server/instances/5/notifications/02ebbf888bd3efd11924f4c416d784e4/producer-secret +1 -0
  235. data/server/instances/5/notifications/02ebbf888bd3efd11924f4c416d784e4/subscription.xml +27 -0
  236. data/server/instances/5/notifications/0b9589d847cccf768013b6082893bce6/consumer-secret +1 -0
  237. data/server/instances/5/notifications/0b9589d847cccf768013b6082893bce6/producer-secret +1 -0
  238. data/server/instances/5/notifications/0b9589d847cccf768013b6082893bce6/subscription.xml +5 -0
  239. data/server/instances/5/properties.xml +517 -0
  240. data/server/instances/6/notifications/23da9f5c4548f384d625e6d12b3ebe2d/consumer-secret +1 -0
  241. data/server/instances/6/notifications/23da9f5c4548f384d625e6d12b3ebe2d/producer-secret +1 -0
  242. data/server/instances/6/notifications/23da9f5c4548f384d625e6d12b3ebe2d/subscription.xml +5 -0
  243. data/server/instances/6/notifications/282e7077e9c5b9972413cc92a6dcffc3/consumer-secret +1 -0
  244. data/server/instances/6/notifications/282e7077e9c5b9972413cc92a6dcffc3/producer-secret +1 -0
  245. data/server/instances/6/notifications/282e7077e9c5b9972413cc92a6dcffc3/subscription.xml +27 -0
  246. data/server/instances/6/notifications/7e57d7438db8210766eab6873124dc02/consumer-secret +1 -0
  247. data/server/instances/6/notifications/7e57d7438db8210766eab6873124dc02/producer-secret +1 -0
  248. data/server/instances/6/notifications/7e57d7438db8210766eab6873124dc02/subscription.xml +27 -0
  249. data/server/instances/6/properties.xml +517 -0
  250. data/server/instances/7/notifications/7276b795b5ed2f6638473526d9b1b1e1/consumer-secret +1 -0
  251. data/server/instances/7/notifications/7276b795b5ed2f6638473526d9b1b1e1/producer-secret +1 -0
  252. data/server/instances/7/notifications/7276b795b5ed2f6638473526d9b1b1e1/subscription.xml +27 -0
  253. data/server/instances/7/notifications/f3fbbf27fcbcc02a9f8a614326461a5c/consumer-secret +1 -0
  254. data/server/instances/7/notifications/f3fbbf27fcbcc02a9f8a614326461a5c/producer-secret +1 -0
  255. data/server/instances/7/notifications/f3fbbf27fcbcc02a9f8a614326461a5c/subscription.xml +5 -0
  256. data/server/instances/7/properties.xml +517 -0
  257. data/server/instances/8/notifications/2854ed5a8f97a33d31f908f67544ec62/consumer-secret +1 -0
  258. data/server/instances/8/notifications/2854ed5a8f97a33d31f908f67544ec62/producer-secret +1 -0
  259. data/server/instances/8/notifications/2854ed5a8f97a33d31f908f67544ec62/subscription.xml +27 -0
  260. data/server/instances/8/notifications/595259518a5cb2ce286bb39840f7a64c/consumer-secret +1 -0
  261. data/server/instances/8/notifications/595259518a5cb2ce286bb39840f7a64c/producer-secret +1 -0
  262. data/server/instances/8/notifications/595259518a5cb2ce286bb39840f7a64c/subscription.xml +5 -0
  263. data/server/instances/8/properties.xml +517 -0
  264. data/server/instances/9/notifications/54e96913d66f1dd69ec82d2b52268232/consumer-secret +1 -0
  265. data/server/instances/9/notifications/54e96913d66f1dd69ec82d2b52268232/producer-secret +1 -0
  266. data/server/instances/9/notifications/54e96913d66f1dd69ec82d2b52268232/subscription.xml +5 -0
  267. data/server/instances/9/notifications/5debc1fd138fdc80940cd5647003ed45/consumer-secret +1 -0
  268. data/server/instances/9/notifications/5debc1fd138fdc80940cd5647003ed45/producer-secret +1 -0
  269. data/server/instances/9/notifications/5debc1fd138fdc80940cd5647003ed45/subscription.xml +27 -0
  270. data/server/instances/9/properties.xml +517 -0
  271. data/server/resources/properties.init +351 -0
  272. data/server/resources/properties.schema.active +79 -0
  273. data/server/resources/properties.schema.finished +79 -0
  274. data/server/resources/properties.schema.inactive +79 -0
  275. data/server/resources/topics.xml +55 -0
  276. data/server/server.rb +25 -0
  277. data/server/todo.txt +20 -0
  278. data/test/delete.rb +27 -0
  279. data/test/load.rb +55 -0
  280. data/test/testset.xml +297 -0
  281. metadata +382 -0
@@ -0,0 +1,27 @@
1
+ <subscription xmlns="http://riddl.org/ns/common-patterns/notifications-producer/1.0">
2
+ <topic id="running">
3
+ <event>activity_calling</event>
4
+ <event>activity_manipulating</event>
5
+ <event>activity_failed</event>
6
+ <event>activity_done</event>
7
+ </topic>
8
+ <topic id="properties/position">
9
+ <event>change</event>
10
+ </topic>
11
+ <topic id="properties/description">
12
+ <event>change</event>
13
+ <event>error</event>
14
+ </topic>
15
+ <topic id="properties/state">
16
+ <event>change</event>
17
+ </topic>
18
+ <topic id="properties/dataelements">
19
+ <event>change</event>
20
+ </topic>
21
+ <topic id="properties/endpoints">
22
+ <event>change</event>
23
+ </topic>
24
+ <topic id="properties/handlers">
25
+ <event>change</event>
26
+ </topic>
27
+ </subscription>
@@ -0,0 +1,27 @@
1
+ <subscription xmlns="http://riddl.org/ns/common-patterns/notifications-producer/1.0">
2
+ <topic id="running">
3
+ <event>activity_calling</event>
4
+ <event>activity_manipulating</event>
5
+ <event>activity_failed</event>
6
+ <event>activity_done</event>
7
+ </topic>
8
+ <topic id="properties/position">
9
+ <event>change</event>
10
+ </topic>
11
+ <topic id="properties/description">
12
+ <event>change</event>
13
+ <event>error</event>
14
+ </topic>
15
+ <topic id="properties/state">
16
+ <event>change</event>
17
+ </topic>
18
+ <topic id="properties/dataelements">
19
+ <event>change</event>
20
+ </topic>
21
+ <topic id="properties/endpoints">
22
+ <event>change</event>
23
+ </topic>
24
+ <topic id="properties/handlers">
25
+ <event>change</event>
26
+ </topic>
27
+ </subscription>
@@ -0,0 +1,27 @@
1
+ <subscription xmlns="http://riddl.org/ns/common-patterns/notifications-producer/1.0">
2
+ <topic id="running">
3
+ <event>activity_calling</event>
4
+ <event>activity_manipulating</event>
5
+ <event>activity_failed</event>
6
+ <event>activity_done</event>
7
+ </topic>
8
+ <topic id="properties/position">
9
+ <event>change</event>
10
+ </topic>
11
+ <topic id="properties/description">
12
+ <event>change</event>
13
+ <event>error</event>
14
+ </topic>
15
+ <topic id="properties/state">
16
+ <event>change</event>
17
+ </topic>
18
+ <topic id="properties/dataelements">
19
+ <event>change</event>
20
+ </topic>
21
+ <topic id="properties/endpoints">
22
+ <event>change</event>
23
+ </topic>
24
+ <topic id="properties/handlers">
25
+ <event>change</event>
26
+ </topic>
27
+ </subscription>
@@ -0,0 +1,27 @@
1
+ <subscription xmlns="http://riddl.org/ns/common-patterns/notifications-producer/1.0">
2
+ <topic id="running">
3
+ <event>activity_calling</event>
4
+ <event>activity_manipulating</event>
5
+ <event>activity_failed</event>
6
+ <event>activity_done</event>
7
+ </topic>
8
+ <topic id="properties/position">
9
+ <event>change</event>
10
+ </topic>
11
+ <topic id="properties/description">
12
+ <event>change</event>
13
+ <event>error</event>
14
+ </topic>
15
+ <topic id="properties/state">
16
+ <event>change</event>
17
+ </topic>
18
+ <topic id="properties/dataelements">
19
+ <event>change</event>
20
+ </topic>
21
+ <topic id="properties/endpoints">
22
+ <event>change</event>
23
+ </topic>
24
+ <topic id="properties/handlers">
25
+ <event>change</event>
26
+ </topic>
27
+ </subscription>
@@ -0,0 +1,27 @@
1
+ <subscription xmlns="http://riddl.org/ns/common-patterns/notifications-producer/1.0">
2
+ <topic id="running">
3
+ <event>activity_calling</event>
4
+ <event>activity_manipulating</event>
5
+ <event>activity_failed</event>
6
+ <event>activity_done</event>
7
+ </topic>
8
+ <topic id="properties/position">
9
+ <event>change</event>
10
+ </topic>
11
+ <topic id="properties/description">
12
+ <event>change</event>
13
+ <event>error</event>
14
+ </topic>
15
+ <topic id="properties/state">
16
+ <event>change</event>
17
+ </topic>
18
+ <topic id="properties/dataelements">
19
+ <event>change</event>
20
+ </topic>
21
+ <topic id="properties/endpoints">
22
+ <event>change</event>
23
+ </topic>
24
+ <topic id="properties/handlers">
25
+ <event>change</event>
26
+ </topic>
27
+ </subscription>
@@ -0,0 +1,388 @@
1
+ <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
2
+ <name>Enter name here</name>
3
+ <state>finished</state>
4
+ <handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
5
+ <positions/>
6
+ <dataelements>
7
+ <x>""a2,a3,</x>
8
+ </dataelements>
9
+ <endpoints>
10
+ <timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
11
+ </endpoints>
12
+ <dsl>activity :a1, :call, :timeout, :method =&gt; "post", :parameters =&gt; [ { :timeout =&gt; 2 } ] do |result|
13
+ data.x += "a1,"
14
+ end
15
+ critical :section do
16
+ activity :a2, :call, :timeout, :method =&gt; "post", :parameters =&gt; [ { :timeout =&gt; 4 } ] do |result|
17
+ data.x += "a2,"
18
+ end
19
+ end
20
+ activity :a3, :call, :timeout, :method =&gt; "post", :parameters =&gt; [ { :timeout =&gt; 4 } ] do |result|
21
+ data.x += "a3,"
22
+ end
23
+ </dsl>
24
+ <status>
25
+ <id>0</id>
26
+ <message>undefined</message>
27
+ </status>
28
+ <description>
29
+ <description xmlns="http://cpee.org/ns/description/1.0">
30
+ <!--{{{-->
31
+ <call id="a1" endpoint="timeout">
32
+ <parameters>
33
+ <!--{{{-->
34
+ <method>post</method>
35
+ <parameters>
36
+ <timeout>2</timeout>
37
+ </parameters>
38
+ </parameters>
39
+ <!--}}}-->
40
+ <manipulate output="result"> data.x += "a1,"</manipulate>
41
+ </call>
42
+ <critical sid="section">
43
+ <call id="a2" endpoint="timeout">
44
+ <parameters>
45
+ <!--{{{-->
46
+ <method>post</method>
47
+ <parameters>
48
+ <timeout>4</timeout>
49
+ </parameters>
50
+ </parameters>
51
+ <!--}}}-->
52
+ <manipulate output="result"> data.x += "a2,"</manipulate>
53
+ </call>
54
+ </critical>
55
+ <call id="a3" endpoint="timeout">
56
+ <parameters>
57
+ <!--{{{-->
58
+ <method>post</method>
59
+ <parameters>
60
+ <timeout>4</timeout>
61
+ </parameters>
62
+ </parameters>
63
+ <!--}}}-->
64
+ <manipulate output="result"> data.x += "a3,"</manipulate>
65
+ </call>
66
+ </description>
67
+ </description>
68
+ <transformation>
69
+ <!--{{{-->
70
+ <!--}}}-->
71
+ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:d="http://cpee.org/ns/description/1.0" version="1.0">
72
+ <xsl:output method="text"/>
73
+ <xsl:strip-space elements="*"/>
74
+ <xsl:variable name="myspacemultiplier">2</xsl:variable>
75
+ <xsl:template match="/">
76
+ <xsl:apply-templates select="//d:description"/>
77
+ </xsl:template>
78
+ <xsl:template match="//d:description">
79
+ <xsl:apply-templates>
80
+ <xsl:with-param name="myspace">
81
+ <xsl:value-of select="-1*$myspacemultiplier"/>
82
+ </xsl:with-param>
83
+ </xsl:apply-templates>
84
+ </xsl:template>
85
+ <xsl:template match="*">
86
+ <xsl:param name="myspace"/>
87
+ <xsl:call-template name="print-space">
88
+ <xsl:with-param name="i">1</xsl:with-param>
89
+ <xsl:with-param name="count">
90
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
91
+ </xsl:with-param>
92
+ </xsl:call-template>
93
+ <xsl:if test="name()='call' or name()='manipulate'">
94
+ <xsl:text>activity :</xsl:text>
95
+ <xsl:value-of select="@id"/>
96
+ </xsl:if>
97
+ <xsl:if test="name()='call'">
98
+ <xsl:text>, :call, :</xsl:text>
99
+ <xsl:value-of select="@endpoint"/>
100
+ <xsl:apply-templates select="d:parameters"/>
101
+ <xsl:apply-templates select="d:manipulate" mode="part-of-call">
102
+ <xsl:with-param name="myspace">
103
+ <xsl:value-of select="$myspace"/>
104
+ </xsl:with-param>
105
+ </xsl:apply-templates>
106
+ <xsl:call-template name="print-newline"/>
107
+ </xsl:if>
108
+ <xsl:if test="name()='manipulate'">
109
+ <xsl:text>, :manipulate</xsl:text>
110
+ <xsl:call-template name="print-content">
111
+ <xsl:with-param name="myspace">
112
+ <xsl:value-of select="$myspace"/>
113
+ </xsl:with-param>
114
+ </xsl:call-template>
115
+ <xsl:call-template name="print-newline"/>
116
+ </xsl:if>
117
+ <xsl:if test="name()='parallel'">
118
+ <xsl:text>parallel</xsl:text>
119
+ <xsl:if test="@wait">
120
+ <xsl:text> :wait =&gt; </xsl:text>
121
+ <xsl:value-of select="@wait"/>
122
+ </xsl:if>
123
+ <xsl:text> do</xsl:text>
124
+ <xsl:call-template name="print-newline"/>
125
+ <xsl:apply-templates>
126
+ <xsl:with-param name="myspace">
127
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
128
+ </xsl:with-param>
129
+ </xsl:apply-templates>
130
+ <xsl:call-template name="print-space">
131
+ <xsl:with-param name="i">1</xsl:with-param>
132
+ <xsl:with-param name="count">
133
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
134
+ </xsl:with-param>
135
+ </xsl:call-template>
136
+ <xsl:text>end</xsl:text>
137
+ <xsl:call-template name="print-newline"/>
138
+ </xsl:if>
139
+ <xsl:if test="name()='loop'">
140
+ <xsl:text>loop </xsl:text>
141
+ <xsl:if test="@pre_test">
142
+ <xsl:text>pre_test{</xsl:text>
143
+ <xsl:value-of select="@pre_test"/>
144
+ <xsl:text>} </xsl:text>
145
+ </xsl:if>
146
+ <xsl:if test="@post_test">
147
+ <xsl:text>post_test{</xsl:text>
148
+ <xsl:value-of select="@post_test"/>
149
+ <xsl:text>} </xsl:text>
150
+ </xsl:if>
151
+ <xsl:text>do</xsl:text>
152
+ <xsl:call-template name="print-newline"/>
153
+ <xsl:apply-templates>
154
+ <xsl:with-param name="myspace">
155
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
156
+ </xsl:with-param>
157
+ </xsl:apply-templates>
158
+ <xsl:call-template name="print-space">
159
+ <xsl:with-param name="i">1</xsl:with-param>
160
+ <xsl:with-param name="count">
161
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
162
+ </xsl:with-param>
163
+ </xsl:call-template>
164
+ <xsl:text>end</xsl:text>
165
+ <xsl:call-template name="print-newline"/>
166
+ </xsl:if>
167
+ <xsl:if test="name()='choose'">
168
+ <xsl:text>choose do</xsl:text>
169
+ <xsl:call-template name="print-newline"/>
170
+ <xsl:apply-templates>
171
+ <xsl:with-param name="myspace">
172
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
173
+ </xsl:with-param>
174
+ </xsl:apply-templates>
175
+ <xsl:call-template name="print-space">
176
+ <xsl:with-param name="i">1</xsl:with-param>
177
+ <xsl:with-param name="count">
178
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
179
+ </xsl:with-param>
180
+ </xsl:call-template>
181
+ <xsl:text>end</xsl:text>
182
+ <xsl:call-template name="print-newline"/>
183
+ </xsl:if>
184
+ <xsl:if test="name()='group'">
185
+ <xsl:apply-templates>
186
+ <xsl:with-param name="myspace">
187
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
188
+ </xsl:with-param>
189
+ </xsl:apply-templates>
190
+ <xsl:call-template name="print-newline"/>
191
+ </xsl:if>
192
+ <xsl:if test="name()='critical'">
193
+ <xsl:text>critical :</xsl:text>
194
+ <xsl:value-of select="@sid"/>
195
+ <xsl:text> do</xsl:text>
196
+ <xsl:call-template name="print-newline"/>
197
+ <xsl:apply-templates>
198
+ <xsl:with-param name="myspace">
199
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
200
+ </xsl:with-param>
201
+ </xsl:apply-templates>
202
+ <xsl:call-template name="print-space">
203
+ <xsl:with-param name="i">1</xsl:with-param>
204
+ <xsl:with-param name="count">
205
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
206
+ </xsl:with-param>
207
+ </xsl:call-template>
208
+ <xsl:text>end</xsl:text>
209
+ <xsl:call-template name="print-newline"/>
210
+ </xsl:if>
211
+ </xsl:template>
212
+ <xsl:template match="d:alternative">
213
+ <xsl:param name="myspace"/>
214
+ <xsl:call-template name="print-space">
215
+ <xsl:with-param name="i">1</xsl:with-param>
216
+ <xsl:with-param name="count">
217
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
218
+ </xsl:with-param>
219
+ </xsl:call-template>
220
+ <xsl:text>alternative </xsl:text>
221
+ <xsl:value-of select="@condition"/>
222
+ <xsl:text> do</xsl:text>
223
+ <xsl:call-template name="print-newline"/>
224
+ <xsl:apply-templates>
225
+ <xsl:with-param name="myspace">
226
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
227
+ </xsl:with-param>
228
+ </xsl:apply-templates>
229
+ <xsl:call-template name="print-space">
230
+ <xsl:with-param name="i">1</xsl:with-param>
231
+ <xsl:with-param name="count">
232
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
233
+ </xsl:with-param>
234
+ </xsl:call-template>
235
+ <xsl:text>end</xsl:text>
236
+ <xsl:call-template name="print-newline"/>
237
+ </xsl:template>
238
+ <xsl:template match="d:otherwise">
239
+ <xsl:param name="myspace"/>
240
+ <xsl:call-template name="print-space">
241
+ <xsl:with-param name="i">1</xsl:with-param>
242
+ <xsl:with-param name="count">
243
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
244
+ </xsl:with-param>
245
+ </xsl:call-template>
246
+ <xsl:text>otherwise do</xsl:text>
247
+ <xsl:call-template name="print-newline"/>
248
+ <xsl:apply-templates>
249
+ <xsl:with-param name="myspace">
250
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
251
+ </xsl:with-param>
252
+ </xsl:apply-templates>
253
+ <xsl:call-template name="print-space">
254
+ <xsl:with-param name="i">1</xsl:with-param>
255
+ <xsl:with-param name="count">
256
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
257
+ </xsl:with-param>
258
+ </xsl:call-template>
259
+ <xsl:text>end</xsl:text>
260
+ <xsl:call-template name="print-newline"/>
261
+ </xsl:template>
262
+ <xsl:template match="d:parallel_branch">
263
+ <xsl:param name="myspace"/>
264
+ <xsl:call-template name="print-space">
265
+ <xsl:with-param name="i">1</xsl:with-param>
266
+ <xsl:with-param name="count">
267
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
268
+ </xsl:with-param>
269
+ </xsl:call-template>
270
+ <xsl:text>parallel_branch</xsl:text>
271
+ <xsl:if test="@pass">
272
+ <xsl:text> </xsl:text>
273
+ <xsl:value-of select="@pass"/>
274
+ </xsl:if>
275
+ <xsl:text> do</xsl:text>
276
+ <xsl:if test="@local">
277
+ <xsl:text> |</xsl:text>
278
+ <xsl:value-of select="@local"/>
279
+ <xsl:text>|</xsl:text>
280
+ </xsl:if>
281
+ <xsl:call-template name="print-newline"/>
282
+ <xsl:apply-templates>
283
+ <xsl:with-param name="myspace">
284
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
285
+ </xsl:with-param>
286
+ </xsl:apply-templates>
287
+ <xsl:call-template name="print-space">
288
+ <xsl:with-param name="i">1</xsl:with-param>
289
+ <xsl:with-param name="count">
290
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
291
+ </xsl:with-param>
292
+ </xsl:call-template>
293
+ <xsl:text>end</xsl:text>
294
+ <xsl:call-template name="print-newline"/>
295
+ </xsl:template>
296
+ <xsl:template match="d:parameters">
297
+ <xsl:apply-templates select="d:*" mode="parameter"/>
298
+ </xsl:template>
299
+ <xsl:template match="d:*" mode="parameter">
300
+ <xsl:text>, :</xsl:text>
301
+ <xsl:value-of select="name()"/>
302
+ <xsl:text> =&gt; </xsl:text>
303
+ <xsl:choose>
304
+ <xsl:when test="count(*) &gt; 0">
305
+ <xsl:text>[</xsl:text>
306
+ <xsl:apply-templates select="d:*" mode="sub-parameter"/>
307
+ <xsl:text>]</xsl:text>
308
+ </xsl:when>
309
+ <xsl:otherwise>
310
+ <xsl:choose>
311
+ <xsl:when test="@type = 'symbolic'">
312
+ <xsl:value-of select="text()"/>
313
+ </xsl:when>
314
+ <xsl:otherwise>
315
+ <xsl:text>"</xsl:text>
316
+ <xsl:value-of select="text()"/>
317
+ <xsl:text>"</xsl:text>
318
+ </xsl:otherwise>
319
+ </xsl:choose>
320
+ </xsl:otherwise>
321
+ </xsl:choose>
322
+ </xsl:template>
323
+ <xsl:template match="d:*" mode="sub-parameter">
324
+ <xsl:text> { :</xsl:text>
325
+ <xsl:value-of select="name()"/>
326
+ <xsl:text> =&gt; </xsl:text>
327
+ <xsl:value-of select="text()"/>
328
+ <xsl:text> }</xsl:text>
329
+ <xsl:choose>
330
+ <xsl:when test="generate-id(.) = generate-id(../*[last()])">
331
+ <xsl:text> </xsl:text>
332
+ </xsl:when>
333
+ <xsl:otherwise>
334
+ <xsl:text>,</xsl:text>
335
+ </xsl:otherwise>
336
+ </xsl:choose>
337
+ </xsl:template>
338
+ <xsl:template match="d:manipulate" mode="part-of-call">
339
+ <xsl:param name="myspace"/>
340
+ <xsl:call-template name="print-content">
341
+ <xsl:with-param name="myspace">
342
+ <xsl:value-of select="$myspace"/>
343
+ </xsl:with-param>
344
+ </xsl:call-template>
345
+ </xsl:template>
346
+ <xsl:template name="print-content">
347
+ <xsl:param name="myspace"/>
348
+ <xsl:if test="text()">
349
+ <xsl:text> do </xsl:text>
350
+ <xsl:if test="@output">
351
+ <xsl:text>|</xsl:text>
352
+ <xsl:value-of select="@output"/>
353
+ <xsl:text>|</xsl:text>
354
+ </xsl:if>
355
+ <xsl:call-template name="print-newline"/>
356
+ <xsl:value-of select="text()"/>
357
+ <xsl:call-template name="print-newline"/>
358
+ <xsl:call-template name="print-space">
359
+ <xsl:with-param name="i">1</xsl:with-param>
360
+ <xsl:with-param name="count">
361
+ <xsl:value-of select="$myspace+$myspacemultiplier"/>
362
+ </xsl:with-param>
363
+ </xsl:call-template>
364
+ <xsl:text>end</xsl:text>
365
+ </xsl:if>
366
+ </xsl:template>
367
+ <xsl:template name="print-space">
368
+ <xsl:param name="i"/>
369
+ <xsl:param name="count"/>
370
+ <xsl:if test="$i &lt;= $count">
371
+ <xsl:text> </xsl:text>
372
+ <xsl:call-template name="print-space">
373
+ <xsl:with-param name="i">
374
+ <xsl:value-of select="$i + 1"/>
375
+ </xsl:with-param>
376
+ <xsl:with-param name="count">
377
+ <xsl:value-of select="$count"/>
378
+ </xsl:with-param>
379
+ </xsl:call-template>
380
+ </xsl:if>
381
+ </xsl:template>
382
+ <xsl:template name="print-newline">
383
+ <xsl:text>
384
+ </xsl:text>
385
+ </xsl:template>
386
+ </xsl:stylesheet>
387
+ </transformation>
388
+ </properties>