diff --git a/build.gradle b/build.gradle index eab40fab..129da29e 100644 --- a/build.gradle +++ b/build.gradle @@ -101,7 +101,7 @@ task make_etc() { ["steps", "step-file", "step-os", "step-paged-media", "step-run", "step-text", "step-mail", "step-rdf", "step-validation", - "step-ixml", "step-message" + "step-ixml" ].each { spec -> Task t = task "copy_${spec}_build"(dependsOn: [ "buildspecs" ], type: Copy) { from "$spec/build/" @@ -706,59 +706,6 @@ task step_ixml_xpl(dependsOn: ["step-ixml:library"], type: Copy) { rename ("library.xml", "steps.xpl") } -// ====================================================================== -// step-message - -task step_message(type: DocBookTask, - dependsOn: [ "download_xproc_toc", - "steps", "xproc_schemas", "spec_schemas", - "step-message:specification", - "step_message_assets", - "step_message_src", "step_message_xpl" ]) { - inputs.files fileTree(dir: "tools/xsl/") - inputs.files fileTree(dir: "tools/xpl/") - inputs.file "build/xproc/toc.xml" - input("source", "step-message/build/source.xml") - output("result", "build/dist/message/index.html") - - param("schemaext.schema", file("build/schema/dbspec.rng")) - param("ci", getenv("CIWORKFLOW")) - param("ci-commit", getenv("CI_SHA1")) - param("ci-build-number", getenv("CI_BUILD_NUM")) - param("ci-user", getenv("CI_PROJECT_USERNAME")) - param("ci-repo", getenv("CI_PROJECT_REPONAME")) - param("ci-branch", getenv("CI_BRANCH")) - param("ci-tag", getenv("CI_TAG")) - - option("style", file("tools/xsl/xproc-specs.xsl")) - option("diff", deltaxml()) - option("specid", "message") - option("diffloc", buildAbsDir + "/message/diff.html") - - pipeline "tools/xpl/formatspec.xpl" -} -buildspecs.dependsOn "step_message" - -task step_message_assets(type: Copy) { - from "src/main/resources" - into "build/dist/message/" -} - -task step_message_src(dependsOn: ["step-message:source"], type: Copy) { - from "step-message/build/" - into "build/dist/message/" - include "source.xml" - rename ("source.xml", "specification.xml") -} - -task step_message_xpl(dependsOn: ["step-message:library"], type: Copy) { - from "step-message/build/" - into "build/dist/message/" - include "library.xml" - rename ("library.xml", "steps.xpl") -} - - // ====================================================================== // Clean up diff --git a/step-message/build.gradle b/step-message/build.gradle deleted file mode 100644 index 0e771965..00000000 --- a/step-message/build.gradle +++ /dev/null @@ -1,95 +0,0 @@ -repositories { - mavenLocal() - mavenCentral() -} - -configurations { - tools { - description = "Run tools" - transitive = true - } -} - -dependencies { - tools ( - [group: 'org.relaxng', name: 'jing', version: '20181204'], - [group: 'org.relaxng', name: 'trang', version: '20181204'] - ) -} - -defaultTasks 'specification' - -apply plugin: 'com.xmlcalabash.task' - -import com.xmlcalabash.XMLCalabashTask -import com.nwalsh.tasks.StripAmblesTask - -task xinclude(dependsOn: [":spec_schemas"], type: XMLCalabashTask) { - inputs.files fileTree(dir: "src/main/xml/") - outputs.file "build/xinclude.xml" - input("source", "src/main/xml/specification.xml") - output("result", "build/xinclude.xml") - pipeline "../tools/xpl/validate.xpl" -} -xinclude.doFirst { - mkdir("build") -} - -task source(dependsOn: ["glossary"], type: XMLCalabashTask) { - inputs.file "../tools/xsl/masterbib.xsl" - inputs.file "../src/main/xml/bibliography.xml" - inputs.file "src/main/xml/specification.xml" - inputs.file "build/glossary.xml" - outputs.file "build/source.xml" - input("source", "src/main/xml/specification.xml") - output("result", "build/source.xml") - pipeline "../tools/xpl/validate.xpl" -} - -task glossary(dependsOn: ["xinclude"], type: XMLCalabashTask) { - inputs.file "build/xinclude.xml" - inputs.file "../tools/xpl/makeglossary.xpl" - inputs.file "../tools/xsl/makeglossary.xsl" - outputs.file "build/glossary.xml" - input("source", "build/xinclude.xml") - output("result", "build/glossary.xml") - pipeline "../tools/xpl/makeglossary.xpl" -} - -task library(dependsOn: ["source"], type: XMLCalabashTask) { - inputs.file "build/source.xml" - inputs.file "../tools/xpl/typed-pipeline-library.xpl" - inputs.file "../tools/xsl/typed-pipeline-library.xsl" - outputs.file "build/library.xml" - input("source", "build/source.xml") - output("result", "build/library.xml") - pipeline "../tools/xpl/typed-pipeline-library.xpl" -} - -task rnc(dependsOn: ["library"], type: XMLCalabashTask) { - inputs.file "build/library.xml" - inputs.file "../tools/xpl/library-to-rnc.xpl" - inputs.file "../tools/xsl/library-to-rnc.xsl" - outputs.file "build/steps.rnc" - input("source", "build/library.xml") - output("result", "build/steps.rnc") - pipeline "../tools/xpl/library-to-rnc.xpl" -} - -task rng(dependsOn: ["rnc"], type: JavaExec) { - inputs.file "build/steps.rnc" - outputs.file "build/steps.rng" - classpath = configurations.tools - mainClass = 'com.thaiopensource.relaxng.translate.Driver' - args = ["build/steps.rnc", "build/steps.rng"] -} - -task specification(dependsOn: [ "source", "library", "rng" ]) { - // nop -} - -task clean() { - doFirst { - delete("build") - } -} diff --git a/step-message/src/main/xml/ancillary.xml b/step-message/src/main/xml/ancillary.xml deleted file mode 100644 index 76e73748..00000000 --- a/step-message/src/main/xml/ancillary.xml +++ /dev/null @@ -1,21 +0,0 @@ - -Ancillary files - -This specification includes by reference a number of -ancillary files. - - - - - -An XProc step library for the declared steps. - - - - - - diff --git a/step-message/src/main/xml/specification.xml b/step-message/src/main/xml/specification.xml deleted file mode 100644 index 3313ab0e..00000000 --- a/step-message/src/main/xml/specification.xml +++ /dev/null @@ -1,220 +0,0 @@ - - - - XProc 3.1: message step - -2025 -the Contributors to the XProc 3.1 Standard Step Library -specifications - - -xproc/3.0-steps -XProc Next - - XML - - - Norman Walsh - - - Achim Berndzen - - - Gerrit Imsieke - - - Erik Siegel - - - - - This specification describes an optional message step for -XProc 3.1: An XML Pipeline Language. - - - - This specification was published by the - XProc - Next Community Group. It is not a W3C Standard nor is it on - the W3C Standards Track. Please note that under the - W3C - Community Contributor License Agreement (CLA) there is a limited - opt-out and other conditions apply. Learn more about W3C Community and Business - Groups. - - - If you wish to make comments regarding this document, please - send them to - xproc-dev@w3.org. - (subscribe, - archives). - - - -This draft is the “editor’s working draft” and may continue to evolve. - - - - - -
- Introduction - - This specification describes an optional message step for XProc 3.1. -A machine-readable description of this step may be found in -steps.xpl. - -Familarity with the general nature of - steps is assumed. -
- -
-Step library - -
-p:message - -The p:message step conditionally produces a message. - - - - - - - - -Steps that produce messages offer one way for an author to keep track of -the progress of a pipeline. The [p:]message -attribute can be added to any step to display a message when it runs. - -Status and debugging messages that are appropriate during pipeline -development may be distracting when the pipeline is running “in production”. -Existing mechanisms for conditional compilation can be used to mediate between -“development” and “production” runs, but they are a bit heavyweight. Adding many -steps with [p:]use-when attributes and managing the -connections between steps that may be conditionally removed can make pipelines -harder to read and understand. - -The p:message step can be used to achieve much the same effect -and is considerably less verbose. - -If the test attribute is - “true”, the result of evaluating the select option is -serialized and made available. (As with the message -attribute, this is intentionally vague. Precisely what “made -available” means is implementation-defined. -Often it means “printed on the console”.) - -Irrespective of the value of the test -attribute, the p:message passes all of the documents that appear on -its source port through to the result port, -unchanged and in the same order. - -If exactly one document appears on the source port, it is the -context item when the test and select expressions are evaluated. In all other cases, -the context item is undefined. - - -If it can be determined statically that test expression is -alwaysfalse”, the processor may remove the -step from the pipeline entirely, although it must guarantee that all of the connections -are preserved. - - - - Document properties - All document properties are preserved. - -
-
- - - - -Conformance - -Conformant processors must implement all of the features -described in this specification except those that are explicitly identified -as optional. - -Some aspects of processor behavior are not completely specified; those -features are either implementation-dependent or -implementation-defined. - -An -implementation-dependent feature is one where the -implementation has discretion in how it is performed. -Implementations are not required to document or explain -how implementation-dependent features are performed. - - -An -implementation-defined feature is one where the -implementation has discretion in how it is performed. -Conformant implementations must document -how implementation-defined features are performed. - - -
-Implementation-defined features - -The following features are implementation-defined: - - -
- -
- - - References - - - - - - - - - - Glossary - Glossary needs to be generated - - - - - - -
diff --git a/steps/src/main/xml/specification.xml b/steps/src/main/xml/specification.xml index 93270dfe..b67061a7 100644 --- a/steps/src/main/xml/specification.xml +++ b/steps/src/main/xml/specification.xml @@ -233,6 +233,7 @@ PSVI annotations. + diff --git a/steps/src/main/xml/steps/message.xml b/steps/src/main/xml/steps/message.xml new file mode 100644 index 00000000..7098f899 --- /dev/null +++ b/steps/src/main/xml/steps/message.xml @@ -0,0 +1,60 @@ +
+p:message + +The p:message step conditionally produces a message. + + + + + + + + +Steps that produce messages offer one way for an author to keep track of +the progress of a pipeline. The [p:]message +attribute can be added to any step to display a message when it runs. + +Status and debugging messages that are appropriate during pipeline +development may be distracting when the pipeline is running “in production”. +Existing mechanisms for conditional compilation can be used to mediate between +“development” and “production” runs, but they are a bit heavyweight. Adding many +steps with [p:]use-when attributes and managing the +connections between steps that may be conditionally removed can make pipelines +harder to read and understand. + +The p:message step can be used to achieve much the same effect +and is considerably less verbose. + +If the test attribute is + “true”, the result of evaluating the select option is +serialized and made available. (As with the message +attribute, this is intentionally vague. Precisely what “made +available” means is implementation-defined. +Often it means “printed on the console”.) + +Irrespective of the value of the test +attribute, the p:message passes all of the documents that appear on +its source port through to the result port, +unchanged and in the same order. + +If exactly one document appears on the source port, it is the +context item when the test and select expressions are evaluated. In all other cases, +the context item is undefined. + + +If it can be determined statically that test expression is +alwaysfalse”, the processor may remove the +step from the pipeline entirely, although it must guarantee that all of the connections +are preserved. + + + + Document properties + All document properties are preserved. + +