xref: /trunk/test/odf-validate/fetch-schemas.sh (revision 0e16a31d78a652c56c5c0fc79c752f48b9048df9)
1*0e16a31dSJim Jagielski#!/bin/zsh
2*0e16a31dSJim Jagielski#**************************************************************
3*0e16a31dSJim Jagielski#
4*0e16a31dSJim Jagielski#  Licensed to the Apache Software Foundation (ASF) under one
5*0e16a31dSJim Jagielski#  or more contributor license agreements.  See the NOTICE file
6*0e16a31dSJim Jagielski#  distributed with this work for additional information
7*0e16a31dSJim Jagielski#  regarding copyright ownership.  The ASF licenses this file
8*0e16a31dSJim Jagielski#  to you under the Apache License, Version 2.0 (the
9*0e16a31dSJim Jagielski#  "License"); you may not use this file except in compliance
10*0e16a31dSJim Jagielski#  with the License.  You may obtain a copy of the License at
11*0e16a31dSJim Jagielski#
12*0e16a31dSJim Jagielski#    http://www.apache.org/licenses/LICENSE-2.0
13*0e16a31dSJim Jagielski#
14*0e16a31dSJim Jagielski#  Unless required by applicable law or agreed to in writing,
15*0e16a31dSJim Jagielski#  software distributed under the License is distributed on an
16*0e16a31dSJim Jagielski#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17*0e16a31dSJim Jagielski#  KIND, either express or implied.  See the License for the
18*0e16a31dSJim Jagielski#  specific language governing permissions and limitations
19*0e16a31dSJim Jagielski#  under the License.
20*0e16a31dSJim Jagielski#
21*0e16a31dSJim Jagielski#**************************************************************
22*0e16a31dSJim Jagielski
23*0e16a31dSJim Jagielski# usage: fetch-schemas.sh -- download the OASIS ODF 1.2, 1.3 and 1.4 RELAX NG schemas into schema/
24*0e16a31dSJim Jagielski# They are not committed: they carry OASIS copyright terms.
25*0e16a31dSJim Jagielskisource ${0:A:h}/env.sh
26*0e16a31dSJim Jagielskimkdir -p $D/schema
27*0e16a31dSJim Jagielskitypeset -A SUMS
28*0e16a31dSJim JagielskiSUMS=(
29*0e16a31dSJim Jagielski  https://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-schema.rng ca5d2510858c6f922b20cd27dc76d34959c1a976b9dfc6b5caeadbebfc83dbbb
30*0e16a31dSJim Jagielski  https://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-manifest-schema.rng 75f972902bc785c15e51fb4e112e2f1b24e2327829eb54786cf8687ee39c7631
31*0e16a31dSJim Jagielski  https://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-dsig-schema.rng 52fbf196dc11fcaac41ff4b320f005daf419794c2f343a26ecab05778d7e7f6f
32*0e16a31dSJim Jagielski  https://docs.oasis-open.org/office/OpenDocument/v1.3/os/schemas/OpenDocument-v1.3-schema.rng 40bad03efdbb02825230d357da0aa6ac679934c5bf56c6281752c0c24d58e4e6
33*0e16a31dSJim Jagielski  https://docs.oasis-open.org/office/OpenDocument/v1.3/os/schemas/OpenDocument-v1.3-manifest-schema.rng 8aee71f03484be112af972d622cc9031280c007b0a454ae8815e8e333c9bdd17
34*0e16a31dSJim Jagielski  https://docs.oasis-open.org/office/OpenDocument/v1.3/os/schemas/OpenDocument-v1.3-dsig-schema.rng 1760eab7fba2394b6b9d2c77b4ed2187ed01ff8029f8538ba7bff3b834866573
35*0e16a31dSJim Jagielski  https://docs.oasis-open.org/office/OpenDocument/v1.4/os/schemas/OpenDocument-v1.4-schema.rng 4034ec6be29205d5fc1ee5f42468ac6ef824287b3aba6d9289032af4fafbda7f
36*0e16a31dSJim Jagielski  https://docs.oasis-open.org/office/OpenDocument/v1.4/os/schemas/OpenDocument-v1.4-manifest-schema.rng f96e1fe95f4e3609717a307c28e2fe0654c890fe70ea03eb8a53caa20b684782
37*0e16a31dSJim Jagielski)
38*0e16a31dSJim Jagielskirc=0
39*0e16a31dSJim Jagielskifor url sum in ${(kv)SUMS}; do
40*0e16a31dSJim Jagielski  f=$D/schema/${url:t}
41*0e16a31dSJim Jagielski  [[ -f $f ]] || curl -sfL -o $f $url || { echo "download failed: $url"; rc=1; continue; }
42*0e16a31dSJim Jagielski  [[ $(shasum -a 256 $f | cut -d' ' -f1) == $sum ]] && echo "ok ${url:t}" || { echo "CHECKSUM MISMATCH ${url:t}"; rc=1; }
43*0e16a31dSJim Jagielskidone
44*0e16a31dSJim Jagielskiexit $rc
45