simple-xspec-wrapper 0.1.0-java

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 (242) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +3 -0
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +11 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Gemfile +6 -0
  8. data/Gemfile.lock +37 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +49 -0
  11. data/Rakefile +6 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/exe/xspec +16 -0
  15. data/lib/xspec/version.rb +3 -0
  16. data/lib/xspec.rb +256 -0
  17. data/simple-xspec-wrapper.gemspec +28 -0
  18. data/spec-test.xml +1125 -0
  19. data/vendor/xspec-1.0.0/.gitignore +7 -0
  20. data/vendor/xspec-1.0.0/.travis.yml +57 -0
  21. data/vendor/xspec-1.0.0/LICENSE +21 -0
  22. data/vendor/xspec-1.0.0/README.md +26 -0
  23. data/vendor/xspec-1.0.0/appveyor.yml +77 -0
  24. data/vendor/xspec-1.0.0/bin/xspec.bat +620 -0
  25. data/vendor/xspec-1.0.0/bin/xspec.sh +403 -0
  26. data/vendor/xspec-1.0.0/build.xml +369 -0
  27. data/vendor/xspec-1.0.0/editors/emacs/README +31 -0
  28. data/vendor/xspec-1.0.0/editors/emacs/schemas.xml +6 -0
  29. data/vendor/xspec-1.0.0/editors/oxygen/.cvsignore +2 -0
  30. data/vendor/xspec-1.0.0/editors/oxygen/README +11 -0
  31. data/vendor/xspec-1.0.0/editors/oxygen/build.xml +38 -0
  32. data/vendor/xspec-1.0.0/editors/oxygen/templates/xspec.xml +17 -0
  33. data/vendor/xspec-1.0.0/editors/oxygen/xspec.framework +175 -0
  34. data/vendor/xspec-1.0.0/find-examples.xml +37 -0
  35. data/vendor/xspec-1.0.0/find-examples.xsl +615 -0
  36. data/vendor/xspec-1.0.0/graphics/3angle-down.gif +0 -0
  37. data/vendor/xspec-1.0.0/graphics/3angle-right.gif +0 -0
  38. data/vendor/xspec-1.0.0/java/com/jenitennison/xslt/tests/XSLTCoverageTraceListener.class +0 -0
  39. data/vendor/xspec-1.0.0/java/com/jenitennison/xslt/tests/XSLTCoverageTraceListener.java +209 -0
  40. data/vendor/xspec-1.0.0/src/ant/find-test-failure.xsl +17 -0
  41. data/vendor/xspec-1.0.0/src/ant/get-schematron-phase.xsl +17 -0
  42. data/vendor/xspec-1.0.0/src/ant/locate-schematron.xsl +28 -0
  43. data/vendor/xspec-1.0.0/src/ant/make-path.js +4 -0
  44. data/vendor/xspec-1.0.0/src/compiler/generate-common-tests.xsl +604 -0
  45. data/vendor/xspec-1.0.0/src/compiler/generate-query-helper.xsl +152 -0
  46. data/vendor/xspec-1.0.0/src/compiler/generate-query-tests.xsl +473 -0
  47. data/vendor/xspec-1.0.0/src/compiler/generate-query-utils.xql +263 -0
  48. data/vendor/xspec-1.0.0/src/compiler/generate-tests-helper.xsl +169 -0
  49. data/vendor/xspec-1.0.0/src/compiler/generate-tests-utils.xsl +479 -0
  50. data/vendor/xspec-1.0.0/src/compiler/generate-xspec-tests.xsl +503 -0
  51. data/vendor/xspec-1.0.0/src/harnesses/basex/basex-standalone-xquery-harness.xproc +135 -0
  52. data/vendor/xspec-1.0.0/src/harnesses/basex/basex-xquery-harness.xproc +133 -0
  53. data/vendor/xspec-1.0.0/src/harnesses/exist/exist-xquery-harness.xproc +161 -0
  54. data/vendor/xspec-1.0.0/src/harnesses/harness-lib.xpl +327 -0
  55. data/vendor/xspec-1.0.0/src/harnesses/marklogic/ml-xquery-harness.xproc +143 -0
  56. data/vendor/xspec-1.0.0/src/harnesses/saxon/saxon-xquery-harness.xproc +108 -0
  57. data/vendor/xspec-1.0.0/src/harnesses/saxon/saxon-xslt-harness.xproc +85 -0
  58. data/vendor/xspec-1.0.0/src/harnesses/zorba/zorba-xquery-harness.xproc +134 -0
  59. data/vendor/xspec-1.0.0/src/reporter/coverage-report.xsl +378 -0
  60. data/vendor/xspec-1.0.0/src/reporter/format-utils.xsl +220 -0
  61. data/vendor/xspec-1.0.0/src/reporter/format-xspec-report-folding.xsl +164 -0
  62. data/vendor/xspec-1.0.0/src/reporter/format-xspec-report.xsl +410 -0
  63. data/vendor/xspec-1.0.0/src/reporter/junit-report.xsl +93 -0
  64. data/vendor/xspec-1.0.0/src/reporter/test-report.css +469 -0
  65. data/vendor/xspec-1.0.0/src/schemas/find-examples.rnc +90 -0
  66. data/vendor/xspec-1.0.0/src/schemas/xspec.rnc +304 -0
  67. data/vendor/xspec-1.0.0/src/schematron/iso-schematron/iso_abstract_expand.xsl +313 -0
  68. data/vendor/xspec-1.0.0/src/schematron/iso-schematron/iso_dsdl_include.xsl +1519 -0
  69. data/vendor/xspec-1.0.0/src/schematron/iso-schematron/iso_schematron_message.xsl +64 -0
  70. data/vendor/xspec-1.0.0/src/schematron/iso-schematron/iso_schematron_message_xslt2.xsl +64 -0
  71. data/vendor/xspec-1.0.0/src/schematron/iso-schematron/iso_schematron_skeleton_for_saxon.xsl +2306 -0
  72. data/vendor/xspec-1.0.0/src/schematron/iso-schematron/iso_schematron_skeleton_for_xslt1.xsl +1851 -0
  73. data/vendor/xspec-1.0.0/src/schematron/iso-schematron/iso_svrl_for_xslt1.xsl +614 -0
  74. data/vendor/xspec-1.0.0/src/schematron/iso-schematron/iso_svrl_for_xslt2.xsl +692 -0
  75. data/vendor/xspec-1.0.0/src/schematron/iso-schematron/readme.txt +101 -0
  76. data/vendor/xspec-1.0.0/src/schematron/iso-schematron/sch-messages-cs.xhtml +56 -0
  77. data/vendor/xspec-1.0.0/src/schematron/iso-schematron/sch-messages-de.xhtml +55 -0
  78. data/vendor/xspec-1.0.0/src/schematron/iso-schematron/sch-messages-en.xhtml +57 -0
  79. data/vendor/xspec-1.0.0/src/schematron/iso-schematron/sch-messages-fr.xhtml +54 -0
  80. data/vendor/xspec-1.0.0/src/schematron/iso-schematron/sch-messages-ja.xhtml +53 -0
  81. data/vendor/xspec-1.0.0/src/schematron/iso-schematron/sch-messages-nl.xhtml +58 -0
  82. data/vendor/xspec-1.0.0/src/schematron/iso-schematron/schematron-skeleton-api.htm +723 -0
  83. data/vendor/xspec-1.0.0/src/schematron/sch-location-compare.xsl +139 -0
  84. data/vendor/xspec-1.0.0/src/schematron/schut-to-xspec.xsl +179 -0
  85. data/vendor/xspec-1.0.0/test/Makefile +117 -0
  86. data/vendor/xspec-1.0.0/test/README +5 -0
  87. data/vendor/xspec-1.0.0/test/catalog/xspec-160_catalog.xml +4 -0
  88. data/vendor/xspec-1.0.0/test/catalog/xspec-160_schematron.xspec +6 -0
  89. data/vendor/xspec-1.0.0/test/catalog/xspec-160_xslt.xspec +5 -0
  90. data/vendor/xspec-1.0.0/test/end-to-end/README.md +42 -0
  91. data/vendor/xspec-1.0.0/test/end-to-end/cases/.gitignore +1 -0
  92. data/vendor/xspec-1.0.0/test/end-to-end/cases/expected/.gitignore +3 -0
  93. data/vendor/xspec-1.0.0/test/end-to-end/cases/expected/xspec-50-result-norm.html +74 -0
  94. data/vendor/xspec-1.0.0/test/end-to-end/cases/expected/xspec-55-result-norm.html +112 -0
  95. data/vendor/xspec-1.0.0/test/end-to-end/cases/expected/xspec-focus-1-result-norm.html +109 -0
  96. data/vendor/xspec-1.0.0/test/end-to-end/cases/expected/xspec-function-result-norm.html +118 -0
  97. data/vendor/xspec-1.0.0/test/end-to-end/cases/expected/xspec-import-result-norm.html +163 -0
  98. data/vendor/xspec-1.0.0/test/end-to-end/cases/expected/xspec-imported-result-norm.html +95 -0
  99. data/vendor/xspec-1.0.0/test/end-to-end/cases/expected/xspec-pending-result-norm.html +123 -0
  100. data/vendor/xspec-1.0.0/test/end-to-end/cases/expected/xspec-rule-result-norm.html +109 -0
  101. data/vendor/xspec-1.0.0/test/end-to-end/cases/expected/xspec-three-dots-result-norm.html +1237 -0
  102. data/vendor/xspec-1.0.0/test/end-to-end/cases/xspec-50.xsl +7 -0
  103. data/vendor/xspec-1.0.0/test/end-to-end/cases/xspec-50.xspec +10 -0
  104. data/vendor/xspec-1.0.0/test/end-to-end/cases/xspec-55.xsl +2 -0
  105. data/vendor/xspec-1.0.0/test/end-to-end/cases/xspec-55.xspec +18 -0
  106. data/vendor/xspec-1.0.0/test/end-to-end/cases/xspec-focus-1.xspec +71 -0
  107. data/vendor/xspec-1.0.0/test/end-to-end/cases/xspec-function.xspec +50 -0
  108. data/vendor/xspec-1.0.0/test/end-to-end/cases/xspec-import.xspec +50 -0
  109. data/vendor/xspec-1.0.0/test/end-to-end/cases/xspec-imported.xspec +48 -0
  110. data/vendor/xspec-1.0.0/test/end-to-end/cases/xspec-pending.xspec +89 -0
  111. data/vendor/xspec-1.0.0/test/end-to-end/cases/xspec-rule.xspec +76 -0
  112. data/vendor/xspec-1.0.0/test/end-to-end/cases/xspec-three-dots.xsl +49 -0
  113. data/vendor/xspec-1.0.0/test/end-to-end/cases/xspec-three-dots.xspec +527 -0
  114. data/vendor/xspec-1.0.0/test/end-to-end/generate-expected.cmd +51 -0
  115. data/vendor/xspec-1.0.0/test/end-to-end/generate-expected.sh +25 -0
  116. data/vendor/xspec-1.0.0/test/end-to-end/processor/_deserializer.xsl +53 -0
  117. data/vendor/xspec-1.0.0/test/end-to-end/processor/_normalizer.xsl +192 -0
  118. data/vendor/xspec-1.0.0/test/end-to-end/processor/_serializer.xsl +15 -0
  119. data/vendor/xspec-1.0.0/test/end-to-end/processor/_util.xsl +35 -0
  120. data/vendor/xspec-1.0.0/test/end-to-end/processor/compare.xsl +88 -0
  121. data/vendor/xspec-1.0.0/test/end-to-end/processor/normalize.xsl +28 -0
  122. data/vendor/xspec-1.0.0/test/end-to-end/run-e2e-tests.cmd +61 -0
  123. data/vendor/xspec-1.0.0/test/end-to-end/run-e2e-tests.sh +28 -0
  124. data/vendor/xspec-1.0.0/test/generate-tests-utils.xspec +636 -0
  125. data/vendor/xspec-1.0.0/test/generate-x-utils.xspec +173 -0
  126. data/vendor/xspec-1.0.0/test/generate-xspec-tests.xspec +64 -0
  127. data/vendor/xspec-1.0.0/test/run-xspec-tests.cmd +83 -0
  128. data/vendor/xspec-1.0.0/test/run-xspec-tests.sh +42 -0
  129. data/vendor/xspec-1.0.0/test/sch-location-compare.xspec +179 -0
  130. data/vendor/xspec-1.0.0/test/schematron/data/standards.xml +7 -0
  131. data/vendor/xspec-1.0.0/test/schematron/schematron-017.sch +9 -0
  132. data/vendor/xspec-1.0.0/test/schematron/schematron-018.sch +17 -0
  133. data/vendor/xspec-1.0.0/test/schematron/schematron-019.sch +13 -0
  134. data/vendor/xspec-1.0.0/test/schematron/schematron-020-01.sch +35 -0
  135. data/vendor/xspec-1.0.0/test/schematron/schematron-020.sch +32 -0
  136. data/vendor/xspec-1.0.0/test/schematron/schematron-021.sch +28 -0
  137. data/vendor/xspec-1.0.0/test/schematron/schematron-022.sch +18 -0
  138. data/vendor/xspec-1.0.0/test/schematron/schematron-xslt-compile.xsl +8 -0
  139. data/vendor/xspec-1.0.0/test/schematron/schematron-xslt-expand.xsl +8 -0
  140. data/vendor/xspec-1.0.0/test/schematron/schematron-xslt-include.xsl +8 -0
  141. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-001-in.xspec +5 -0
  142. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-001-out.xspec +7 -0
  143. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-002-in.xspec +5 -0
  144. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-002-out.xspec +7 -0
  145. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-002.sch +4 -0
  146. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-003-in.xspec +7 -0
  147. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-003-out.xspec +9 -0
  148. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-004-in.xspec +20 -0
  149. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-004-out.xspec +22 -0
  150. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-005-in.xspec +6 -0
  151. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-005-out.xspec +8 -0
  152. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-006-in.xspec +11 -0
  153. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-006-out.xspec +13 -0
  154. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-007-in.xspec +7 -0
  155. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-007-out.xspec +9 -0
  156. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-007.xml +2 -0
  157. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-008-in.xspec +9 -0
  158. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-008-out.xspec +9 -0
  159. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-009-import-in.xspec +5 -0
  160. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-009-in.xspec +6 -0
  161. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-009-out.xspec +10 -0
  162. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-010-import.xspec +5 -0
  163. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-010-in.xspec +6 -0
  164. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-010-out.xspec +8 -0
  165. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-011-in.xspec +6 -0
  166. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-011-out.xspec +8 -0
  167. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-012-01.xml +4 -0
  168. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-012-02.xml +13 -0
  169. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-012-out.xspec +81 -0
  170. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-013-in.xspec +6 -0
  171. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-013-out.xspec +8 -0
  172. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-test.sch +4 -0
  173. data/vendor/xspec-1.0.0/test/schematron/schut-to-xspec-test.sch.xsl +4 -0
  174. data/vendor/xspec-1.0.0/test/schematron-01.sch +17 -0
  175. data/vendor/xspec-1.0.0/test/schematron-01.xml +14 -0
  176. data/vendor/xspec-1.0.0/test/schematron-01.xspec +14 -0
  177. data/vendor/xspec-1.0.0/test/schematron-012.xspec +83 -0
  178. data/vendor/xspec-1.0.0/test/schematron-014-01.xml +10 -0
  179. data/vendor/xspec-1.0.0/test/schematron-014.sch +16 -0
  180. data/vendor/xspec-1.0.0/test/schematron-014.xspec +11 -0
  181. data/vendor/xspec-1.0.0/test/schematron-015.sch +16 -0
  182. data/vendor/xspec-1.0.0/test/schematron-015.xspec +11 -0
  183. data/vendor/xspec-1.0.0/test/schematron-016.sch +19 -0
  184. data/vendor/xspec-1.0.0/test/schematron-016.xspec +171 -0
  185. data/vendor/xspec-1.0.0/test/schematron-017.xspec +26 -0
  186. data/vendor/xspec-1.0.0/test/schematron-018.xspec +120 -0
  187. data/vendor/xspec-1.0.0/test/schematron-019.xspec +16 -0
  188. data/vendor/xspec-1.0.0/test/schematron-020.xspec +53 -0
  189. data/vendor/xspec-1.0.0/test/schematron-021.xspec +27 -0
  190. data/vendor/xspec-1.0.0/test/schematron-022.xspec +15 -0
  191. data/vendor/xspec-1.0.0/test/schematron-param-001.xspec +50 -0
  192. data/vendor/xspec-1.0.0/test/schut-to-xspec-012.sch +27 -0
  193. data/vendor/xspec-1.0.0/test/schut-to-xspec.xspec +85 -0
  194. data/vendor/xspec-1.0.0/test/unit-expect-xsl.xspec +28 -0
  195. data/vendor/xspec-1.0.0/test/xspec-26.xsl +19 -0
  196. data/vendor/xspec-1.0.0/test/xspec-26.xspec +17 -0
  197. data/vendor/xspec-1.0.0/test/xspec-30.xml +2 -0
  198. data/vendor/xspec-1.0.0/test/xspec-30.xsl +6 -0
  199. data/vendor/xspec-1.0.0/test/xspec-30.xspec +8 -0
  200. data/vendor/xspec-1.0.0/test/xspec-33.xsl +7 -0
  201. data/vendor/xspec-1.0.0/test/xspec-33.xspec +15 -0
  202. data/vendor/xspec-1.0.0/test/xspec-46.xsl +7 -0
  203. data/vendor/xspec-1.0.0/test/xspec-46.xspec +9 -0
  204. data/vendor/xspec-1.0.0/test/xspec-72.xsl +13 -0
  205. data/vendor/xspec-1.0.0/test/xspec-72.xspec +19 -0
  206. data/vendor/xspec-1.0.0/test/xspec-bat.cmd +757 -0
  207. data/vendor/xspec-1.0.0/test/xspec-focus-2.xspec +91 -0
  208. data/vendor/xspec-1.0.0/test/xspec-junit.xspec +78 -0
  209. data/vendor/xspec-1.0.0/test/xspec-result-naming-collision.xml +1003 -0
  210. data/vendor/xspec-1.0.0/test/xspec-result-naming-collision.xslt +10 -0
  211. data/vendor/xspec-1.0.0/test/xspec-result-naming-collision.xspec +13 -0
  212. data/vendor/xspec-1.0.0/test/xspec-tested.xql +44 -0
  213. data/vendor/xspec-1.0.0/test/xspec-tested.xsl +64 -0
  214. data/vendor/xspec-1.0.0/test/xspec-variable.xml +3 -0
  215. data/vendor/xspec-1.0.0/test/xspec-variable.xspec +58 -0
  216. data/vendor/xspec-1.0.0/test/xspec-xslt3.xsl +13 -0
  217. data/vendor/xspec-1.0.0/test/xspec-xslt3.xspec +12 -0
  218. data/vendor/xspec-1.0.0/test/xspec.bats +420 -0
  219. data/vendor/xspec-1.0.0/tutorial/escape-for-regex.xslt +40 -0
  220. data/vendor/xspec-1.0.0/tutorial/escape-for-regex.xspec +75 -0
  221. data/vendor/xspec-1.0.0/tutorial/schematron/demo-01.sch +17 -0
  222. data/vendor/xspec-1.0.0/tutorial/schematron/demo-01.xml +11 -0
  223. data/vendor/xspec-1.0.0/tutorial/schematron/demo-01.xspec +14 -0
  224. data/vendor/xspec-1.0.0/tutorial/schematron/demo-02-PhaseA.xspec +11 -0
  225. data/vendor/xspec-1.0.0/tutorial/schematron/demo-02-PhaseB.xspec +12 -0
  226. data/vendor/xspec-1.0.0/tutorial/schematron/demo-02-import1.xspec +10 -0
  227. data/vendor/xspec-1.0.0/tutorial/schematron/demo-02-import2.xspec +8 -0
  228. data/vendor/xspec-1.0.0/tutorial/schematron/demo-02-import3.xspec +10 -0
  229. data/vendor/xspec-1.0.0/tutorial/schematron/demo-02.sch +58 -0
  230. data/vendor/xspec-1.0.0/tutorial/schematron/demo-02.xml +19 -0
  231. data/vendor/xspec-1.0.0/tutorial/schematron/demo-03-doc1.xml +6 -0
  232. data/vendor/xspec-1.0.0/tutorial/schematron/demo-03-doc2.xml +7 -0
  233. data/vendor/xspec-1.0.0/tutorial/schematron/demo-03.sch +29 -0
  234. data/vendor/xspec-1.0.0/tutorial/schematron/demo-03.xspec +63 -0
  235. data/vendor/xspec-1.0.0/tutorial/schematron/demo-04.sch +20 -0
  236. data/vendor/xspec-1.0.0/tutorial/schematron/demo-04.xspec +33 -0
  237. data/vendor/xspec-1.0.0/tutorial/schematron/quickfix.sch +81 -0
  238. data/vendor/xspec-1.0.0/tutorial/xquery-tutorial.xq +8 -0
  239. data/vendor/xspec-1.0.0/tutorial/xquery-tutorial.xspec +16 -0
  240. data/vendor/xspec-1.0.0/xproject/project.xml +8 -0
  241. data/vendor/xspec-1.0.0/xproject/release-project.xsl +41 -0
  242. metadata +341 -0
