CI: validate JATS table output
This commit is contained in:
parent
0306eec5fa
commit
56f607b50b
1 changed files with 30 additions and 6 deletions
36
.github/workflows/format-validation.yml
vendored
36
.github/workflows/format-validation.yml
vendored
|
@ -9,6 +9,7 @@ on:
|
|||
- 'test/writer.jats_articleauthoring'
|
||||
- 'test/writer.jats_publishing'
|
||||
- 'test/writer.jats_archiving'
|
||||
- 'test/tables.jats_archiving'
|
||||
pull_request:
|
||||
branches:
|
||||
- '*'
|
||||
|
@ -17,6 +18,7 @@ on:
|
|||
- 'test/writer.jats_articleauthoring'
|
||||
- 'test/writer.jats_publishing'
|
||||
- 'test/writer.jats_archiving'
|
||||
- 'test/tables.jats_archiving'
|
||||
|
||||
jobs:
|
||||
jats:
|
||||
|
@ -31,19 +33,16 @@ jobs:
|
|||
- articleauthoring
|
||||
- publishing
|
||||
- archiving
|
||||
file:
|
||||
- writer
|
||||
# tables are not supported yet, the files contain only snippets.
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Validate
|
||||
- name: Validate writer output
|
||||
run: |
|
||||
filename=test/${{ matrix.file }}.jats_${{ matrix.tagset }}
|
||||
filename=test/writer.jats_${{ matrix.tagset }}
|
||||
printf "Validating file %s\n" "$filename"
|
||||
json="$(curl --form "xml=@${filename}" --silent "$VALIDATOR_URL")"
|
||||
err_count="$(echo "$json" | jq '.errors | length')"
|
||||
err_count="$(printf '%s' "$json" | jq '.errors | length')"
|
||||
if [ "$err_count" -eq 0 ]; then
|
||||
printf "File was validated successfully.\n"
|
||||
exit 0
|
||||
|
@ -51,3 +50,28 @@ jobs:
|
|||
printf "Validator report:\n%s" "$json"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Validate tables
|
||||
# Archiving has the simplest template, so we only check with that.
|
||||
if: matrix.tagset == 'archiving'
|
||||
run: |
|
||||
tmpl="$(cat <<EOF
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.2 20190208//EN"
|
||||
"JATS-archivearticle1.dtd">
|
||||
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="1.2" article-type="other">
|
||||
<front><article-meta></article-meta></front>
|
||||
<body>%s</body></article>
|
||||
EOF
|
||||
)"
|
||||
jats_file="$(mktemp jats-tables.XXXXX)"
|
||||
printf "$tmpl" "$(cat test/tables.jats_archiving)" > "$jats_file"
|
||||
json="$(curl --form "xml=@${jats_file}" --silent "$VALIDATOR_URL")"
|
||||
err_count="$(printf "%s" "$json" | jq '.errors | length')"
|
||||
if [ "$err_count" -eq 0 ]; then
|
||||
printf "Table output is valid when used as body content.\n"
|
||||
exit 0
|
||||
else
|
||||
printf "Validator report:\n%s" "$json"
|
||||
exit 1
|
||||
fi
|
||||
|
|
Loading…
Add table
Reference in a new issue