process_engine 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (409) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +37 -0
  4. data/app/assets/bower_components/process_engine/Snap.svg/CONTRIBUTING +3 -0
  5. data/app/assets/bower_components/process_engine/Snap.svg/Gruntfile.js +59 -0
  6. data/app/assets/bower_components/process_engine/Snap.svg/LICENSE +202 -0
  7. data/app/assets/bower_components/process_engine/Snap.svg/NOTICE +190 -0
  8. data/app/assets/bower_components/process_engine/Snap.svg/README.md +62 -0
  9. data/app/assets/bower_components/process_engine/Snap.svg/bower.json +25 -0
  10. data/app/assets/bower_components/process_engine/Snap.svg/component.json +13 -0
  11. data/app/assets/bower_components/process_engine/Snap.svg/dist/snap.svg-min.js +20 -0
  12. data/app/assets/bower_components/process_engine/Snap.svg/dist/snap.svg.js +7653 -0
  13. data/app/assets/bower_components/process_engine/Snap.svg/doc/css/dr.css +144 -0
  14. data/app/assets/bower_components/process_engine/Snap.svg/doc/css/main.css +508 -0
  15. data/app/assets/bower_components/process_engine/Snap.svg/doc/css/prism.css +168 -0
  16. data/app/assets/bower_components/process_engine/Snap.svg/doc/css/topcoat-desktop-light.css +3700 -0
  17. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcecodepro-regular-webfont.eot +0 -0
  18. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcecodepro-regular-webfont.svg +242 -0
  19. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcecodepro-regular-webfont.ttf +0 -0
  20. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcecodepro-regular-webfont.woff +0 -0
  21. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-light-webfont.eot +0 -0
  22. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-light-webfont.svg +243 -0
  23. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-light-webfont.ttf +0 -0
  24. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-light-webfont.woff +0 -0
  25. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-regular-webfont.eot +0 -0
  26. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-regular-webfont.svg +243 -0
  27. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-regular-webfont.ttf +0 -0
  28. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-regular-webfont.woff +0 -0
  29. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-semibold-webfont.eot +0 -0
  30. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-semibold-webfont.svg +243 -0
  31. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-semibold-webfont.ttf +0 -0
  32. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-semibold-webfont.woff +0 -0
  33. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/stylesheet.css +57 -0
  34. data/app/assets/bower_components/process_engine/Snap.svg/doc/img/search.svg +11 -0
  35. data/app/assets/bower_components/process_engine/Snap.svg/doc/img/search_dark.svg +16 -0
  36. data/app/assets/bower_components/process_engine/Snap.svg/doc/js/prism.js +9 -0
  37. data/app/assets/bower_components/process_engine/Snap.svg/doc/reference.html +13633 -0
  38. data/app/assets/bower_components/process_engine/Snap.svg/dr.json +33 -0
  39. data/app/assets/bower_components/process_engine/Snap.svg/history.md +31 -0
  40. data/app/assets/bower_components/process_engine/Snap.svg/package.json +22 -0
  41. data/app/assets/bower_components/process_engine/Snap.svg/template.dot +157 -0
  42. data/app/assets/bower_components/process_engine/Snap.svg/test.html +75 -0
  43. data/app/assets/bower_components/process_engine/bpmn-js/LICENSE +22 -0
  44. data/app/assets/bower_components/process_engine/bpmn-js/README.md +46 -0
  45. data/app/assets/bower_components/process_engine/bpmn-js/bower.json +28 -0
  46. data/app/assets/bower_components/process_engine/bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css +40 -0
  47. data/app/assets/bower_components/process_engine/bpmn-js/dist/assets/bpmn-font/font/bpmn.eot +0 -0
  48. data/app/assets/bower_components/process_engine/bpmn-js/dist/assets/bpmn-font/font/bpmn.svg +21 -0
  49. data/app/assets/bower_components/process_engine/bpmn-js/dist/assets/bpmn-font/font/bpmn.ttf +0 -0
  50. data/app/assets/bower_components/process_engine/bpmn-js/dist/assets/bpmn-font/font/bpmn.woff +0 -0
  51. data/app/assets/bower_components/process_engine/bpmn-js/dist/assets/diagram-js.css +355 -0
  52. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-modeler.js +21552 -0
  53. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-modeler.js.map +1 -0
  54. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-modeler.min.js +8 -0
  55. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-navigated-viewer.js +13542 -0
  56. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-navigated-viewer.js.map +1 -0
  57. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-navigated-viewer.min.js +5 -0
  58. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-viewer.js +13294 -0
  59. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-viewer.js.map +1 -0
  60. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-viewer.min.js +5 -0
  61. data/app/assets/bower_components/process_engine/hammerjs/CHANGELOG.md +30 -0
  62. data/app/assets/bower_components/process_engine/hammerjs/CONTRIBUTING.md +41 -0
  63. data/app/assets/bower_components/process_engine/hammerjs/Gruntfile.coffee +123 -0
  64. data/app/assets/bower_components/process_engine/hammerjs/LICENSE.md +21 -0
  65. data/app/assets/bower_components/process_engine/hammerjs/README.md +6 -0
  66. data/app/assets/bower_components/process_engine/hammerjs/bower.json +9 -0
  67. data/app/assets/bower_components/process_engine/hammerjs/component.json +8 -0
  68. data/app/assets/bower_components/process_engine/hammerjs/hammer.js +2463 -0
  69. data/app/assets/bower_components/process_engine/hammerjs/hammer.min.js +7 -0
  70. data/app/assets/bower_components/process_engine/hammerjs/hammer.min.map +1 -0
  71. data/app/assets/bower_components/process_engine/hammerjs/package.json +50 -0
  72. data/app/assets/bower_components/process_engine/jquery/MIT-LICENSE.txt +21 -0
  73. data/app/assets/bower_components/process_engine/jquery/bower.json +27 -0
  74. data/app/assets/bower_components/process_engine/jquery/dist/jquery.js +9205 -0
  75. data/app/assets/bower_components/process_engine/jquery/dist/jquery.min.js +5 -0
  76. data/app/assets/bower_components/process_engine/jquery/dist/jquery.min.map +1 -0
  77. data/app/assets/bower_components/process_engine/jquery/src/ajax/jsonp.js +89 -0
  78. data/app/assets/bower_components/process_engine/jquery/src/ajax/load.js +75 -0
  79. data/app/assets/bower_components/process_engine/jquery/src/ajax/parseJSON.js +13 -0
  80. data/app/assets/bower_components/process_engine/jquery/src/ajax/parseXML.js +28 -0
  81. data/app/assets/bower_components/process_engine/jquery/src/ajax/script.js +64 -0
  82. data/app/assets/bower_components/process_engine/jquery/src/ajax/var/nonce.js +5 -0
  83. data/app/assets/bower_components/process_engine/jquery/src/ajax/var/rquery.js +3 -0
  84. data/app/assets/bower_components/process_engine/jquery/src/ajax/xhr.js +136 -0
  85. data/app/assets/bower_components/process_engine/jquery/src/ajax.js +786 -0
  86. data/app/assets/bower_components/process_engine/jquery/src/attributes/attr.js +141 -0
  87. data/app/assets/bower_components/process_engine/jquery/src/attributes/classes.js +158 -0
  88. data/app/assets/bower_components/process_engine/jquery/src/attributes/prop.js +94 -0
  89. data/app/assets/bower_components/process_engine/jquery/src/attributes/support.js +35 -0
  90. data/app/assets/bower_components/process_engine/jquery/src/attributes/val.js +161 -0
  91. data/app/assets/bower_components/process_engine/jquery/src/attributes.js +11 -0
  92. data/app/assets/bower_components/process_engine/jquery/src/callbacks.js +205 -0
  93. data/app/assets/bower_components/process_engine/jquery/src/core/access.js +60 -0
  94. data/app/assets/bower_components/process_engine/jquery/src/core/init.js +123 -0
  95. data/app/assets/bower_components/process_engine/jquery/src/core/parseHTML.js +39 -0
  96. data/app/assets/bower_components/process_engine/jquery/src/core/ready.js +97 -0
  97. data/app/assets/bower_components/process_engine/jquery/src/core/var/rsingleTag.js +4 -0
  98. data/app/assets/bower_components/process_engine/jquery/src/core.js +497 -0
  99. data/app/assets/bower_components/process_engine/jquery/src/css/addGetHookIf.js +22 -0
  100. data/app/assets/bower_components/process_engine/jquery/src/css/curCSS.js +57 -0
  101. data/app/assets/bower_components/process_engine/jquery/src/css/defaultDisplay.js +70 -0
  102. data/app/assets/bower_components/process_engine/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  103. data/app/assets/bower_components/process_engine/jquery/src/css/support.js +96 -0
  104. data/app/assets/bower_components/process_engine/jquery/src/css/swap.js +28 -0
  105. data/app/assets/bower_components/process_engine/jquery/src/css/var/cssExpand.js +3 -0
  106. data/app/assets/bower_components/process_engine/jquery/src/css/var/getStyles.js +12 -0
  107. data/app/assets/bower_components/process_engine/jquery/src/css/var/isHidden.js +13 -0
  108. data/app/assets/bower_components/process_engine/jquery/src/css/var/rmargin.js +3 -0
  109. data/app/assets/bower_components/process_engine/jquery/src/css/var/rnumnonpx.js +5 -0
  110. data/app/assets/bower_components/process_engine/jquery/src/css.js +450 -0
  111. data/app/assets/bower_components/process_engine/jquery/src/data/Data.js +181 -0
  112. data/app/assets/bower_components/process_engine/jquery/src/data/accepts.js +20 -0
  113. data/app/assets/bower_components/process_engine/jquery/src/data/var/data_priv.js +5 -0
  114. data/app/assets/bower_components/process_engine/jquery/src/data/var/data_user.js +5 -0
  115. data/app/assets/bower_components/process_engine/jquery/src/data.js +178 -0
  116. data/app/assets/bower_components/process_engine/jquery/src/deferred.js +149 -0
  117. data/app/assets/bower_components/process_engine/jquery/src/deprecated.js +13 -0
  118. data/app/assets/bower_components/process_engine/jquery/src/dimensions.js +50 -0
  119. data/app/assets/bower_components/process_engine/jquery/src/effects/Tween.js +114 -0
  120. data/app/assets/bower_components/process_engine/jquery/src/effects/animatedSelector.js +13 -0
  121. data/app/assets/bower_components/process_engine/jquery/src/effects.js +648 -0
  122. data/app/assets/bower_components/process_engine/jquery/src/event/ajax.js +13 -0
  123. data/app/assets/bower_components/process_engine/jquery/src/event/alias.js +39 -0
  124. data/app/assets/bower_components/process_engine/jquery/src/event/support.js +9 -0
  125. data/app/assets/bower_components/process_engine/jquery/src/event.js +868 -0
  126. data/app/assets/bower_components/process_engine/jquery/src/exports/amd.js +24 -0
  127. data/app/assets/bower_components/process_engine/jquery/src/exports/global.js +32 -0
  128. data/app/assets/bower_components/process_engine/jquery/src/intro.js +44 -0
  129. data/app/assets/bower_components/process_engine/jquery/src/jquery.js +37 -0
  130. data/app/assets/bower_components/process_engine/jquery/src/manipulation/_evalUrl.js +18 -0
  131. data/app/assets/bower_components/process_engine/jquery/src/manipulation/support.js +32 -0
  132. data/app/assets/bower_components/process_engine/jquery/src/manipulation/var/rcheckableType.js +3 -0
  133. data/app/assets/bower_components/process_engine/jquery/src/manipulation.js +580 -0
  134. data/app/assets/bower_components/process_engine/jquery/src/offset.js +207 -0
  135. data/app/assets/bower_components/process_engine/jquery/src/outro.js +1 -0
  136. data/app/assets/bower_components/process_engine/jquery/src/queue/delay.js +22 -0
  137. data/app/assets/bower_components/process_engine/jquery/src/queue.js +142 -0
  138. data/app/assets/bower_components/process_engine/jquery/src/selector-native.js +172 -0
  139. data/app/assets/bower_components/process_engine/jquery/src/selector-sizzle.js +14 -0
  140. data/app/assets/bower_components/process_engine/jquery/src/selector.js +1 -0
  141. data/app/assets/bower_components/process_engine/jquery/src/serialize.js +111 -0
  142. data/app/assets/bower_components/process_engine/jquery/src/sizzle/dist/sizzle.js +2067 -0
  143. data/app/assets/bower_components/process_engine/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  144. data/app/assets/bower_components/process_engine/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  145. data/app/assets/bower_components/process_engine/jquery/src/traversing/findFilter.js +100 -0
  146. data/app/assets/bower_components/process_engine/jquery/src/traversing/var/rneedsContext.js +6 -0
  147. data/app/assets/bower_components/process_engine/jquery/src/traversing.js +199 -0
  148. data/app/assets/bower_components/process_engine/jquery/src/var/arr.js +3 -0
  149. data/app/assets/bower_components/process_engine/jquery/src/var/class2type.js +4 -0
  150. data/app/assets/bower_components/process_engine/jquery/src/var/concat.js +5 -0
  151. data/app/assets/bower_components/process_engine/jquery/src/var/hasOwn.js +5 -0
  152. data/app/assets/bower_components/process_engine/jquery/src/var/indexOf.js +5 -0
  153. data/app/assets/bower_components/process_engine/jquery/src/var/pnum.js +3 -0
  154. data/app/assets/bower_components/process_engine/jquery/src/var/push.js +5 -0
  155. data/app/assets/bower_components/process_engine/jquery/src/var/rnotwhite.js +3 -0
  156. data/app/assets/bower_components/process_engine/jquery/src/var/slice.js +5 -0
  157. data/app/assets/bower_components/process_engine/jquery/src/var/strundefined.js +3 -0
  158. data/app/assets/bower_components/process_engine/jquery/src/var/support.js +4 -0
  159. data/app/assets/bower_components/process_engine/jquery/src/var/toString.js +5 -0
  160. data/app/assets/bower_components/process_engine/jquery/src/wrap.js +79 -0
  161. data/app/assets/bower_components/process_engine/jquery-mousewheel/ChangeLog.md +141 -0
  162. data/app/assets/bower_components/process_engine/jquery-mousewheel/LICENSE.txt +20 -0
  163. data/app/assets/bower_components/process_engine/jquery-mousewheel/README.md +85 -0
  164. data/app/assets/bower_components/process_engine/jquery-mousewheel/bower.json +17 -0
  165. data/app/assets/bower_components/process_engine/jquery-mousewheel/jquery.mousewheel.js +221 -0
  166. data/app/assets/bower_components/process_engine/jquery-mousewheel/jquery.mousewheel.min.js +8 -0
  167. data/app/assets/bower_components/process_engine/lodash/LICENSE.txt +22 -0
  168. data/app/assets/bower_components/process_engine/lodash/bower.json +23 -0
  169. data/app/assets/bower_components/process_engine/lodash/dist/lodash.compat.js +7157 -0
  170. data/app/assets/bower_components/process_engine/lodash/dist/lodash.compat.min.js +61 -0
  171. data/app/assets/bower_components/process_engine/lodash/dist/lodash.js +6785 -0
  172. data/app/assets/bower_components/process_engine/lodash/dist/lodash.min.js +56 -0
  173. data/app/assets/bower_components/process_engine/lodash/dist/lodash.underscore.js +4979 -0
  174. data/app/assets/bower_components/process_engine/lodash/dist/lodash.underscore.min.js +39 -0
  175. data/app/assets/bower_components/process_engine/sax/AUTHORS +10 -0
  176. data/app/assets/bower_components/process_engine/sax/LICENSE +32 -0
  177. data/app/assets/bower_components/process_engine/sax/LICENSE-W3C.html +188 -0
  178. data/app/assets/bower_components/process_engine/sax/README.md +216 -0
  179. data/app/assets/bower_components/process_engine/sax/component.json +12 -0
  180. data/app/assets/bower_components/process_engine/sax/examples/big-not-pretty.xml +8002 -0
  181. data/app/assets/bower_components/process_engine/sax/examples/example.js +29 -0
  182. data/app/assets/bower_components/process_engine/sax/examples/get-products.js +58 -0
  183. data/app/assets/bower_components/process_engine/sax/examples/hello-world.js +4 -0
  184. data/app/assets/bower_components/process_engine/sax/examples/not-pretty.xml +8 -0
  185. data/app/assets/bower_components/process_engine/sax/examples/pretty-print.js +74 -0
  186. data/app/assets/bower_components/process_engine/sax/examples/shopping.xml +2 -0
  187. data/app/assets/bower_components/process_engine/sax/examples/strict.dtd +870 -0
  188. data/app/assets/bower_components/process_engine/sax/examples/test.html +15 -0
  189. data/app/assets/bower_components/process_engine/sax/examples/test.xml +1254 -0
  190. data/app/assets/bower_components/process_engine/sax/lib/sax.js +1410 -0
  191. data/app/assets/bower_components/process_engine/sax/package.json +12 -0
  192. data/app/assets/bower_components/process_engine/sax/test/attribute-name.js +33 -0
  193. data/app/assets/bower_components/process_engine/sax/test/attribute-no-space.js +75 -0
  194. data/app/assets/bower_components/process_engine/sax/test/buffer-overrun.js +26 -0
  195. data/app/assets/bower_components/process_engine/sax/test/case.js +50 -0
  196. data/app/assets/bower_components/process_engine/sax/test/cdata-chunked.js +11 -0
  197. data/app/assets/bower_components/process_engine/sax/test/cdata-end-split.js +15 -0
  198. data/app/assets/bower_components/process_engine/sax/test/cdata-fake-end.js +28 -0
  199. data/app/assets/bower_components/process_engine/sax/test/cdata-multiple.js +15 -0
  200. data/app/assets/bower_components/process_engine/sax/test/cdata.js +10 -0
  201. data/app/assets/bower_components/process_engine/sax/test/cyrillic.js +8 -0
  202. data/app/assets/bower_components/process_engine/sax/test/duplicate-attribute.js +13 -0
  203. data/app/assets/bower_components/process_engine/sax/test/emoji.js +12 -0
  204. data/app/assets/bower_components/process_engine/sax/test/end_empty_stream.js +5 -0
  205. data/app/assets/bower_components/process_engine/sax/test/entities.js +10 -0
  206. data/app/assets/bower_components/process_engine/sax/test/entity-mega.js +16 -0
  207. data/app/assets/bower_components/process_engine/sax/test/flush.js +13 -0
  208. data/app/assets/bower_components/process_engine/sax/test/index.js +86 -0
  209. data/app/assets/bower_components/process_engine/sax/test/issue-23.js +43 -0
  210. data/app/assets/bower_components/process_engine/sax/test/issue-30.js +24 -0
  211. data/app/assets/bower_components/process_engine/sax/test/issue-35.js +15 -0
  212. data/app/assets/bower_components/process_engine/sax/test/issue-47.js +12 -0
  213. data/app/assets/bower_components/process_engine/sax/test/issue-49.js +31 -0
  214. data/app/assets/bower_components/process_engine/sax/test/issue-84.js +13 -0
  215. data/app/assets/bower_components/process_engine/sax/test/parser-position.js +28 -0
  216. data/app/assets/bower_components/process_engine/sax/test/script-close-better.js +12 -0
  217. data/app/assets/bower_components/process_engine/sax/test/script.js +12 -0
  218. data/app/assets/bower_components/process_engine/sax/test/self-closing-child-strict.js +44 -0
  219. data/app/assets/bower_components/process_engine/sax/test/self-closing-child.js +44 -0
  220. data/app/assets/bower_components/process_engine/sax/test/self-closing-tag.js +25 -0
  221. data/app/assets/bower_components/process_engine/sax/test/stray-ending.js +17 -0
  222. data/app/assets/bower_components/process_engine/sax/test/trailing-attribute-no-value.js +10 -0
  223. data/app/assets/bower_components/process_engine/sax/test/trailing-non-whitespace.js +18 -0
  224. data/app/assets/bower_components/process_engine/sax/test/unclosed-root.js +11 -0
  225. data/app/assets/bower_components/process_engine/sax/test/unquoted.js +18 -0
  226. data/app/assets/bower_components/process_engine/sax/test/utf8-split.js +32 -0
  227. data/app/assets/bower_components/process_engine/sax/test/xmlns-as-tag-name.js +15 -0
  228. data/app/assets/bower_components/process_engine/sax/test/xmlns-issue-41.js +68 -0
  229. data/app/assets/bower_components/process_engine/sax/test/xmlns-rebinding.js +63 -0
  230. data/app/assets/bower_components/process_engine/sax/test/xmlns-strict.js +74 -0
  231. data/app/assets/bower_components/process_engine/sax/test/xmlns-unbound-element.js +33 -0
  232. data/app/assets/bower_components/process_engine/sax/test/xmlns-unbound.js +15 -0
  233. data/app/assets/bower_components/process_engine/sax/test/xmlns-xml-default-ns.js +31 -0
  234. data/app/assets/bower_components/process_engine/sax/test/xmlns-xml-default-prefix-attribute.js +36 -0
  235. data/app/assets/bower_components/process_engine/sax/test/xmlns-xml-default-prefix.js +21 -0
  236. data/app/assets/bower_components/process_engine/sax/test/xmlns-xml-default-redefine.js +41 -0
  237. data/app/assets/javascripts/process_engine/application.js +65 -0
  238. data/app/assets/stylesheets/process_engine/application.css +39 -0
  239. data/app/controllers/process_engine/application_controller.rb +28 -0
  240. data/app/controllers/process_engine/process_definitions_controller.rb +63 -0
  241. data/app/controllers/process_engine/process_instances_controller.rb +42 -0
  242. data/app/controllers/process_engine/process_tasks_controller.rb +23 -0
  243. data/app/helpers/process_engine/application_helper.rb +4 -0
  244. data/app/models/process_engine/consumer/consumer_task.rb +15 -0
  245. data/app/models/process_engine/error/false_task_state.rb +2 -0
  246. data/app/models/process_engine/listener/base.rb +49 -0
  247. data/app/models/process_engine/node_data_injection.rb +22 -0
  248. data/app/models/process_engine/parser/complex_gateway.rb +21 -0
  249. data/app/models/process_engine/parser/end_event.rb +23 -0
  250. data/app/models/process_engine/parser/exclusive_gateway.rb +25 -0
  251. data/app/models/process_engine/parser/extension/condition_expression.rb +39 -0
  252. data/app/models/process_engine/parser/extension/execution_listener.rb +15 -0
  253. data/app/models/process_engine/parser/extension/form_field.rb +50 -0
  254. data/app/models/process_engine/parser/extension/input_output.rb +28 -0
  255. data/app/models/process_engine/parser/extension/listener.rb +43 -0
  256. data/app/models/process_engine/parser/extension/property.rb +20 -0
  257. data/app/models/process_engine/parser/extension/task_listener.rb +15 -0
  258. data/app/models/process_engine/parser/extension/transitional_parameter.rb +53 -0
  259. data/app/models/process_engine/parser/inclusive_gateway.rb +25 -0
  260. data/app/models/process_engine/parser/parallel_gateway.rb +19 -0
  261. data/app/models/process_engine/parser/script_task.rb +37 -0
  262. data/app/models/process_engine/parser/sequence_flow.rb +36 -0
  263. data/app/models/process_engine/parser/start_event.rb +27 -0
  264. data/app/models/process_engine/parser/user_task.rb +36 -0
  265. data/app/models/process_engine/parser/xml_node.rb +125 -0
  266. data/app/models/process_engine/process_definition.rb +50 -0
  267. data/app/models/process_engine/process_instance.rb +72 -0
  268. data/app/models/process_engine/process_query.rb +52 -0
  269. data/app/models/process_engine/process_schema.rb +30 -0
  270. data/app/models/process_engine/process_task.rb +70 -0
  271. data/app/models/process_engine/schema/interceptor/exclusive_gateway.rb +39 -0
  272. data/app/models/process_engine/schema/node.rb +48 -0
  273. data/app/models/process_engine/schema/node_extension.rb +79 -0
  274. data/app/models/process_engine/schema/transition.rb +22 -0
  275. data/app/views/layouts/process_engine/application.html.erb +14 -0
  276. data/app/views/process_engine/layouts/_menu.html.haml +6 -0
  277. data/app/views/process_engine/layouts/application.html.haml +11 -0
  278. data/app/views/process_engine/process_definitions/_form.html.haml +6 -0
  279. data/app/views/process_engine/process_definitions/edit.html.haml +3 -0
  280. data/app/views/process_engine/process_definitions/index.html.haml +26 -0
  281. data/app/views/process_engine/process_definitions/new.html.haml +3 -0
  282. data/app/views/process_engine/process_definitions/show.html.haml +51 -0
  283. data/app/views/process_engine/process_instances/_form.html.haml +5 -0
  284. data/app/views/process_engine/process_instances/edit.html.haml +3 -0
  285. data/app/views/process_engine/process_instances/index.html.haml +29 -0
  286. data/app/views/process_engine/process_instances/show.html.haml +38 -0
  287. data/app/views/process_engine/process_tasks/index.html.haml +44 -0
  288. data/app/views/process_engine/share/_bpmn_canvas.html.haml +7 -0
  289. data/config/initializers/bower_rails.rb +16 -0
  290. data/config/initializers/simple_form.rb +166 -0
  291. data/config/initializers/simple_form_bootstrap.rb +135 -0
  292. data/config/locales/simple_form.en.yml +31 -0
  293. data/config/routes.rb +18 -0
  294. data/db/migrate/20150313063311_create_process_engine_process_definitions.rb +14 -0
  295. data/db/migrate/20150313063508_create_process_engine_process_instances.rb +15 -0
  296. data/db/migrate/20150313063633_create_process_engine_process_tasks.rb +30 -0
  297. data/lib/process_engine/engine.rb +12 -0
  298. data/lib/process_engine/version.rb +3 -0
  299. data/lib/process_engine.rb +8 -0
  300. data/lib/tasks/process_engine_tasks.rake +4 -0
  301. data/lib/templates/erb/scaffold/_form.html.erb +13 -0
  302. data/test/dummy/README.rdoc +28 -0
  303. data/test/dummy/Rakefile +6 -0
  304. data/test/dummy/app/assets/javascripts/application.js +13 -0
  305. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  306. data/test/dummy/app/controllers/application_controller.rb +5 -0
  307. data/test/dummy/app/helpers/application_helper.rb +2 -0
  308. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  309. data/test/dummy/bin/bundle +3 -0
  310. data/test/dummy/bin/rails +4 -0
  311. data/test/dummy/bin/rake +4 -0
  312. data/test/dummy/bin/setup +29 -0
  313. data/test/dummy/config/application.rb +26 -0
  314. data/test/dummy/config/boot.rb +5 -0
  315. data/test/dummy/config/database.yml +85 -0
  316. data/test/dummy/config/environment.rb +5 -0
  317. data/test/dummy/config/environments/development.rb +41 -0
  318. data/test/dummy/config/environments/production.rb +79 -0
  319. data/test/dummy/config/environments/test.rb +42 -0
  320. data/test/dummy/config/initializers/assets.rb +11 -0
  321. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  322. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  323. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  324. data/test/dummy/config/initializers/inflections.rb +16 -0
  325. data/test/dummy/config/initializers/mime_types.rb +4 -0
  326. data/test/dummy/config/initializers/session_store.rb +3 -0
  327. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  328. data/test/dummy/config/locales/en.yml +23 -0
  329. data/test/dummy/config/routes.rb +4 -0
  330. data/test/dummy/config/secrets.yml +22 -0
  331. data/test/dummy/config.ru +4 -0
  332. data/test/dummy/db/schema.rb +66 -0
  333. data/test/dummy/log/development.log +9722 -0
  334. data/test/dummy/public/404.html +67 -0
  335. data/test/dummy/public/422.html +67 -0
  336. data/test/dummy/public/500.html +66 -0
  337. data/test/dummy/public/favicon.ico +0 -0
  338. data/test/dummy/tmp/cache/assets/development/sass/8afee1847b645742b0d2535a7c32f4f22e7926ec/bootstrap.scssc +0 -0
  339. data/test/dummy/tmp/cache/assets/development/sass/b5911aa594334efca1023d6f01abce0758e9648a/bootstrap.scssc +0 -0
  340. data/test/dummy/tmp/cache/assets/development/sprockets/014d8413350c7d85a5429f5e2c9ac911 +0 -0
  341. data/test/dummy/tmp/cache/assets/development/sprockets/0cbd667d0fbf9e0e6f60b5ebf2f95fa3 +0 -0
  342. data/test/dummy/tmp/cache/assets/development/sprockets/0f7ba040a442530a6d4a5bc8307769c1 +0 -0
  343. data/test/dummy/tmp/cache/assets/development/sprockets/0fca2cc9aa38138660d8c7d492cf81e4 +0 -0
  344. data/test/dummy/tmp/cache/assets/development/sprockets/0ff24903c54f534941fbc96ff862e475 +0 -0
  345. data/test/dummy/tmp/cache/assets/development/sprockets/11100f87277a2892323fe5581af75a7b +0 -0
  346. data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  347. data/test/dummy/tmp/cache/assets/development/sprockets/18a34084783e8b7f9bc871bc64b13eed +0 -0
  348. data/test/dummy/tmp/cache/assets/development/sprockets/1a3821ce28e0196075ed0830fcb45f38 +0 -0
  349. data/test/dummy/tmp/cache/assets/development/sprockets/1cf94b9a49ee68cb0f4065d48e9cbaf3 +0 -0
  350. data/test/dummy/tmp/cache/assets/development/sprockets/21a6373d6c40614fd05be57194c68248 +0 -0
  351. data/test/dummy/tmp/cache/assets/development/sprockets/26276ae8df51c046f3adc0b50a1521ba +0 -0
  352. data/test/dummy/tmp/cache/assets/development/sprockets/2eea4a8f4854d438cd03cb23a89b6d8c +0 -0
  353. data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  354. data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  355. data/test/dummy/tmp/cache/assets/development/sprockets/3993bcd8bae4771e550d8fc91d1debbc +0 -0
  356. data/test/dummy/tmp/cache/assets/development/sprockets/3ccc4edae36a9c4bd70fc330c9c83dc9 +0 -0
  357. data/test/dummy/tmp/cache/assets/development/sprockets/3e391b0f37505fffc40ba9ffa13330a2 +0 -0
  358. data/test/dummy/tmp/cache/assets/development/sprockets/42e258b77f5dd532dfb9344a2d766de6 +0 -0
  359. data/test/dummy/tmp/cache/assets/development/sprockets/43a5910cb7a330ece5856c0e9099efa2 +0 -0
  360. data/test/dummy/tmp/cache/assets/development/sprockets/4e65ec1149f01e749e1e372861210d4d +0 -0
  361. data/test/dummy/tmp/cache/assets/development/sprockets/501160bcee63ae68449a5a5eb78b6d41 +0 -0
  362. data/test/dummy/tmp/cache/assets/development/sprockets/517beb0bf366ec3c8649da9ac8a8a01e +0 -0
  363. data/test/dummy/tmp/cache/assets/development/sprockets/525a556b1eaacfa041722e1250d9859a +0 -0
  364. data/test/dummy/tmp/cache/assets/development/sprockets/56edbae38e4e0ff9f4b4fc576ae3d746 +0 -0
  365. data/test/dummy/tmp/cache/assets/development/sprockets/5b04f4a7058d92f88f89f2248bcc16b0 +0 -0
  366. data/test/dummy/tmp/cache/assets/development/sprockets/5c3c69f7c2520b57620931c150032d7e +0 -0
  367. data/test/dummy/tmp/cache/assets/development/sprockets/5d1f8f2111e14084ebf711412c9230d2 +0 -0
  368. data/test/dummy/tmp/cache/assets/development/sprockets/5f9833d6835900c56d0e76a1b2924cc2 +0 -0
  369. data/test/dummy/tmp/cache/assets/development/sprockets/67c653cc36eb639f7a7af5159e9f9de3 +0 -0
  370. data/test/dummy/tmp/cache/assets/development/sprockets/704b33432a5ba417bcd5962ad999c671 +0 -0
  371. data/test/dummy/tmp/cache/assets/development/sprockets/7301f83e8e67f30be13546a794a553ef +0 -0
  372. data/test/dummy/tmp/cache/assets/development/sprockets/7482c8f712712a79937caf41413bca15 +0 -0
  373. data/test/dummy/tmp/cache/assets/development/sprockets/761cb171e67ddca71e8b9c74f0220457 +0 -0
  374. data/test/dummy/tmp/cache/assets/development/sprockets/7e23bd4385e166267961b6d936363042 +0 -0
  375. data/test/dummy/tmp/cache/assets/development/sprockets/7e5100f290c9ba0d4c026e43b58d0d79 +0 -0
  376. data/test/dummy/tmp/cache/assets/development/sprockets/80743880e8d46958e9839ff9408c3113 +0 -0
  377. data/test/dummy/tmp/cache/assets/development/sprockets/8b8941aae968854bafb4638a86cad77b +0 -0
  378. data/test/dummy/tmp/cache/assets/development/sprockets/9c292f3b6b577a92970303c351e1d4a1 +0 -0
  379. data/test/dummy/tmp/cache/assets/development/sprockets/a3435b13cfa60fb7469a19703350bda7 +0 -0
  380. data/test/dummy/tmp/cache/assets/development/sprockets/a6ce1b2837383f1e8b62b7f1ddcc6820 +0 -0
  381. data/test/dummy/tmp/cache/assets/development/sprockets/a7e90acc68ba69b7cd5c0a7005467c4b +0 -0
  382. data/test/dummy/tmp/cache/assets/development/sprockets/be4d00fb7bf467b370f0fda7e453ec68 +0 -0
  383. data/test/dummy/tmp/cache/assets/development/sprockets/c4fbf44e63e40cbbf825fe750374728f +0 -0
  384. data/test/dummy/tmp/cache/assets/development/sprockets/c593bacb8d3f003125f91763a7b36b10 +0 -0
  385. data/test/dummy/tmp/cache/assets/development/sprockets/c5ae3bc69f7b1e1fdb51a667c9f3cdd6 +0 -0
  386. data/test/dummy/tmp/cache/assets/development/sprockets/cc843b336460771bf75c97cf0935301b +0 -0
  387. data/test/dummy/tmp/cache/assets/development/sprockets/ce3b6127737ed36f7b62a54acec06b3e +0 -0
  388. data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  389. data/test/dummy/tmp/cache/assets/development/sprockets/d58931b13c55c146d21475e532b126ba +0 -0
  390. data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  391. data/test/dummy/tmp/cache/assets/development/sprockets/dc6bbdc1e385c7bb2743011e9c2a7407 +0 -0
  392. data/test/dummy/tmp/cache/assets/development/sprockets/dd7270e11b484ae10f601e1dd014445a +0 -0
  393. data/test/dummy/tmp/cache/assets/development/sprockets/de86beefc60e0cd84dd1525af863e64d +0 -0
  394. data/test/dummy/tmp/cache/assets/development/sprockets/e0953e6e4a6c208e350f7f25d85bdce8 +0 -0
  395. data/test/dummy/tmp/cache/assets/development/sprockets/ec3b479833be43bf164a3deb119c3aee +0 -0
  396. data/test/dummy/tmp/cache/assets/development/sprockets/ef2cb0afc9a61a3d5819b4dfc84720ad +0 -0
  397. data/test/dummy/tmp/cache/assets/development/sprockets/f0511bbd6f6cd5530acddebb6d7e7044 +0 -0
  398. data/test/dummy/tmp/cache/assets/development/sprockets/f7009bba030498129042e0c542d4f264 +0 -0
  399. data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  400. data/test/fixtures/process_engine/process_definitions.yml +17 -0
  401. data/test/fixtures/process_engine/process_instances.yml +11 -0
  402. data/test/fixtures/process_engine/process_tasks.yml +11 -0
  403. data/test/integration/navigation_test.rb +10 -0
  404. data/test/models/process_engine/process_definition_test.rb +9 -0
  405. data/test/models/process_engine/process_instance_test.rb +9 -0
  406. data/test/models/process_engine/process_task_test.rb +9 -0
  407. data/test/process_engine_test.rb +7 -0
  408. data/test/test_helper.rb +19 -0
  409. metadata +740 -0
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @license
3
+ * Lo-Dash 2.4.1 (Custom Build) lodash.com/license | Underscore.js 1.5.2 underscorejs.org/LICENSE
4
+ * Build: `lodash underscore exports="amd,commonjs,global,node" -o ./dist/lodash.underscore.js`
5
+ */
6
+ ;(function(){function n(n,r,t){t=(t||0)-1;for(var e=n?n.length:0;++t<e;)if(n[t]===r)return t;return-1}function r(n,r){for(var t=n.m,e=r.m,u=-1,o=t.length;++u<o;){var i=t[u],f=e[u];if(i!==f){if(i>f||typeof i=="undefined")return 1;if(i<f||typeof f=="undefined")return-1}}return n.n-r.n}function t(n){return"\\"+yr[n]}function e(n,r,t){r||(r=0),typeof t=="undefined"&&(t=n?n.length:0);var e=-1;t=t-r||0;for(var u=Array(0>t?0:t);++e<t;)u[e]=n[r+e];return u}function u(n){return n instanceof u?n:new o(n)}function o(n,r){this.__chain__=!!r,this.__wrapped__=n
7
+ }function i(n){function r(){if(u){var n=e(u);Rr.apply(n,arguments)}if(this instanceof r){var i=f(t.prototype),n=t.apply(i,n||arguments);return O(n)?n:i}return t.apply(o,n||arguments)}var t=n[0],u=n[2],o=n[4];return r}function f(n){return O(n)?Br(n):{}}function a(n,r,t){if(typeof n!="function")return Y;if(typeof r=="undefined"||!("prototype"in n))return n;switch(t){case 1:return function(t){return n.call(r,t)};case 2:return function(t,e){return n.call(r,t,e)};case 3:return function(t,e,u){return n.call(r,t,e,u)
8
+ };case 4:return function(t,e,u,o){return n.call(r,t,e,u,o)}}return L(n,r)}function l(n){function r(){var n=p?a:this;if(o){var y=e(o);Rr.apply(y,arguments)}return(i||g)&&(y||(y=e(arguments)),i&&Rr.apply(y,i),g&&y.length<c)?(u|=16,l([t,h?u:-4&u,y,null,a,c])):(y||(y=arguments),s&&(t=n[v]),this instanceof r?(n=f(t.prototype),y=t.apply(n,y),O(y)?y:n):t.apply(n,y))}var t=n[0],u=n[1],o=n[2],i=n[3],a=n[4],c=n[5],p=1&u,s=2&u,g=4&u,h=8&u,v=t;return r}function c(n,r){for(var t=-1,e=m(),u=n?n.length:0,o=[];++t<u;){var i=n[t];
9
+ 0>e(r,i)&&o.push(i)}return o}function p(n,r,t,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++e<u;){var i=n[e];if(i&&typeof i=="object"&&typeof i.length=="number"&&(Cr(i)||b(i))){r||(i=p(i,r,t));var f=-1,a=i.length,l=o.length;for(o.length+=a;++f<a;)o[l++]=i[f]}else t||o.push(i)}return o}function s(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(n===n&&!(n&&vr[typeof n]||r&&vr[typeof r]))return false;if(null==n||null==r)return n===r;var o=Er.call(n),i=Er.call(r);if(o!=i)return false;switch(o){case lr:case cr:return+n==+r;
10
+ case pr:return n!=+n?r!=+r:0==n?1/n==1/r:n==+r;case gr:case hr:return n==r+""}if(i=o==ar,!i){var f=n instanceof u,a=r instanceof u;if(f||a)return s(f?n.__wrapped__:n,a?r.__wrapped__:r,t,e);if(o!=sr)return false;if(o=n.constructor,f=r.constructor,o!=f&&!(A(o)&&o instanceof o&&A(f)&&f instanceof f)&&"constructor"in n&&"constructor"in r)return false}for(t||(t=[]),e||(e=[]),o=t.length;o--;)if(t[o]==n)return e[o]==r;var l=true,c=0;if(t.push(n),e.push(r),i){if(c=r.length,l=c==n.length)for(;c--&&(l=s(n[c],r[c],t,e)););}else Kr(r,function(r,u,o){return Nr.call(o,u)?(c++,!(l=Nr.call(n,u)&&s(n[u],r,t,e))&&er):void 0
11
+ }),l&&Kr(n,function(n,r,t){return Nr.call(t,r)?!(l=-1<--c)&&er:void 0});return t.pop(),e.pop(),l}function g(n,r,t){for(var e=-1,u=m(),o=n?n.length:0,i=[],f=t?[]:i;++e<o;){var a=n[e],l=t?t(a,e,n):a;(r?!e||f[f.length-1]!==l:0>u(f,l))&&(t&&f.push(l),i.push(a))}return i}function h(n){return function(r,t,e){var u={};t=X(t,e,3),e=-1;var o=r?r.length:0;if(typeof o=="number")for(;++e<o;){var i=r[e];n(u,i,t(i,e,r),r)}else Lr(r,function(r,e,o){n(u,r,t(r,e,o),o)});return u}}function v(n,r,t,e,u,o){var f=16&r,a=32&r;
12
+ if(!(2&r||A(n)))throw new TypeError;return f&&!t.length&&(r&=-17,t=false),a&&!e.length&&(r&=-33,e=false),(1==r||17===r?i:l)([n,r,t,e,u,o])}function y(n){return Vr[n]}function m(){var r=(r=u.indexOf)===G?n:r;return r}function _(n){return typeof n=="function"&&Ar.test(n)}function d(n){return Gr[n]}function b(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Er.call(n)==fr||false}function w(n){if(!n)return n;for(var r=1,t=arguments.length;r<t;r++){var e=arguments[r];if(e)for(var u in e)n[u]=e[u]}return n
13
+ }function j(n){if(!n)return n;for(var r=1,t=arguments.length;r<t;r++){var e=arguments[r];if(e)for(var u in e)"undefined"==typeof n[u]&&(n[u]=e[u])}return n}function x(n){var r=[];return Kr(n,function(n,t){A(n)&&r.push(t)}),r.sort()}function T(n){for(var r=-1,t=Ur(n),e=t.length,u={};++r<e;){var o=t[r];u[n[o]]=o}return u}function E(n){if(!n)return true;if(Cr(n)||N(n))return!n.length;for(var r in n)if(Nr.call(n,r))return false;return true}function A(n){return typeof n=="function"}function O(n){return!(!n||!vr[typeof n])
14
+ }function S(n){return typeof n=="number"||n&&typeof n=="object"&&Er.call(n)==pr||false}function N(n){return typeof n=="string"||n&&typeof n=="object"&&Er.call(n)==hr||false}function R(n){for(var r=-1,t=Ur(n),e=t.length,u=Array(e);++r<e;)u[r]=n[t[r]];return u}function k(n,r){var t=m(),e=n?n.length:0,u=false;return e&&typeof e=="number"?u=-1<t(n,r):Lr(n,function(n){return(u=n===r)&&er}),u}function B(n,r,t){var e=true;r=X(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&(e=!!r(n[t],t,n)););else Lr(n,function(n,t,u){return!(e=!!r(n,t,u))&&er
15
+ });return e}function F(n,r,t){var e=[];r=X(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u;){var o=n[t];r(o,t,n)&&e.push(o)}else Lr(n,function(n,t,u){r(n,t,u)&&e.push(n)});return e}function q(n,r,t){r=X(r,t,3),t=-1;var e=n?n.length:0;if(typeof e!="number"){var u;return Lr(n,function(n,t,e){return r(n,t,e)?(u=n,er):void 0}),u}for(;++t<e;){var o=n[t];if(r(o,t,n))return o}}function D(n,r,t){var e=-1,u=n?n.length:0;if(r=r&&typeof t=="undefined"?r:a(r,t,3),typeof u=="number")for(;++e<u&&r(n[e],e,n)!==er;);else Lr(n,r)
16
+ }function I(n,r){var t=n?n.length:0;if(typeof t=="number")for(;t--&&false!==r(n[t],t,n););else{var e=Ur(n),t=e.length;Lr(n,function(n,u,o){return u=e?e[--t]:--t,false===r(o[u],u,o)&&er})}}function M(n,r,t){var e=-1,u=n?n.length:0;if(r=X(r,t,3),typeof u=="number")for(var o=Array(u);++e<u;)o[e]=r(n[e],e,n);else o=[],Lr(n,function(n,t,u){o[++e]=r(n,t,u)});return o}function $(n,r,t){var e=-1/0,u=e;typeof r!="function"&&t&&t[r]===n&&(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++o<i;)t=n[o],t>u&&(u=t);
17
+ else r=X(r,t,3),D(n,function(n,t,o){t=r(n,t,o),t>e&&(e=t,u=n)});return u}function W(n,r,t,e){if(!n)return t;var u=3>arguments.length;r=X(r,e,4);var o=-1,i=n.length;if(typeof i=="number")for(u&&(t=n[++o]);++o<i;)t=r(t,n[o],o,n);else Lr(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)});return t}function z(n,r,t,e){var u=3>arguments.length;return r=X(r,e,4),I(n,function(n,e,o){t=u?(u=false,n):r(t,n,e,o)}),t}function C(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return D(n,function(n){var t;t=++r,t=0+Sr(Wr()*(t-0+1)),e[r]=e[t],e[t]=n
18
+ }),e}function P(n,r,t){var e;r=X(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&!(e=r(n[t],t,n)););else Lr(n,function(n,t,u){return(e=r(n,t,u))&&er});return!!e}function U(n,r,t){return t&&E(r)?rr:(t?q:F)(n,r)}function V(n,r,t){var u=0,o=n?n.length:0;if(typeof r!="number"&&null!=r){var i=-1;for(r=X(r,t,3);++i<o&&r(n[i],i,n);)u++}else if(u=r,null==u||t)return n?n[0]:rr;return e(n,0,$r(Mr(0,u),o))}function G(r,t,e){if(typeof e=="number"){var u=r?r.length:0;e=0>e?Mr(0,u+e):e||0}else if(e)return e=J(r,t),r[e]===t?e:-1;
19
+ return n(r,t,e)}function H(n,r,t){if(typeof r!="number"&&null!=r){var u=0,o=-1,i=n?n.length:0;for(r=X(r,t,3);++o<i&&r(n[o],o,n);)u++}else u=null==r||t?1:Mr(0,r);return e(n,u)}function J(n,r,t,e){var u=0,o=n?n.length:u;for(t=t?X(t,e,1):Y,r=t(r);u<o;)e=u+o>>>1,t(n[e])<r?u=e+1:o=e;return u}function K(n,r,t,e){return typeof r!="boolean"&&null!=r&&(e=t,t=typeof r!="function"&&e&&e[r]===n?null:r,r=false),null!=t&&(t=X(t,e,3)),g(n,r,t)}function L(n,r){return 2<arguments.length?v(n,17,e(arguments,2),null,r):v(n,1,null,null,r)
20
+ }function Q(n,r,t){var e,u,o,i,f,a,l,c=0,p=false,s=true;if(!A(n))throw new TypeError;if(r=Mr(0,r)||0,true===t)var g=true,s=false;else O(t)&&(g=t.leading,p="maxWait"in t&&(Mr(r,t.maxWait)||0),s="trailing"in t?t.trailing:s);var h=function(){var t=r-(nt()-i);0<t?a=setTimeout(h,t):(u&&clearTimeout(u),t=l,u=a=l=rr,t&&(c=nt(),o=n.apply(f,e),a||u||(e=f=null)))},v=function(){a&&clearTimeout(a),u=a=l=rr,(s||p!==r)&&(c=nt(),o=n.apply(f,e),a||u||(e=f=null))};return function(){if(e=arguments,i=nt(),f=this,l=s&&(a||!g),false===p)var t=g&&!a;
21
+ else{u||g||(c=i);var y=p-(i-c),m=0>=y;m?(u&&(u=clearTimeout(u)),c=i,o=n.apply(f,e)):u||(u=setTimeout(v,y))}return m&&a?a=clearTimeout(a):a||r===p||(a=setTimeout(h,r)),t&&(m=true,o=n.apply(f,e)),!m||a||u||(e=f=null),o}}function X(n,r,t){var e=typeof n;if(null==n||"function"==e)return a(n,r,t);if("object"!=e)return nr(n);var u=Ur(n);return function(r){for(var t=u.length,e=false;t--&&(e=r[u[t]]===n[u[t]]););return e}}function Y(n){return n}function Z(n){D(x(n),function(r){var t=u[r]=n[r];u.prototype[r]=function(){var n=[this.__wrapped__];
22
+ return Rr.apply(n,arguments),n=t.apply(u,n),this.__chain__?new o(n,true):n}})}function nr(n){return function(r){return r[n]}}var rr,tr=0,er={},ur=+new Date+"",or=/($^)/,ir=/['\n\r\t\u2028\u2029\\]/g,fr="[object Arguments]",ar="[object Array]",lr="[object Boolean]",cr="[object Date]",pr="[object Number]",sr="[object Object]",gr="[object RegExp]",hr="[object String]",vr={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false},yr={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},mr=vr[typeof window]&&window||this,_r=vr[typeof exports]&&exports&&!exports.nodeType&&exports,dr=vr[typeof module]&&module&&!module.nodeType&&module,br=dr&&dr.exports===_r&&_r,wr=vr[typeof global]&&global;
23
+ !wr||wr.global!==wr&&wr.window!==wr||(mr=wr);var jr=[],xr=Object.prototype,Tr=mr._,Er=xr.toString,Ar=RegExp("^"+(Er+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Or=Math.ceil,Sr=Math.floor,Nr=xr.hasOwnProperty,Rr=jr.push,kr=xr.propertyIsEnumerable,Br=_(Br=Object.create)&&Br,Fr=_(Fr=Array.isArray)&&Fr,qr=mr.isFinite,Dr=mr.isNaN,Ir=_(Ir=Object.keys)&&Ir,Mr=Math.max,$r=Math.min,Wr=Math.random;o.prototype=u.prototype;var zr={};!function(){var n={0:1,length:1};zr.spliceObjects=(jr.splice.call(n,0,1),!n[0])
24
+ }(1),u.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},Br||(f=function(){function n(){}return function(r){if(O(r)){n.prototype=r;var t=new n;n.prototype=null}return t||mr.Object()}}()),b(arguments)||(b=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Nr.call(n,"callee")&&!kr.call(n,"callee")||false});var Cr=Fr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Er.call(n)==ar||false},Pr=function(n){var r,t=[];
25
+ if(!n||!vr[typeof n])return t;for(r in n)Nr.call(n,r)&&t.push(r);return t},Ur=Ir?function(n){return O(n)?Ir(n):[]}:Pr,Vr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},Gr=T(Vr),Hr=RegExp("("+Ur(Gr).join("|")+")","g"),Jr=RegExp("["+Ur(Vr).join("")+"]","g"),Kr=function(n,r){var t;if(!n||!vr[typeof n])return n;for(t in n)if(r(n[t],t,n)===er)break;return n},Lr=function(n,r){var t;if(!n||!vr[typeof n])return n;for(t in n)if(Nr.call(n,t)&&r(n[t],t,n)===er)break;return n};A(/x/)&&(A=function(n){return typeof n=="function"&&"[object Function]"==Er.call(n)
26
+ });var Qr=h(function(n,r,t){Nr.call(n,t)?n[t]++:n[t]=1}),Xr=h(function(n,r,t){(Nr.call(n,t)?n[t]:n[t]=[]).push(r)}),Yr=h(function(n,r,t){n[t]=r}),Zr=M,nt=_(nt=Date.now)&&nt||function(){return(new Date).getTime()};u.after=function(n,r){if(!A(r))throw new TypeError;return function(){return 1>--n?r.apply(this,arguments):void 0}},u.bind=L,u.bindAll=function(n){for(var r=1<arguments.length?p(arguments,true,false,1):x(n),t=-1,e=r.length;++t<e;){var u=r[t];n[u]=v(n[u],1,null,null,n)}return n},u.chain=function(n){return n=new o(n),n.__chain__=true,n
27
+ },u.compact=function(n){for(var r=-1,t=n?n.length:0,e=[];++r<t;){var u=n[r];u&&e.push(u)}return e},u.compose=function(){for(var n=arguments,r=n.length;r--;)if(!A(n[r]))throw new TypeError;return function(){for(var r=arguments,t=n.length;t--;)r=[n[t].apply(this,r)];return r[0]}},u.countBy=Qr,u.debounce=Q,u.defaults=j,u.defer=function(n){if(!A(n))throw new TypeError;var r=e(arguments,1);return setTimeout(function(){n.apply(rr,r)},1)},u.delay=function(n,r){if(!A(n))throw new TypeError;var t=e(arguments,2);
28
+ return setTimeout(function(){n.apply(rr,t)},r)},u.difference=function(n){return c(n,p(arguments,true,true,1))},u.filter=F,u.flatten=function(n,r){return p(n,r)},u.forEach=D,u.functions=x,u.groupBy=Xr,u.indexBy=Yr,u.initial=function(n,r,t){var u=0,o=n?n.length:0;if(typeof r!="number"&&null!=r){var i=o;for(r=X(r,t,3);i--&&r(n[i],i,n);)u++}else u=null==r||t?1:r||u;return e(n,0,$r(Mr(0,o-u),o))},u.intersection=function(){for(var n=[],r=-1,t=arguments.length;++r<t;){var e=arguments[r];(Cr(e)||b(e))&&n.push(e)
29
+ }var u=n[0],o=-1,i=m(),f=u?u.length:0,a=[];n:for(;++o<f;)if(e=u[o],0>i(a,e)){for(r=t;--r;)if(0>i(n[r],e))continue n;a.push(e)}return a},u.invert=T,u.invoke=function(n,r){var t=e(arguments,2),u=-1,o=typeof r=="function",i=n?n.length:0,f=Array(typeof i=="number"?i:0);return D(n,function(n){f[++u]=(o?r:n[r]).apply(n,t)}),f},u.keys=Ur,u.map=M,u.max=$,u.memoize=function(n,r){var t={};return function(){var e=r?r.apply(this,arguments):ur+arguments[0];return Nr.call(t,e)?t[e]:t[e]=n.apply(this,arguments)
30
+ }},u.min=function(n,r,t){var e=1/0,u=e;typeof r!="function"&&t&&t[r]===n&&(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++o<i;)t=n[o],t<u&&(u=t);else r=X(r,t,3),D(n,function(n,t,o){t=r(n,t,o),t<e&&(e=t,u=n)});return u},u.omit=function(n){var r=[];Kr(n,function(n,t){r.push(t)});for(var r=c(r,p(arguments,true,false,1)),t=-1,e=r.length,u={};++t<e;){var o=r[t];u[o]=n[o]}return u},u.once=function(n){var r,t;if(!A(n))throw new TypeError;return function(){return r?t:(r=true,t=n.apply(this,arguments),n=null,t)
31
+ }},u.pairs=function(n){for(var r=-1,t=Ur(n),e=t.length,u=Array(e);++r<e;){var o=t[r];u[r]=[o,n[o]]}return u},u.partial=function(n){return v(n,16,e(arguments,1))},u.pick=function(n){for(var r=-1,t=p(arguments,true,false,1),e=t.length,u={};++r<e;){var o=t[r];o in n&&(u[o]=n[o])}return u},u.pluck=Zr,u.range=function(n,r,t){n=+n||0,t=+t||1,null==r&&(r=n,n=0);var e=-1;r=Mr(0,Or((r-n)/t));for(var u=Array(r);++e<r;)u[e]=n,n+=t;return u},u.reject=function(n,r,t){return r=X(r,t,3),F(n,function(n,t,e){return!r(n,t,e)
32
+ })},u.rest=H,u.shuffle=C,u.sortBy=function(n,t,e){var u=-1,o=n?n.length:0,i=Array(typeof o=="number"?o:0);for(t=X(t,e,3),D(n,function(n,r,e){i[++u]={m:[t(n,r,e)],n:u,o:n}}),o=i.length,i.sort(r);o--;)i[o]=i[o].o;return i},u.tap=function(n,r){return r(n),n},u.throttle=function(n,r,t){var e=true,u=true;if(!A(n))throw new TypeError;return false===t?e=false:O(t)&&(e="leading"in t?t.leading:e,u="trailing"in t?t.trailing:u),t={},t.leading=e,t.maxWait=r,t.trailing=u,Q(n,r,t)},u.times=function(n,r,t){n=-1<(n=+n)?n:0;
33
+ var e=-1,u=Array(n);for(r=a(r,t,1);++e<n;)u[e]=r(e);return u},u.toArray=function(n){return Cr(n)?e(n):n&&typeof n.length=="number"?M(n):R(n)},u.union=function(){return g(p(arguments,true,true))},u.uniq=K,u.values=R,u.where=U,u.without=function(n){return c(n,e(arguments,1))},u.wrap=function(n,r){return v(r,16,[n])},u.zip=function(){for(var n=-1,r=$(Zr(arguments,"length")),t=Array(0>r?0:r);++n<r;)t[n]=Zr(arguments,n);return t},u.collect=M,u.drop=H,u.each=D,u.extend=w,u.methods=x,u.object=function(n,r){var t=-1,e=n?n.length:0,u={};
34
+ for(r||!e||Cr(n[0])||(r=[]);++t<e;){var o=n[t];r?u[o]=r[t]:o&&(u[o[0]]=o[1])}return u},u.select=F,u.tail=H,u.unique=K,u.clone=function(n){return O(n)?Cr(n)?e(n):w({},n):n},u.contains=k,u.escape=function(n){return null==n?"":(n+"").replace(Jr,y)},u.every=B,u.find=q,u.has=function(n,r){return n?Nr.call(n,r):false},u.identity=Y,u.indexOf=G,u.isArguments=b,u.isArray=Cr,u.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&Er.call(n)==lr||false},u.isDate=function(n){return n&&typeof n=="object"&&Er.call(n)==cr||false
35
+ },u.isElement=function(n){return n&&1===n.nodeType||false},u.isEmpty=E,u.isEqual=function(n,r){return s(n,r)},u.isFinite=function(n){return qr(n)&&!Dr(parseFloat(n))},u.isFunction=A,u.isNaN=function(n){return S(n)&&n!=+n},u.isNull=function(n){return null===n},u.isNumber=S,u.isObject=O,u.isRegExp=function(n){return n&&vr[typeof n]&&Er.call(n)==gr||false},u.isString=N,u.isUndefined=function(n){return typeof n=="undefined"},u.lastIndexOf=function(n,r,t){var e=n?n.length:0;for(typeof t=="number"&&(e=(0>t?Mr(0,e+t):$r(t,e-1))+1);e--;)if(n[e]===r)return e;
36
+ return-1},u.mixin=Z,u.noConflict=function(){return mr._=Tr,this},u.random=function(n,r){return null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0,n+Sr(Wr()*(r-n+1))},u.reduce=W,u.reduceRight=z,u.result=function(n,r){if(n){var t=n[r];return A(t)?n[r]():t}},u.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:Ur(n).length},u.some=P,u.sortedIndex=J,u.template=function(n,r,e){var o=u,i=o.templateSettings;n=(n||"")+"",e=j({},e,i);var f=0,a="__p+='",i=e.variable;n.replace(RegExp((e.escape||or).source+"|"+(e.interpolate||or).source+"|"+(e.evaluate||or).source+"|$","g"),function(r,e,u,o,i){return a+=n.slice(f,i).replace(ir,t),e&&(a+="'+_.escape("+e+")+'"),o&&(a+="';"+o+";\n__p+='"),u&&(a+="'+((__t=("+u+"))==null?'':__t)+'"),f=i+r.length,r
37
+ }),a+="';",i||(i="obj",a="with("+i+"||{}){"+a+"}"),a="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";try{var l=Function("_","return "+a)(o)}catch(c){throw c.source=a,c}return r?l(r):(l.source=a,l)},u.unescape=function(n){return null==n?"":(n+"").replace(Hr,d)},u.uniqueId=function(n){var r=++tr+"";return n?n+r:r},u.all=B,u.any=P,u.detect=q,u.findWhere=function(n,r){return U(n,r,true)},u.foldl=W,u.foldr=z,u.include=k,u.inject=W,u.first=V,u.last=function(n,r,t){var u=0,o=n?n.length:0;
38
+ if(typeof r!="number"&&null!=r){var i=o;for(r=X(r,t,3);i--&&r(n[i],i,n);)u++}else if(u=r,null==u||t)return n?n[o-1]:rr;return e(n,Mr(0,o-u))},u.sample=function(n,r,t){return n&&typeof n.length!="number"&&(n=R(n)),null==r||t?n?n[0+Sr(Wr()*(n.length-1-0+1))]:rr:(n=C(n),n.length=$r(Mr(0,r),n.length),n)},u.take=V,u.head=V,Z(u),u.VERSION="2.4.1",u.prototype.chain=function(){return this.__chain__=true,this},u.prototype.value=function(){return this.__wrapped__},D("pop push reverse shift sort splice unshift".split(" "),function(n){var r=jr[n];
39
+ u.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),zr.spliceObjects||0!==n.length||delete n[0],this}}),D(["concat","join","slice"],function(n){var r=jr[n];u.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new o(n),n.__chain__=true),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(mr._=u, define(function(){return u})):_r&&dr?br?(dr.exports=u)._=u:_r._=u:mr._=u}).call(this);
@@ -0,0 +1,10 @@
1
+ # contributors sorted by whether or not they're me.
2
+ Isaac Z. Schlueter <i@izs.me>
3
+ Stein Martin Hustad <stein@hustad.com>
4
+ Mikeal Rogers <mikeal.rogers@gmail.com>
5
+ Laurie Harper <laurie@holoweb.net>
6
+ Jann Horn <jann@Jann-PC.fritz.box>
7
+ Elijah Insua <tmpvar@gmail.com>
8
+ Henry Rawas <henryr@schakra.com>
9
+ Justin Makeig <jmpublic@makeig.com>
10
+ Mike Schilling <mike@emotive.com>
@@ -0,0 +1,32 @@
1
+ Copyright (c) Isaac Z. Schlueter ("Author")
2
+ All rights reserved.
3
+
4
+ The BSD License
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions
8
+ are met:
9
+
10
+ 1. Redistributions of source code must retain the above copyright
11
+ notice, this list of conditions and the following disclaimer.
12
+
13
+ 2. Redistributions in binary form must reproduce the above copyright
14
+ notice, this list of conditions and the following disclaimer in the
15
+ documentation and/or other materials provided with the distribution.
16
+
17
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
21
+ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
24
+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26
+ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
27
+ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
+
29
+
30
+ The file "examples/strict.dtd" is licensed by the W3C and used according
31
+ to the terms of the W3C SOFTWARE NOTICE AND LICENSE. See LICENSE-W3C.html
32
+ for details.
@@ -0,0 +1,188 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta name="generator" content="HTML Tidy for Mac OS X (vers 31 October 2006 - Apple Inc. build 13), see www.w3.org" /><title>W3C Software Notice and License</title><link rel="stylesheet" href="/2008/site/css/minimum" type="text/css" media="handheld, all" /><style type="text/css" media="print, screen and (min-width: 481px)" xml:space="preserve">
3
+ @import url("/2008/site/css/advanced");
4
+ </style><link href="/2008/site/css/minimum" rel="stylesheet" type="text/css" media="handheld, only screen and (max-device-width: 480px)" /><meta name="viewport" content="width=device-width" /><link rel="stylesheet" href="/2008/site/css/print" type="text/css" media="print" /><link rel="shortcut icon" href="/2008/site/images/favicon.ico" type="image/x-icon" /></head><body id="www-w3-org" class="w3c_public"><div id="w3c_container">
5
+
6
+
7
+
8
+ <div id="w3c_mast">
9
+ <h1 class="logo">
10
+ <a tabindex="2" accesskey="1" href="/"><img src="/2008/site/images/logo-w3c-mobile-lg" width="90" height="53" alt="W3C" /></a>
11
+ <span class="alt-logo">W3C</span>
12
+ </h1>
13
+
14
+ <div id="w3c_nav">
15
+
16
+
17
+
18
+ <form action="/Help/search" method="get" enctype="application/x-www-form-urlencoded"><div class="w3c_sec_nav"><!-- --></div><ul class="main_nav"><li class="first-item">
19
+ <a href="/standards/">Standards</a>
20
+ </li><li>
21
+ <a href="/participate/">Participate</a>
22
+ </li><li>
23
+ <a href="/Consortium/membership">Membership</a>
24
+ </li><li class="last-item">
25
+ <a href="/Consortium/">About W3C</a>
26
+ </li><li class="search-item">
27
+ <div id="search-form">
28
+ <input tabindex="3" class="text" name="q" value="" title="Search" type="text" />
29
+ <button id="search-submit" name="search-submit" type="submit"><img class="submit" src="/2008/site/images/search-button" alt="Search" width="21" height="17" /></button>
30
+ </div>
31
+ </li></ul></form>
32
+ </div>
33
+
34
+ </div>
35
+
36
+
37
+ <div id="w3c_main">
38
+ <div id="w3c_logo_shadow" class="w3c_leftCol">
39
+ <img height="32" alt="" src="/2008/site/images/logo-shadow" />
40
+ </div>
41
+
42
+ <div class="w3c_leftCol"><h2 class="offscreen">Site Navigation</h2>
43
+ <h3 class="category"><span class="ribbon"><a href="/Consortium/Legal/ipr-notice.html" title="Up to Policies and Legal Information">Policies and Legal Information <img src="/2008/site/images/header-link" alt="Header link" width="13" height="13" class="header-link" /></a></span></h3>
44
+ <ul class="theme">
45
+ <li><a href="/Consortium/Legal/2008/04-testsuite-copyright.html">Licenses for W3C Test Suites</a></li>
46
+ <li><a href="/2004/10/27-testcases.html">Policies for Contribution of Test Cases to W3C</a></li>
47
+ <li><a href="/Consortium/Legal/IPR-FAQ-20000620.html">Intellectual Rights FAQ</a></li>
48
+ <li><a href="/Consortium/Legal/privacy-statement-20000612.html">W3C Privacy Statements</a></li>
49
+ <li><a href="/Consortium/Legal/2002/copyright-documents-20021231.html">W3C Document License</a></li>
50
+ <li><a href="/Consortium/Legal/2002/trademarks-20021231.html">W3C Trademarks and Generic Terms</a></li>
51
+ <li><a href="/Consortium/Legal/2002/trademark-license-20021231.html">W3C&#xAE; Trademark and Service Mark License</a></li>
52
+ <li><a class="current">W3C Software Notice and License</a></li>
53
+ <li><a href="/Consortium/Legal/2002/collaborators-agreement-20021231.html">W3C Invited Expert and Collaborators Agreement</a></li>
54
+ <li><a href="/Consortium/Persistence.html">W3C URI Persistence Policy</a></li>
55
+ <li><a href="/1999/10/21-mirroring-policy.html">Mirroring the W3C Site</a></li>
56
+ <li><a href="/Consortium/Legal/2006/08-copyright-translations.html">Translations of the Copyright Notice</a></li>
57
+ </ul>
58
+ <br /></div>
59
+ <div class="w3c_mainCol">
60
+ <div id="w3c_crumbs">
61
+ <div id="w3c_crumbs_frame">
62
+ <ul class="bct"> <!-- .bct / Breadcrumbs -->
63
+ <li class="skip"><a tabindex="1" accesskey="2" title="Skip to content (e.g., when browsing via audio)" href="#w3c_content_body">Skip</a></li>
64
+ <li><a href="/">W3C</a>&#xA0;<span class="cr">&#xBB;</span>&#xA0;</li>
65
+ <li><a href="/Consortium/">About&#xA0;W3C</a>&#xA0;<span class="cr">&#xBB;</span>&#xA0;</li>
66
+ <li><a href="/Consortium/facts.html">Facts&#xA0;About&#xA0;W3C</a>&#xA0;<span class="cr">&#xBB;</span>&#xA0;</li>
67
+ <li><a href="/Consortium/Legal/ipr-notice.html">Policies&#xA0;and&#xA0;Legal&#xA0;Information</a>&#xA0;<span class="cr">&#xBB;</span>&#xA0;</li>
68
+ <li class="current">W3C Software Notice and License</li>
69
+ </ul>
70
+ </div>
71
+ </div>
72
+ <h1 class="title">W3C Software Notice and License</h1>
73
+ <div id="w3c_content_body">
74
+ <div class="line">
75
+ <p class="intro tPadding">This work (and included software, documentation such as READMEs, or other
76
+ related items) is being provided by the copyright holders under the following
77
+ license.</p>
78
+ <h2>License</h2>
79
+
80
+ <p class="tPadding">
81
+ By obtaining, using and/or copying this work, you (the licensee)
82
+ agree that you have read, understood, and will comply with the following
83
+ terms and conditions.</p>
84
+
85
+ <p>Permission to copy, modify, and distribute this software and its
86
+ documentation, with or without modification,&#xA0;for any purpose and without
87
+ fee or royalty is hereby granted, provided that you include the following on
88
+ ALL copies of the software and documentation or portions thereof, including
89
+ modifications:</p>
90
+
91
+ <ul class="show_items"><li>The full text of this NOTICE in a location viewable to users of the
92
+ redistributed or derivative work.</li><li>Any pre-existing intellectual property disclaimers, notices, or terms
93
+ and conditions. If none exist, the <a href="copyright-software-short-notice-20021231.html">W3C Software Short
94
+ Notice</a> should be included (hypertext is preferred, text is permitted)
95
+ within the body of any redistributed or derivative code.</li><li>Notice of any changes or modifications to the files, including the date
96
+ changes were made. (We recommend you provide URIs to the location from
97
+ which the code is derived.)</li></ul>
98
+
99
+ <h2>Disclaimers</h2>
100
+
101
+ <p>THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS
102
+ MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
103
+ LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
104
+ PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE
105
+ ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.</p>
106
+
107
+ <p>COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
108
+ CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
109
+ DOCUMENTATION.</p>
110
+
111
+ <p>The name and trademarks of copyright holders may NOT be used in
112
+ advertising or publicity pertaining to the software without specific, written
113
+ prior permission. Title to copyright in this software and any associated
114
+ documentation will at all times remain with copyright holders.</p>
115
+
116
+ <h2>Notes</h2>
117
+
118
+ <p>This version: http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231</p>
119
+
120
+ <p>This formulation of W3C's notice and license became active on December 31
121
+ 2002. This version removes the copyright ownership notice such that this
122
+ license can be used with materials other than those owned by the W3C,
123
+ reflects that ERCIM is now a host of the W3C, includes references to this
124
+ specific dated version of the license, and removes the ambiguous grant of
125
+ "use". Otherwise, this version is the same as the <a href="http://www.w3.org/Consortium/Legal/copyright-software-19980720">previous
126
+ version</a> and is written so as to preserve the <a href="http://www.gnu.org/philosophy/license-list.html#GPLCompatibleLicenses">Free
127
+ Software Foundation's assessment of GPL compatibility</a> and <a href="http://www.opensource.org/licenses/W3C.php">OSI's certification</a>
128
+ under the <a href="http://www.opensource.org/docs/definition.php">Open Source
129
+ Definition</a>.</p>
130
+ </div>
131
+ </div>
132
+ </div>
133
+ </div>
134
+
135
+
136
+
137
+ </div><div id="w3c_footer">
138
+ <div id="w3c_footer-inner">
139
+ <h2 class="offscreen">Footer Navigation</h2>
140
+ <div class="w3c_footer-nav">
141
+ <h3>Navigation</h3>
142
+ <ul class="footer_top_nav"><li>
143
+ <a href="/">Home</a>
144
+ </li><li>
145
+ <a href="/standards/">Standards</a>
146
+ </li><li>
147
+ <a href="/participate/">Participate</a>
148
+ </li><li>
149
+ <a href="/Consortium/membership">Membership</a>
150
+ </li><li class="last-item">
151
+ <a href="/Consortium/">About W3C</a>
152
+ </li></ul>
153
+ </div>
154
+ <div class="w3c_footer-nav">
155
+ <h3>Contact W3C</h3>
156
+ <ul class="footer_bottom_nav"><li>
157
+ <a href="/Consortium/contact">Contact</a>
158
+ </li><li>
159
+ <a accesskey="0" href="/Help/">Help and FAQ</a>
160
+ </li><li>
161
+ <a href="/Consortium/sponsor/">Sponsor / Donate</a>
162
+ </li><li>
163
+ <a href="/Consortium/siteindex">Site Map</a>
164
+ </li><li>
165
+ <address id="w3c_signature">
166
+ <a href="http://lists.w3.org/Archives/Public/site-comments/">Feedback</a></address>
167
+ </li></ul>
168
+ </div>
169
+ <div class="w3c_footer-nav">
170
+ <h3>W3C Updates</h3>
171
+ <ul class="footer_follow_nav"><li>
172
+ <a href="http://twitter.com/W3C" title="Follow W3C on Twitter">
173
+ <img src="/2008/site/images/twitter-bird" alt="Twitter" width="78" height="83" class="social-icon" />
174
+ </a>
175
+ <a href="http://identi.ca/w3c" title="See W3C on Identica">
176
+ <img src="/2008/site/images/identica-logo" alt="Identica" width="91" height="83" class="social-icon" />
177
+ </a>
178
+ </li></ul>
179
+ </div>
180
+ <p class="copyright">Copyright &#xA9; 2012 W3C <sup>&#xAE;</sup> (<a href="http://www.csail.mit.edu/">
181
+ <acronym title="Massachusetts Institute of Technology">MIT</acronym>
182
+ </a>, <a href="http://www.ercim.org/">
183
+ <acronym title="European Research Consortium for Informatics and Mathematics"> ERCIM</acronym>
184
+ </a>, <a href="http://www.keio.ac.jp/">Keio</a>) <a href="/Consortium/Legal/ipr-notice">Usage policies apply</a>.</p>
185
+ </div>
186
+ </div><!-- Generated from data/scripts.php, ../../smarty/{scripts.tpl} --><!-- At the bottom for performance reasons --><div id="w3c_scripts">
187
+ <script type="text/javascript" src="/2008/site/js/main" xml:space="preserve"><!-- --></script>
188
+ </div></body></html>
@@ -0,0 +1,216 @@
1
+ # sax js
2
+
3
+ A sax-style parser for XML and HTML.
4
+
5
+ Designed with [node](http://nodejs.org/) in mind, but should work fine in
6
+ the browser or other CommonJS implementations.
7
+
8
+ ## What This Is
9
+
10
+ * A very simple tool to parse through an XML string.
11
+ * A stepping stone to a streaming HTML parser.
12
+ * A handy way to deal with RSS and other mostly-ok-but-kinda-broken XML
13
+ docs.
14
+
15
+ ## What This Is (probably) Not
16
+
17
+ * An HTML Parser - That's a fine goal, but this isn't it. It's just
18
+ XML.
19
+ * A DOM Builder - You can use it to build an object model out of XML,
20
+ but it doesn't do that out of the box.
21
+ * XSLT - No DOM = no querying.
22
+ * 100% Compliant with (some other SAX implementation) - Most SAX
23
+ implementations are in Java and do a lot more than this does.
24
+ * An XML Validator - It does a little validation when in strict mode, but
25
+ not much.
26
+ * A Schema-Aware XSD Thing - Schemas are an exercise in fetishistic
27
+ masochism.
28
+ * A DTD-aware Thing - Fetching DTDs is a much bigger job.
29
+
30
+ ## Regarding `<!DOCTYPE`s and `<!ENTITY`s
31
+
32
+ The parser will handle the basic XML entities in text nodes and attribute
33
+ values: `&amp; &lt; &gt; &apos; &quot;`. It's possible to define additional
34
+ entities in XML by putting them in the DTD. This parser doesn't do anything
35
+ with that. If you want to listen to the `ondoctype` event, and then fetch
36
+ the doctypes, and read the entities and add them to `parser.ENTITIES`, then
37
+ be my guest.
38
+
39
+ Unknown entities will fail in strict mode, and in loose mode, will pass
40
+ through unmolested.
41
+
42
+ ## Usage
43
+
44
+ var sax = require("./lib/sax"),
45
+ strict = true, // set to false for html-mode
46
+ parser = sax.parser(strict);
47
+
48
+ parser.onerror = function (e) {
49
+ // an error happened.
50
+ };
51
+ parser.ontext = function (t) {
52
+ // got some text. t is the string of text.
53
+ };
54
+ parser.onopentag = function (node) {
55
+ // opened a tag. node has "name" and "attributes"
56
+ };
57
+ parser.onattribute = function (attr) {
58
+ // an attribute. attr has "name" and "value"
59
+ };
60
+ parser.onend = function () {
61
+ // parser stream is done, and ready to have more stuff written to it.
62
+ };
63
+
64
+ parser.write('<xml>Hello, <who name="world">world</who>!</xml>').close();
65
+
66
+ // stream usage
67
+ // takes the same options as the parser
68
+ var saxStream = require("sax").createStream(strict, options)
69
+ saxStream.on("error", function (e) {
70
+ // unhandled errors will throw, since this is a proper node
71
+ // event emitter.
72
+ console.error("error!", e)
73
+ // clear the error
74
+ this._parser.error = null
75
+ this._parser.resume()
76
+ })
77
+ saxStream.on("opentag", function (node) {
78
+ // same object as above
79
+ })
80
+ // pipe is supported, and it's readable/writable
81
+ // same chunks coming in also go out.
82
+ fs.createReadStream("file.xml")
83
+ .pipe(saxStream)
84
+ .pipe(fs.createWriteStream("file-copy.xml"))
85
+
86
+
87
+
88
+ ## Arguments
89
+
90
+ Pass the following arguments to the parser function. All are optional.
91
+
92
+ `strict` - Boolean. Whether or not to be a jerk. Default: `false`.
93
+
94
+ `opt` - Object bag of settings regarding string formatting. All default to `false`.
95
+
96
+ Settings supported:
97
+
98
+ * `trim` - Boolean. Whether or not to trim text and comment nodes.
99
+ * `normalize` - Boolean. If true, then turn any whitespace into a single
100
+ space.
101
+ * `lowercase` - Boolean. If true, then lowercase tag names and attribute names
102
+ in loose mode, rather than uppercasing them.
103
+ * `xmlns` - Boolean. If true, then namespaces are supported.
104
+ * `position` - Boolean. If false, then don't track line/col/position.
105
+
106
+ ## Methods
107
+
108
+ `write` - Write bytes onto the stream. You don't have to do this all at
109
+ once. You can keep writing as much as you want.
110
+
111
+ `close` - Close the stream. Once closed, no more data may be written until
112
+ it is done processing the buffer, which is signaled by the `end` event.
113
+
114
+ `resume` - To gracefully handle errors, assign a listener to the `error`
115
+ event. Then, when the error is taken care of, you can call `resume` to
116
+ continue parsing. Otherwise, the parser will not continue while in an error
117
+ state.
118
+
119
+ ## Members
120
+
121
+ At all times, the parser object will have the following members:
122
+
123
+ `line`, `column`, `position` - Indications of the position in the XML
124
+ document where the parser currently is looking.
125
+
126
+ `startTagPosition` - Indicates the position where the current tag starts.
127
+
128
+ `closed` - Boolean indicating whether or not the parser can be written to.
129
+ If it's `true`, then wait for the `ready` event to write again.
130
+
131
+ `strict` - Boolean indicating whether or not the parser is a jerk.
132
+
133
+ `opt` - Any options passed into the constructor.
134
+
135
+ `tag` - The current tag being dealt with.
136
+
137
+ And a bunch of other stuff that you probably shouldn't touch.
138
+
139
+ ## Events
140
+
141
+ All events emit with a single argument. To listen to an event, assign a
142
+ function to `on<eventname>`. Functions get executed in the this-context of
143
+ the parser object. The list of supported events are also in the exported
144
+ `EVENTS` array.
145
+
146
+ When using the stream interface, assign handlers using the EventEmitter
147
+ `on` function in the normal fashion.
148
+
149
+ `error` - Indication that something bad happened. The error will be hanging
150
+ out on `parser.error`, and must be deleted before parsing can continue. By
151
+ listening to this event, you can keep an eye on that kind of stuff. Note:
152
+ this happens *much* more in strict mode. Argument: instance of `Error`.
153
+
154
+ `text` - Text node. Argument: string of text.
155
+
156
+ `doctype` - The `<!DOCTYPE` declaration. Argument: doctype string.
157
+
158
+ `processinginstruction` - Stuff like `<?xml foo="blerg" ?>`. Argument:
159
+ object with `name` and `body` members. Attributes are not parsed, as
160
+ processing instructions have implementation dependent semantics.
161
+
162
+ `sgmldeclaration` - Random SGML declarations. Stuff like `<!ENTITY p>`
163
+ would trigger this kind of event. This is a weird thing to support, so it
164
+ might go away at some point. SAX isn't intended to be used to parse SGML,
165
+ after all.
166
+
167
+ `opentag` - An opening tag. Argument: object with `name` and `attributes`.
168
+ In non-strict mode, tag names are uppercased, unless the `lowercase`
169
+ option is set. If the `xmlns` option is set, then it will contain
170
+ namespace binding information on the `ns` member, and will have a
171
+ `local`, `prefix`, and `uri` member.
172
+
173
+ `closetag` - A closing tag. In loose mode, tags are auto-closed if their
174
+ parent closes. In strict mode, well-formedness is enforced. Note that
175
+ self-closing tags will have `closeTag` emitted immediately after `openTag`.
176
+ Argument: tag name.
177
+
178
+ `attribute` - An attribute node. Argument: object with `name` and `value`.
179
+ In non-strict mode, attribute names are uppercased, unless the `lowercase`
180
+ option is set. If the `xmlns` option is set, it will also contains namespace
181
+ information.
182
+
183
+ `comment` - A comment node. Argument: the string of the comment.
184
+
185
+ `opencdata` - The opening tag of a `<![CDATA[` block.
186
+
187
+ `cdata` - The text of a `<![CDATA[` block. Since `<![CDATA[` blocks can get
188
+ quite large, this event may fire multiple times for a single block, if it
189
+ is broken up into multiple `write()`s. Argument: the string of random
190
+ character data.
191
+
192
+ `closecdata` - The closing tag (`]]>`) of a `<![CDATA[` block.
193
+
194
+ `opennamespace` - If the `xmlns` option is set, then this event will
195
+ signal the start of a new namespace binding.
196
+
197
+ `closenamespace` - If the `xmlns` option is set, then this event will
198
+ signal the end of a namespace binding.
199
+
200
+ `end` - Indication that the closed stream has ended.
201
+
202
+ `ready` - Indication that the stream has reset, and is ready to be written
203
+ to.
204
+
205
+ `noscript` - In non-strict mode, `<script>` tags trigger a `"script"`
206
+ event, and their contents are not checked for special xml characters.
207
+ If you pass `noscript: true`, then this behavior is suppressed.
208
+
209
+ ## Reporting Problems
210
+
211
+ It's best to write a failing test if you find an issue. I will always
212
+ accept pull requests with failing tests if they demonstrate intended
213
+ behavior, but it is very hard to figure out what issue you're describing
214
+ without a test. Writing a test is also the best way for you yourself
215
+ to figure out if you really understand the issue you think you have with
216
+ sax-js.
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "sax",
3
+ "description": "An evented streaming XML parser in JavaScript",
4
+ "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
5
+ "version": "0.5.2",
6
+ "main": "lib/sax.js",
7
+ "license": "BSD",
8
+ "scripts": [
9
+ "lib/sax.js"
10
+ ],
11
+ "repository": "git://github.com/isaacs/sax-js.git"
12
+ }