@@ -0,0 +1,369 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- ===================================================================== -->
3
+ <!-- File: build.xml -->
4
+ <!-- Author: Jeni Tennison -->
5
+ <!-- Tags: -->
6
+ <!-- Copyright (c) 2008, 2010 Jeni Tennison (see end of file.) -->
7
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
8
+
9
+
10
+ <project name="xspec" default="xspec" xmlns:if="ant:if">
11
+ <description>XSpec is a Behavior Driven Development (BDD) framework for XSLT and XQuery.
12
+
13
+ Usage (command-line):
14
+
15
+ ant -Dxspec.xml=/path/to/xspec/file
16
+ -Dtest.type=t|s
17
+ -Dxspec.project.dir=/path/to/folder/where/xspec/is/installed
18
+ -Dxspec.phase=#ALL
19
+ -lib /path/to/saxon.jar
20
+ -lib /path/to/xml-resolver.jar
21
+ -Dclean.output.dir=true|false
22
+ -Dxspec.fail=true|false
23
+
24
+ where:
25
+
26
+ xspec.xml XSpec test file
27
+ test.type Value "t" if XSpec describes an XSLT file, "s" if XSpec describes a Schematron file
28
+ [Optional; the default value is "t"]
29
+ xspec.project.dir Folder in which XSpec is installed
30
+ [Optional; the default is the folder containing this build file]
31
+ xspec.phase Schematron phase. Used only for testing Schematron. Can be "#ALL".
32
+ [Optional; the default is taken from "phase" parameter in XSpec file]
33
+ lib Additional jar libraries (saxon, xml-resolver)
34
+ or folder where they are located
35
+ clean.output.dir Value true to delete temporary files, value false to keep them
36
+ [Optional; the default is false]
37
+ xspec.fail Value true makes the build fail when one or more tests failed
38
+ [Optional; the default is true]
39
+
40
+ ---
41
+
42
+ Usage (Oxygen XSLT transformation scenario):
43
+
44
+ This file is an updated copy of Oxygen's ${frameworksDir}/xspec/build.xml
45
+
46
+ Setup:
47
+
48
+ - Duplicate Oxygen's default XSpec scenario
49
+ - Under Options tab:
50
+ - Build file: [this file]
51
+ - Under Parameters tab:
52
+ - New parameters if required (See the usage above):
53
+ - test.type
54
+ - xspec.phase
55
+ - xspec.fail
56
+ - Parameter xspec.project.dir value C:\Git\xspec
57
+ - If parameter catalog uses ${pdu}, replace it with ${pd}
58
+
59
+ </description>
60
+
61
+ <dirname property="xspec.project.dir" file="${ant.file.xspec}"/>
62
+
63
+ <!-- File of properties determining or describing local
64
+ configuration. -->
65
+ <property name="xspec.properties" location="${xspec.project.dir}/xspec.properties"/>
66
+ <property file="${xspec.properties}"/>
67
+
68
+
69
+ <dirname property="xspec.base.dir" file="${xspec.xml}" />
70
+ <basename property="xspec.xml.base" file="${xspec.xml}" suffix=".xml" />
71
+ <basename property="xspec.base" file="${xspec.xml.base}" suffix=".xspec" />
72
+
73
+ <property name="xspec.dir"
74
+ value="${xspec.base.dir}/xspec" />
75
+
76
+ <property name="xspec.xsl"
77
+ value="${xspec.dir}/${xspec.base}.xsl" />
78
+ <property name="xspec.result.xml"
79
+ value="${xspec.dir}/${xspec.base}-result.xml" />
80
+ <property name="xspec.result.html"
81
+ value="${xspec.dir}/${xspec.base}-result.html" />
82
+
83
+ <!-- property needed to create a custom Saxon, for example -warnings:recover -strip:none -opt:10 -dtd:off -l:off -versionmsg:off -expand:on -outval:fatal -val:lax -->
84
+ <property name="saxon.custom.options" value=""/>
85
+
86
+ <!-- property needed to control the cleanup of all intermediate files -->
87
+ <property name="clean.output.dir" value="false"/>
88
+
89
+ <!-- property needed to customize the HTML result. -->
90
+ <property name="format.xspec.report" value="${xspec.project.dir}/src/reporter/format-xspec-report.xsl"/>
91
+
92
+ <!-- property needed to control the cleanup of all intermediate files -->
93
+ <condition property="can.delete">
94
+ <and>
95
+ <equals arg1="${clean.output.dir}" arg2="true"/>
96
+ </and>
97
+ </condition>
98
+
99
+
100
+ <property name="test.type" value="t"/>
101
+ <condition property="test.xslt">
102
+ <equals arg1="${test.type}" arg2="t"/>
103
+ </condition>
104
+ <condition property="test.schematron">
105
+ <equals arg1="${test.type}" arg2="s"/>
106
+ </condition>
107
+
108
+ <property name="xspec.fail" value="true"/>
109
+
110
+ <!-- .xspec file.
111
+ If testing Schematron, it is created at "STEP 4" and deleted by cleanup. -->
112
+ <condition property="xspec.compiled.xml" value="${xspec.xml}-compiled.xspec" else="${xspec.xml}">
113
+ <istrue value="${test.schematron}"/>
114
+ </condition>
115
+
116
+ <!-- Catalog URL
117
+ To work around a Saxon bug, it must be URL: https://saxonica.plan.io/issues/3025#note-8
118
+ To debug catalog resolution, -Dsaxon.custom.options=-t would help.
119
+ oXygen 19 default transformation scenario sets catalog even when file does not exist. Hence validate=false. -->
120
+ <makeurl property="catalog.url" file="${catalog}" validate="false" if:set="catalog"/>
121
+
122
+ <scriptdef name="makepath" language="javascript" src="${xspec.project.dir}/src/ant/make-path.js">
123
+ <attribute name="url"/>
124
+ <attribute name="property"/>
125
+ </scriptdef>
126
+
127
+ <!-- Transforms input xml and loads output xml as properties -->
128
+ <macrodef name="xml-to-properties">
129
+ <attribute name="in"/>
130
+ <attribute name="style"/>
131
+
132
+ <sequential>
133
+ <!-- <tempfile deleteonexit=false> accumulates temp files. <tempfile deleteonexit=true> makes
134
+ debugging a bit harder. Hence a fixed path. -->
135
+ <property name="xspec.xml-to-properties.temp" value="${xspec.dir}/${xspec.base}_xml-to-properties.xml"/>
136
+
137
+ <xslt in="@{in}"
138
+ out="${xspec.xml-to-properties.temp}"
139
+ style="${xspec.project.dir}/src/ant/@{style}"
140
+ force="true"
141
+ >
142
+ <factory name="net.sf.saxon.TransformerFactoryImpl"/>
143
+ <xmlcatalog if:set="catalog">
144
+ <catalogpath>
145
+ <pathelement location="${catalog}"/>
146
+ </catalogpath>
147
+ </xmlcatalog>
148
+ </xslt>
149
+
150
+ <xmlproperty file="${xspec.xml-to-properties.temp}"/>
151
+ </sequential>
152
+ </macrodef>
153
+
154
+ <target name="locateSchematron" if="${test.schematron}">
155
+ <xml-to-properties in="${xspec.xml}" style="locate-schematron.xsl"/>
156
+
157
+ <makepath url="${xspec.schematron.uri}" property="xspec.schematron.path"/>
158
+ <echo message="Path of Schematron file to compile: ${xspec.schematron.path}"/>
159
+
160
+ <!-- Location of compiled Schematron XSL file
161
+ Since original Schematron may reference helper files at relative paths, the compiled XSL file
162
+ needs to go in the same folder as the original Schematron
163
+ -->
164
+ <property name="xspec.compiled.xsl" value="${xspec.schematron.path}-compiled.xsl"/>
165
+ </target>
166
+
167
+ <target name="getSchematronPhase" if="${test.schematron}" unless="xspec.phase">
168
+ <xml-to-properties in="${xspec.xml}" style="get-schematron-phase.xsl"/>
169
+ <echo message="Schematron phase set in XSpec: '${xspec.phase}'" if:set="xspec.phase"/>
170
+ </target>
171
+
172
+
173
+ <target name="compileSchematron" depends="locateSchematron,getSchematronPhase" if="${test.schematron}">
174
+ <echo message="START COMPILING SCHEMATRON FILE '${xspec.schematron.path}'"/>
175
+
176
+ <echo message=" STEP 1: Including modules"/>
177
+ <xslt in="${xspec.schematron.path}"
178
+ out="${xspec.dir}/${xspec.base}_dsdl_included.sch"
179
+ style="${xspec.project.dir}/src/schematron/iso-schematron/iso_dsdl_include.xsl"
180
+ force="true"
181
+ >
182
+ <factory name="net.sf.saxon.TransformerFactoryImpl"/>
183
+ <xmlcatalog if:set="catalog">
184
+ <catalogpath>
185
+ <pathelement location="${catalog}"/>
186
+ </catalogpath>
187
+ </xmlcatalog>
188
+ </xslt>
189
+
190
+ <echo message=" STEP 2: Expanding abstracts"/>
191
+ <xslt in="${xspec.dir}/${xspec.base}_dsdl_included.sch"
192
+ out="${xspec.dir}/${xspec.base}.sch"
193
+ style="${xspec.project.dir}/src/schematron/iso-schematron/iso_abstract_expand.xsl"
194
+ force="true"
195
+ >
196
+ <factory name="net.sf.saxon.TransformerFactoryImpl"/>
197
+ <xmlcatalog if:set="catalog">
198
+ <catalogpath>
199
+ <pathelement location="${catalog}"/>
200
+ </catalogpath>
201
+ </xmlcatalog>
202
+ </xslt>
203
+
204
+ <echo message=" STEP 3: Convert Schematron to XSL"/>
205
+ <echo message=" phase=${xspec.phase}" if:set="xspec.phase"/>
206
+ <xslt
207
+ in="${xspec.dir}/${xspec.base}.sch"
208
+ out="${xspec.compiled.xsl}"
209
+ style="${xspec.project.dir}/src/schematron/iso-schematron/iso_svrl_for_xslt2.xsl"
210
+ force="true"
211
+ >
212
+ <factory name="net.sf.saxon.TransformerFactoryImpl"/>
213
+ <param name="allow-foreign" expression="true"/>
214
+ <param name="phase" expression="${xspec.phase}" if:set="xspec.phase"/>
215
+ <xmlcatalog if:set="catalog">
216
+ <catalogpath>
217
+ <pathelement location="${catalog}"/>
218
+ </catalogpath>
219
+ </xmlcatalog>
220
+ </xslt>
221
+
222
+ <makeurl property="xspec.compiled.xsl.url" file="${xspec.compiled.xsl}"/>
223
+ <makeurl property="xspec.dir.url" file="${xspec.dir}"/>
224
+
225
+ <echo message=" STEP 4: Convert XSpec (into a format that references the XSL generated from the Schematron)"/>
226
+ <xslt
227
+ in="${xspec.xml}"
228
+ out="${xspec.compiled.xml}"
229
+ style="${xspec.project.dir}/src/schematron/schut-to-xspec.xsl"
230
+ force="true"
231
+ >
232
+ <factory name="net.sf.saxon.TransformerFactoryImpl"/>
233
+ <param name="stylesheet" expression="${xspec.compiled.xsl.url}"/>
234
+ <param name="test_dir" expression="${xspec.dir.url}"/>
235
+ <xmlcatalog if:set="catalog">
236
+ <catalogpath>
237
+ <pathelement location="${catalog}"/>
238
+ </catalogpath>
239
+ </xmlcatalog>
240
+ </xslt>
241
+
242
+ <echo message="COMPILATION COMPLETE"/>
243
+
244
+ </target>
245
+
246
+
247
+
248
+
249
+ <target name="xspec"
250
+ description="Runs the XSpec unit tests in ${xspec.compiled.xml}" depends="compileSchematron">
251
+
252
+ <echo message="Creating Test Stylesheet..."/>
253
+ <xslt in="${xspec.compiled.xml}"
254
+ out="${xspec.xsl}"
255
+ style="${xspec.project.dir}/src/compiler/generate-xspec-tests.xsl"
256
+ force="true"
257
+ >
258
+ <factory name="net.sf.saxon.TransformerFactoryImpl" />
259
+
260
+ <!-- Pass a catalog to Saxon -->
261
+ <xmlcatalog if:set="catalog">
262
+ <catalogpath>
263
+ <pathelement location="${catalog}"/>
264
+ </catalogpath>
265
+ </xmlcatalog>
266
+
267
+ </xslt>
268
+
269
+ <echo message="Running Tests..."/>
270
+
271
+ <!-- Can't specify saxon.custom.options with <xslt> task so have to
272
+ fall back to running Saxon as Java app. -->
273
+ <java classname="net.sf.saxon.Transform"
274
+ fork="true">
275
+ <!-- Saxon should be included in the classpath -->
276
+ <classpath>
277
+ <pathelement path="${java.class.path}"/>
278
+ </classpath>
279
+
280
+ <arg value="-catalog:${catalog.url}" if:set="catalog"/>
281
+
282
+ <!-- Pass custom options to Saxon, for example -warnings:recover -strip:none -opt:10 -dtd:off -l:off -versionmsg:off -expand:on -outval:fatal -val:lax -->
283
+ <arg line="${saxon.custom.options}"/>
284
+
285
+ <arg value="-ext:on" />
286
+ <arg value="-s:${xspec.compiled.xml}" />
287
+ <arg value="-o:${xspec.result.xml}" />
288
+ <arg value="-xsl:${xspec.xsl}" />
289
+ <arg value="-it:{http://www.jenitennison.com/xslt/xspec}main" />
290
+ </java>
291
+
292
+
293
+ <xslt in="${xspec.result.xml}"
294
+ out="${xspec.result.html}"
295
+ style="${format.xspec.report}">
296
+ <factory name="net.sf.saxon.TransformerFactoryImpl">
297
+ <attribute
298
+ name="http://saxon.sf.net/feature/allow-external-functions"
299
+ value="true"/>
300
+ </factory>
301
+
302
+ <xmlcatalog if:set="catalog">
303
+ <catalogpath>
304
+ <pathelement location="${catalog}"/>
305
+ </catalogpath>
306
+ </xmlcatalog>
307
+ </xslt>
308
+ <antcall target="fail"/>
309
+ <antcall target="cleanup"/>
310
+ </target>
311
+
312
+ <target name="fail" if="${xspec.fail}">
313
+ <xml-to-properties in="${xspec.result.xml}" style="find-test-failure.xsl"/>
314
+ <fail message="XSpec tests failed. See ${xspec.result.html} for a report">
315
+ <condition>
316
+ <not>
317
+ <istrue value="${xspec.passed}"/>
318
+ </not>
319
+ </condition>
320
+ </fail>
321
+ </target>
322
+
323
+ <target name="echoproperties">
324
+ <echoproperties />
325
+ </target>
326
+
327
+ <!-- clean up if required.-->
328
+ <target name="cleanup" if="can.delete">
329
+ <echo>Clean up</echo>
330
+
331
+ <!-- Need to retry, for someone may still hold a file, which tends to happen on AppVeyor. -->
332
+ <retry retrycount="1" retrydelay="1000">
333
+ <delete dir="${xspec.dir}"/>
334
+ </retry>
335
+
336
+ <delete file="${xspec.compiled.xml}" if:true="${test.schematron}"/>
337
+ <delete file="${xspec.compiled.xsl}"/>
338
+ </target>
339
+
340
+ </project>
341
+
342
+
343
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
344
+ <!-- DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS COMMENT. -->
345
+ <!-- -->
346
+ <!-- Copyright (c) 2008, 2010 Jeni Tennison -->
347
+ <!-- -->
348
+ <!-- The contents of this file are subject to the MIT License (see the URI -->
349
+ <!-- http://www.opensource.org/licenses/mit-license.php for details). -->
350
+ <!-- -->
351
+ <!-- Permission is hereby granted, free of charge, to any person obtaining -->
352
+ <!-- a copy of this software and associated documentation files (the -->
353
+ <!-- "Software"), to deal in the Software without restriction, including -->
354
+ <!-- without limitation the rights to use, copy, modify, merge, publish, -->
355
+ <!-- distribute, sublicense, and/or sell copies of the Software, and to -->
356
+ <!-- permit persons to whom the Software is furnished to do so, subject to -->
357
+ <!-- the following conditions: -->
358
+ <!-- -->
359
+ <!-- The above copyright notice and this permission notice shall be -->
360
+ <!-- included in all copies or substantial portions of the Software. -->
361
+ <!-- -->
362
+ <!-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -->
363
+ <!-- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -->
364
+ <!-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.-->
365
+ <!-- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -->
366
+ <!-- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -->
367
+ <!-- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -->
368
+ <!-- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -->
369
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
@@ -0,0 +1,31 @@
1
+ nXML-mode and XSpec
2
+ ===================
3
+
4
+ To add support for XSpec in nXML-mode such that nXML-mode will use the
5
+ XSpec schema with XSpec files:
6
+
7
+ 1. Select `rng-schema-locating-files' for customization by:
8
+
9
+ a. Either, using the menu, selecting:
10
+
11
+ Options->Customize Emacs->Specific Option...
12
+
13
+ or, using the keyboard, entering:
14
+
15
+ M-x customize-variable
16
+
17
+ b. Entering:
18
+
19
+ rng-schema-locating-files RET
20
+
21
+ 2. Select one of the INS buttons.
22
+
23
+ 3. Enter the location of the 'schema.el' file in this directory as the
24
+ value for the new 'File:' text box.
25
+
26
+ 4. Select the 'State' button then select the 'Save for Future
27
+ Sessions' option.
28
+
29
+ You could also customize `rng-preferred-prefix-alist' to add the XSpec
30
+ namespace URI, "http://www.jenitennison.com/xslt/xspec", and preferred
31
+ prefix, "x", if you want.
@@ -0,0 +1,6 @@
1
+ <locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
2
+ <uri pattern="*.xspec" typeId="XSpec"/>
3
+ <namespace ns="http://www.jenitennison.com/xslt/xspec" typeId="XSpec"/>
4
+ <documentElement prefix="x" localName="descrption" typeId="XSpec"/>
5
+ <typeId id="XSpec" uri="../../src/schemas/xspec.rnc"/>
6
+ </locatingRules>
@@ -0,0 +1,2 @@
1
+ schema
2
+ *.zip
@@ -0,0 +1,11 @@
1
+ To make the <oXygen/> framework for XSpec:
2
+
3
+ ant build
4
+
5
+ To install the framework (may require administrator or root
6
+ privileges):
7
+
8
+ ant install
9
+
10
+ If your <oXygen/> is not where build.xml expects it to be, set
11
+ ${oxygen.dir} in 'build.properties' first.
@@ -0,0 +1,38 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project name="xspec-oxygen" default="build" basedir=".">
3
+ <description>Build file for installing &lt;oXygen/> framework for XSpec.</description>
4
+
5
+ <property file="build.properties"/>
6
+
7
+ <property name="oxygen.dir" value="C:/Program Files/Oxygen XML Editor 12"/>
8
+ <property name="oxygen.frameworks.dir" value="${oxygen.dir}/frameworks"/>
9
+
10
+ <property name="framework.dir" value="."/>
11
+ <property name="framework.css.dir" value="css"/>
12
+ <property name="framework.schema.dir" value="schema"/>
13
+ <property name="framework.templates.dir" value="templates"/>
14
+
15
+ <target name="init">
16
+ <mkdir dir="${framework.schema.dir}"/>
17
+ </target>
18
+
19
+ <target name="build" depends="init">
20
+ <copy file="../../src/schemas/xspec.rnc" todir="${framework.schema.dir}"/>
21
+ </target>
22
+
23
+ <target name="install" depends="build">
24
+ <mkdir dir="${oxygen.frameworks.dir}/xspec"/>
25
+ <copy todir="${oxygen.frameworks.dir}/xspec">
26
+ <fileset dir="." excludes="**/build.xml, **/README, **/*.zip"/>
27
+ </copy>
28
+ </target>
29
+
30
+ <target name="zip" depends="build">
31
+ <zip destfile="xspec-framework.zip">
32
+ <zipfileset dir="."
33
+ excludes="**/build.xml, **/README, **/*.zip"
34
+ prefix="xspec" />
35
+ </zip>
36
+ </target>
37
+
38
+ </project>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <x:description xmlns:x="http://www.jenitennison.com/xslt/xspec"
3
+ stylesheet="">
4
+
5
+ <x:scenario label="Scenario for testing a function">
6
+ <x:call function="function-name" />
7
+
8
+ <x:scenario label="Test with a value">
9
+ <x:call>
10
+ <x:param name="param" select="" />
11
+ </x:call>
12
+ <x:expect label=""
13
+ select="" />
14
+ </x:scenario>
15
+ </x:scenario>
16
+
17
+ </x:description>
@@ -0,0 +1,175 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <serialized version="11.2">
3
+ <map>
4
+ <entry>
5
+ <String xml:space="preserve">document.types</String>
6
+ <documentTypeDescriptor-array>
7
+ <documentTypeDescriptor>
8
+ <field name="name">
9
+ <String xml:space="preserve">XSpec</String>
10
+ </field>
11
+ <field name="schemaDescriptor">
12
+ <docTypeSchema>
13
+ <field name="type">
14
+ <Integer xml:space="preserve">3</Integer>
15
+ </field>
16
+ <field name="uri">
17
+ <String xml:space="preserve">${frameworks}/xspec/schema/xspec.rnc</String>
18
+ </field>
19
+ </docTypeSchema>
20
+ </field>
21
+ <field name="classpath">
22
+ <String-array></String-array>
23
+ </field>
24
+ <field name="authorExtensionDescriptor">
25
+ <authorExtension>
26
+ <field name="cssDescriptors">
27
+ <cssFile-array></cssFile-array>
28
+ </field>
29
+ <field name="mergeCSSsFromDocument">
30
+ <Boolean xml:space="preserve">false</Boolean>
31
+ </field>
32
+ <field name="actionDescriptors">
33
+ <action-array></action-array>
34
+ </field>
35
+ <field name="menubarDescriptor">
36
+ <menu>
37
+ <field name="label">
38
+ <String xml:space="preserve">Menu</String>
39
+ </field>
40
+ <field name="accessKey">
41
+ <null></null>
42
+ </field>
43
+ <field name="iconPath">
44
+ <null></null>
45
+ </field>
46
+ <field name="menuEntriesDescriptorList">
47
+ <menuEntry-array></menuEntry-array>
48
+ </field>
49
+ </menu>
50
+ </field>
51
+ <field name="popupMenuDescriptor">
52
+ <menu>
53
+ <field name="label">
54
+ <String xml:space="preserve">Contextual menu</String>
55
+ </field>
56
+ <field name="accessKey">
57
+ <null></null>
58
+ </field>
59
+ <field name="iconPath">
60
+ <null></null>
61
+ </field>
62
+ <field name="menuEntriesDescriptorList">
63
+ <menuEntry-array></menuEntry-array>
64
+ </field>
65
+ </menu>
66
+ </field>
67
+ <field name="toolbarDescriptor">
68
+ <toolbar>
69
+ <field name="id">
70
+ <String xml:space="preserve">Toolbar</String>
71
+ </field>
72
+ <field name="type">
73
+ <Integer xml:space="preserve">2</Integer>
74
+ </field>
75
+ <field name="largeIconPath">
76
+ <null></null>
77
+ </field>
78
+ <field name="smallIconPath">
79
+ <null></null>
80
+ </field>
81
+ <field name="toolbarEntriesDescriptorList">
82
+ <toolbarEntry-array></toolbarEntry-array>
83
+ </field>
84
+ </toolbar>
85
+ </field>
86
+ <field name="additionalToolbarsDescriptors">
87
+ <null></null>
88
+ </field>
89
+ <field name="tableSupportClassName">
90
+ <null></null>
91
+ </field>
92
+ <field name="tableColWidthSupportClassName">
93
+ <null></null>
94
+ </field>
95
+ <field name="customReferencesResolver">
96
+ <null></null>
97
+ </field>
98
+ <field name="authorExtensionStateListener">
99
+ <null></null>
100
+ </field>
101
+ <field name="attributesRecognizer">
102
+ <null></null>
103
+ </field>
104
+ </authorExtension>
105
+ </field>
106
+ <field name="templatesLocations">
107
+ <String-array>
108
+ <String xml:space="preserve">${frameworksDir}/xspec/templates</String>
109
+ </String-array>
110
+ </field>
111
+ <field name="xmlCatalogs">
112
+ <String-array></String-array>
113
+ </field>
114
+ <field name="description">
115
+ <String xml:space="preserve">Behavior Driven Development (BDD) framework for XSLT and XQuery.</String>
116
+ </field>
117
+ <field name="doctypeRules">
118
+ <documentTypeRule-array>
119
+ <documentTypeRule>
120
+ <field name="namespace">
121
+ <String xml:space="preserve">http://www.jenitennison.com/xslt/xspec</String>
122
+ </field>
123
+ <field name="rootElem">
124
+ <String xml:space="preserve">description</String>
125
+ </field>
126
+ <field name="fileName">
127
+ <String xml:space="preserve">*</String>
128
+ </field>
129
+ <field name="publicID">
130
+ <String xml:space="preserve">*</String>
131
+ </field>
132
+ <field name="javaRuleClass">
133
+ <String xml:space="preserve"></String>
134
+ </field>
135
+ </documentTypeRule>
136
+ </documentTypeRule-array>
137
+ </field>
138
+ <field name="scenarios">
139
+ <scenario-array></scenario-array>
140
+ </field>
141
+ <field name="extensionsBundleClassName">
142
+ <null></null>
143
+ </field>
144
+ <field name="useImposedInitialPage">
145
+ <Boolean xml:space="preserve">false</Boolean>
146
+ </field>
147
+ <field name="imposedInitialPage">
148
+ <String xml:space="preserve">Text</String>
149
+ </field>
150
+ <field name="elementLocatorExtension">
151
+ <null></null>
152
+ </field>
153
+ <field name="schemaManagerFilterExtension">
154
+ <null></null>
155
+ </field>
156
+ <field name="authorSWTDndExtension">
157
+ <null></null>
158
+ </field>
159
+ <field name="textSWTDndExtension">
160
+ <null></null>
161
+ </field>
162
+ <field name="authorSwingDndExtension">
163
+ <null></null>
164
+ </field>
165
+ <field name="cssStylesFilterExtension">
166
+ <null></null>
167
+ </field>
168
+ <field name="attributesValueEditor">
169
+ <null></null>
170
+ </field>
171
+ </documentTypeDescriptor>
172
+ </documentTypeDescriptor-array>
173
+ </entry>
174
+ </map>
175
+ </serialized>