xslt-examples/__relpipe-out-xml_xslt.sh
author František Kučera <franta-hg@frantovo.cz>
Fri, 31 Jul 2020 00:07:04 +0200
branchv_0
changeset 29 509cac0cf411
parent 25 8e2d9b67b51c
permissions -rwxr-xr-x
xslt: relpipe-out-xhtml: customizable strings and CSS This commands now accepts following parameters: --title --css-appendix --description --record-count-prefix --record-count-suffix --relation-name-prefix --relation-name-suffix and allows to customize (e.g. localize) the XHTML output or override CSS rules by providing own. Attribute names, types and record counts have CSS classes and can be styled or (visually) removed.

#!/bin/bash

# Relational pipes
# Copyright © 2020 František Kučera (Frantovo.cz, GlobalCode.info)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, version 3 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

DIR="$(dirname $0)"
BASE="$(basename $0)"
XSL="$DIR/$BASE.xsl"

xsltParams=();

while [[ $# -gt 0 ]]; do
	argument="$1";
	case "$argument" in
		"--title")                       xsltParams+=("--stringparam" "title" "$2"); shift; shift; ;;
		"--css-appendix")                xsltParams+=("--stringparam" "cssAppendix" "$2"); shift; shift; ;;
		"--description")                 xsltParams+=("--stringparam" "description" "$2"); shift; shift; ;;
		"--record-count-prefix")         xsltParams+=("--stringparam" "recordCountPrefix" "$2"); shift; shift; ;;
		"--record-count-suffix")         xsltParams+=("--stringparam" "recordCountSuffix" "$2"); shift; shift; ;;
		"--relation-name-prefix")        xsltParams+=("--stringparam" "relationNamePrefix" "$2"); shift; shift; ;;
		"--relation-name-suffix")        xsltParams+=("--stringparam" "relationNameSuffix" "$2"); shift; shift; ;;
		*) echo "Unknown option: $argument" >&2; exit 1;
	esac
done

if [[ -f "$XSL" ]]; then
	relpipe-out-xml | xsltproc "${xsltParams[@]}" "$XSL" -
else
	echo "unable to find XSLT template: $XSL" 1>&2
	exit 1;
fi