diff --git a/CHANGELOG.md b/CHANGELOG.md index 53708cb..cc55b93 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changes +## 0.4.11 + +- adds utilities for generating SEED config for chained transformations (fixes issue #20) +- adds a testing package for SEED with chained transformation + ## 0.4.10 - adds saxon config for SEED with assertions enabled (fixes issue #18) diff --git a/build.xml b/build.xml index fb98b13..dfd95c7 100644 --- a/build.xml +++ b/build.xml @@ -27,6 +27,11 @@ + + + + + @@ -77,4 +82,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/distribution/seed/assembly.xml b/distribution/seed/assembly.xml index f2fe437..502f8dd 100644 --- a/distribution/seed/assembly.xml +++ b/distribution/seed/assembly.xml @@ -37,6 +37,16 @@ wiki/** + + ${project.build.directory}/generated-resources/xml/xslt + /${project.artifactId} + + **/*.seed.json + + + test/** + + target/dependencies @@ -59,6 +69,9 @@ saxon.*.xml + + test/** + distribution/seed @@ -75,14 +88,17 @@ ${project.artifactId}.yaml - - - ${project.basedir} - / - - ${project.artifactId}.yaml - - + + + ${project.build.directory}/generated-resources/xml/xslt/pom.json + ${project.artifactId}.json + + + ${project.build.directory}/generated-resources/yml/pom.yml + ${project.artifactId}.yaml + + + diff --git a/distribution/seed/chain.xsl b/distribution/seed/chain.xsl new file mode 100644 index 0000000..6171e17 --- /dev/null +++ b/distribution/seed/chain.xsl @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + media-type-package + + xs:string? + + + media-type-package-version + + xs:string + + + media-type-component + + xs:string + + + media-type-processor + + xs:string + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/distribution/seed/chain.xspec b/distribution/seed/chain.xspec new file mode 100644 index 0000000..3cc085e --- /dev/null +++ b/distribution/seed/chain.xspec @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/distribution/seed/merge.xsl b/distribution/seed/merge.xsl new file mode 100644 index 0000000..3c4b312 --- /dev/null +++ b/distribution/seed/merge.xsl @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + collection URI: + + + + + + No JSON files + + + + + + + JSON files: + + + + + + + + JSON files: + + + + + + diff --git a/distribution/seed/merge.xspec b/distribution/seed/merge.xspec new file mode 100644 index 0000000..8914fd0 --- /dev/null +++ b/distribution/seed/merge.xspec @@ -0,0 +1,17 @@ + + + + + + + + + + + diff --git a/distribution/seed/seed-config-chain.xsl b/distribution/seed/seed-config-chain.xsl new file mode 100644 index 0000000..de42355 --- /dev/null +++ b/distribution/seed/seed-config-chain.xsl @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + media-type-package + + + + + media-type-package-version + + + + + media-type-component + + + + + media-type-processor + + + + + + + + + + + diff --git a/distribution/seed/seed-config-chain.xspec b/distribution/seed/seed-config-chain.xspec new file mode 100644 index 0000000..016cf72 --- /dev/null +++ b/distribution/seed/seed-config-chain.xspec @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/distribution/seed/seed-config.xsl b/distribution/seed/seed-config.xsl index 52212cf..897fa0c 100644 --- a/distribution/seed/seed-config.xsl +++ b/distribution/seed/seed-config.xsl @@ -48,8 +48,7 @@ target/bin/xslt.sh -xsl:distribution/seed/seed-config.xsl saxon-config-uri=https otherwise they are prefixed with $upload-uri. --> - + @@ -60,11 +59,13 @@ target/bin/xslt.sh -xsl:distribution/seed/seed-config.xsl saxon-config-uri=https } }"/> - + + - + + @@ -78,6 +79,23 @@ target/bin/xslt.sh -xsl:distribution/seed/seed-config.xsl saxon-config-uri=https + + + + + + + + + + + + + + + + + + @@ -98,8 +118,7 @@ target/bin/xslt.sh -xsl:distribution/seed/seed-config.xsl saxon-config-uri=https - + @@ -114,31 +133,62 @@ target/bin/xslt.sh -xsl:distribution/seed/seed-config.xsl saxon-config-uri=https /> - - - + + - - - - - - - + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -147,9 +197,72 @@ target/bin/xslt.sh -xsl:distribution/seed/seed-config.xsl saxon-config-uri=https - - - + + + + + + + + + + + + + + + + + + package not found: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + selecting package + + + @@ -181,17 +294,14 @@ target/bin/xslt.sh -xsl:distribution/seed/seed-config.xsl saxon-config-uri=https - - - - - - - - - + - + + + + + + diff --git a/distribution/seed/seed-config.xspec b/distribution/seed/seed-config.xspec new file mode 100644 index 0000000..cdc0403 --- /dev/null +++ b/distribution/seed/seed-config.xspec @@ -0,0 +1,63 @@ + + + + dts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/distribution/seed/test-assembly.xml b/distribution/seed/test-assembly.xml new file mode 100644 index 0000000..197a840 --- /dev/null +++ b/distribution/seed/test-assembly.xml @@ -0,0 +1,65 @@ + + + seed-testing + true + + + + tar.gz + + + + + ${project.basedir}/test + /${project.artifactId}-testing + + **/tei2txt.xsl + + + post-proc-* + specs/** + **/xspec/**.xsl + distribution/** + scripts/** + doc/** + test/** + utils/** + target/** + frameworks/** + cases/** + dist/** + wiki/** + + + + ${project.build.directory}/generated-resources/xml/xslt/test + /${project.artifactId}-testing + + **/*.seed.json + **/*.chain.json + + + + ${project.basedir}/testing + /${project.artifactId}-test + + saxon.xml + saxon-no-local.xml + + + + + + + ${project.build.directory}/generated-resources/xml/xslt/build.json + ${project.artifactId}-testing.json + + + ${project.build.directory}/generated-resources/yml/build.yml + ${project.artifactId}-testing.yaml + + + + diff --git a/pom.xml b/pom.xml index e6a9de1..c39e4a5 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,10 @@ ${project.basedir}/distribution/seed/seed-config.xsl + ${project.basedir}/distribution/seed/merge.xsl + ${project.basedir}/distribution/seed/chain.xsl ${project.basedir}/distribution/seed/sef-config.xsl + ${project.build.directory}/generated-resources/xml/xslt @@ -402,7 +405,7 @@ - + + ${project.basedir} + + pom.xml + + + + json-collection + file:${project.build.directory}/generated-resources/xml/xslt/xsl?select=*.seed.json;recurse=yes + + + ${seed-merge-xsl.url} + + + .json + + + + + + ${project.basedir} + + + test/media-type/tei2txt.xsl + + + + saxon-config-uri + ${project.basedir}/test/saxon.xml + + + id-prefix + ${project.artifactId}-testing + + + ${seed-config-xsl.url} + + + .chain.json + + + + + + ${project.basedir} + + test/media-type/tei2txt.xsl + + + + document-config-uri + ${seed-json-config.dir}/xsl/document.seed.json + + + chained-config-uri + ${seed-json-config.dir}/test/media-type/tei2txt.chain.json + + + media-type-package + http://example.com/xsl/tei2txt + + + media-type-package-version + 1.0.0 + + + media-type-component + mode + + + media-type-processor + tei + + + ${seed-chain-xsl.url} + + + .seed.json + + + + + + ${project.basedir} + + build.xml + + + + json-collection + file:${project.build.directory}/generated-resources/xml/xslt?select=*.seed.json;recurse=yes + + + ${seed-merge-xsl.url} @@ -500,27 +609,8 @@ ${project.build.directory}/generated-resources/xml/xslt false - **/*.json - - - - yml - ${project.build.directory}/generated-resources/yml - - - - seed-config-yaml-2-yaml - generate-resources - - json-2-yaml - - - - - ${project.build.directory}/generated-resources/xml/xslt - false - - **/*.json + pom.json + build.json @@ -611,32 +701,6 @@ - - - concat-seed-xml-transformer-configurations - generate-resources - - run - - - - - - - - - - - - - - - - - @@ -689,6 +753,21 @@ + + + seed-test + package + + single + + + ${project.artifactId}-${project.version} + ${project.basedir} + + distribution/seed/test-assembly.xml + + + diff --git a/test/media-type/a.xsl b/test/media-type/a.xsl new file mode 100644 index 0000000..65fb311 --- /dev/null +++ b/test/media-type/a.xsl @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/test/media-type/b.xsl b/test/media-type/b.xsl new file mode 100644 index 0000000..3ff2b66 --- /dev/null +++ b/test/media-type/b.xsl @@ -0,0 +1,8 @@ + + + + + + diff --git a/test/media-type/id.xsl b/test/media-type/id.xsl new file mode 100644 index 0000000..0c11838 --- /dev/null +++ b/test/media-type/id.xsl @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/test/media-type/tei2txt.xsl b/test/media-type/tei2txt.xsl new file mode 100644 index 0000000..7a4721c --- /dev/null +++ b/test/media-type/tei2txt.xsl @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + CHAINED PROC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dropping text in + + : ' + + ' + + + + diff --git a/test/media-type/tei2txt.xspec b/test/media-type/tei2txt.xspec new file mode 100644 index 0000000..0e36793 --- /dev/null +++ b/test/media-type/tei2txt.xspec @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + diff --git a/test/saxon.xml b/test/saxon.xml index 2f5767a..b0fed8e 100644 --- a/test/saxon.xml +++ b/test/saxon.xml @@ -41,6 +41,12 @@ This configuration version="1.0.0" sourceLocation="post-proc-call.xsl"/> + + + + diff --git a/xsl/document.xsl b/xsl/document.xsl index 819b16c..7d5a50c 100644 --- a/xsl/document.xsl +++ b/xsl/document.xsl @@ -13,7 +13,7 @@ target/bin/xslt.sh \ -it \ resource=test/matt.xml -All the entpoints parameters are supported through stylesheet parameters. +All the endpoints parameters are supported through stylesheet parameters. Post-processing for returning another mediaType than application/tei+xml can be customized by the static parameters $media-type-*. It is turned of by default. Set to $media-type-package