Files
openide/xml/relaxng/scripts/update_html5_schema.sh
Piotr Tomiak 6019849ab1 WEB-76794 HTML: February 2026 HTML5 schema update
GitOrigin-RevId: 4b39758846ec81c502c58c09a321ae770c1cf4cd
2026-02-12 15:57:48 +00:00

77 lines
1.4 KiB
Bash
Executable File

#! /bin/bash
set -o errexit
ROOT=$PWD
PATCHES="$ROOT/../resources/resources/patches"
cd ../resources/resources
rm -rf temp
rm -rf result
rm -rf browser-compat-data
mkdir temp
cd temp
echo ">>>>> Preparing validator build"
git clone https://github.com/validator/validator
cd validator
cd build
git apply "$PATCHES/patch_build.patch"
cd ..
echo
echo ">>>>> Building schema drivers"
python3 build/build.py build
echo
echo ">>>>> Collecting schemas"
cd ../..
mkdir result
mkdir result/html5
rsync -r --include=*.rnc temp/validator/schema/* result
rm -rf result/xhtml10
pwd
ruby ../../scripts/html5charref.rb > result/html5chars.ent
echo
echo ">>>>> Trimming line endings in result directory"
find result -type f -name "*.rnc" -exec sh -c "sed -i.bak 's/[[:space:]]*$//' {} && rm {}.bak" _ {} \;
echo
echo ">>>>> Patching html5 schema"
cp patches/*.rnc result/html5
cd result
for f in `ls $PATCHES`
do
if [[ "$f" == 0*\.* ]]
then
echo "$f"
patch -p0 -u < "$PATCHES/$f"
fi
done
cd ..
echo
echo ">>>>> Moving items in place"
mv result/html5/LICENSE result
# Use our root schema files
cp html5-schema/*.rnc result
# Retain our SVG 2.0 support
cp -R html5-schema/svg20 result
# Retain our rdf support
cp -R html5-schema/rdf result
# Remove unnecessary files
rm result/html5/.htaccess
rm result/mml3/Makefile
rm result/mml3/patch-vnu
# Update html5-schema dir
rm -rf html5-schema
mv result html5-schema
rm -rf temp