diff options
| author | Edwin Török <[email protected]> | 2023-12-18 23:36:58 +0000 |
|---|---|---|
| committer | John MacFarlane <[email protected]> | 2023-12-18 17:15:03 -0800 |
| commit | 3e360f5a3e52852e349361d83280a3d21f051e04 (patch) | |
| tree | 4839f41ba4fc637386d9e13e9da15183c66ad77d /tools | |
| parent | 333b0dd2ff545436f9dea961ad7234e4aeaad214 (diff) | |
test(Makefile): add validate-docx-golden-test2
Add a validation rule based on OOXML-Validator which uses the
Open-XML-SDK shipped and maintained as part of dotnet.
This catches a few more issues compared to the .xsd.
Unfortunately currently this executable always exits with 0 even when
validation failed. That can be fixed later by invoking it from a script.
Signed-off-by: Edwin Török <[email protected]>
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/validate-docx2.sh | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tools/validate-docx2.sh b/tools/validate-docx2.sh new file mode 100644 index 000000000..7b43c62a0 --- /dev/null +++ b/tools/validate-docx2.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +# based on validate-docx.sh, and adapted for OOXMLValidatorCLI +# Modified by edwintorok from https://github.com/devoidfury/docx-validator +# to look at more files than just document.xml. +# Further modified by jgm for portability. + +tmpdir=$(mktemp -d) +error_files="" +errors=0 +VALIDATOR=OOXML-Validator/bin/Release/*/OOXMLValidatorCLI + +for file in "$@"; do + file_errors=0 + echo "*** Checking $file" + dotnet $(VALIDATOR) "${file}" 2>&1 || file_errors=1 + if [ $file_errors -gt 0 ]; then + errors=$((file_errors + errors)) + error_files="$error_files\n$file" + fi +done +if [ $errors -gt 0 ]; then + echo "These files failed validation:$error_files" +fi +exit $errors |
