From: Nicolas Boisselier Date: Sat, 9 Mar 2019 23:14:22 +0000 (+0000) Subject: etc/profile.d/functions X-Git-Url: https://git.nbdom.net/?a=commitdiff_plain;h=fef86d7616f55d360179ff2e63ac1796c3b02361;p=nb.git etc/profile.d/functions --- diff --git a/etc/profile.d/functions b/etc/profile.d/functions index cc00a9ba..d34b3e76 100755 --- a/etc/profile.d/functions +++ b/etc/profile.d/functions @@ -779,74 +779,13 @@ html2pdf() { iconv -f utf-8 -t iso-8859-1 -c $@ | htmldoc --encryption --webpage --continuous --no-title --header '...' --footer '...' - } +xml2txt() { + xsltproc $NB_ROOT/lib/xslt/xml2txt.xslt $@ +} + xml2csv() { xsltproc $NB_ROOT/lib/xslt/xml2csv.xslt $@ } -# NB 16.01.18 csv2h() { -# NB 16.01.18 shell_help "Usage: $FUNCNAME [PERL_REGEXP --sep|-s (default: tab)] [--noheader|-nh]" "$@" && return; -# NB 16.01.18 local sep noheader; -# NB 16.01.18 sep='\t'; -# NB 16.01.18 noheader=0; -# NB 16.01.18 local files='' -# NB 16.01.18 -# NB 16.01.18 while [ $# -gt 0 ]; do -# NB 16.01.18 -# NB 16.01.18 if [ -e "$1" ]; then -# NB 16.01.18 files="$files $1" -# NB 16.01.18 shift -# NB 16.01.18 continue -# NB 16.01.18 fi -# NB 16.01.18 -# NB 16.01.18 case "$1" in -# NB 16.01.18 --sep|-s) -# NB 16.01.18 sep=$2; -# NB 16.01.18 shift -# NB 16.01.18 ;; -# NB 16.01.18 --noheader|-nh) -# NB 16.01.18 noheader=1 -# NB 16.01.18 ;; -# NB 16.01.18 *) -# NB 16.01.18 echo "Unknow option: $1 at $0!"; -# NB 16.01.18 return 1 -# NB 16.01.18 ;; -# NB 16.01.18 -# NB 16.01.18 esac -# NB 16.01.18 -# NB 16.01.18 shift -# NB 16.01.18 -# NB 16.01.18 done -# NB 16.01.18 -# NB 16.01.18 [ -z "$@" ] || sep="$@"; -# NB 16.01.18 -# NB 16.01.18 cat $files | perl -MEncode -F"$sep" -ane 'BEGIN { -# NB 16.01.18 $noheader = shift @ARGV; -# NB 16.01.18 @len = (); @lines = (); -# NB 16.01.18 binmode( STDOUT, "utf8:" ); -# NB 16.01.18 }; -# NB 16.01.18 for ($i=0;$i<@F;$i++) { -# NB 16.01.18 chomp($F[$i]); -# NB 16.01.18 $F[$i] =~ s/^\r//; -# NB 16.01.18 $F[$i] = Encode::decode_utf8($F[$i]); -# NB 16.01.18 $len[$i] = $l if ( $l = length($F[$i])) >= $len[$i]; -# NB 16.01.18 } -# NB 16.01.18 push @lines, [@F]; -# NB 16.01.18 END { -# NB 16.01.18 exit unless @lines; -# NB 16.01.18 $i = 0; -# NB 16.01.18 $t = -1; -# NB 16.01.18 $tot = @lines - ($noheader ? 0 : 1); -# NB 16.01.18 $format = "| ".join(" | ",map {$t+=$_+3; "\%-".$_."s"} @len)." |".chr(10); -# NB 16.01.18 $sep_line = "+".join("+",map {("-"x($_+2))} @len)."+".chr(10); -# NB 16.01.18 print $sep_line; -# NB 16.01.18 while ($_ = shift @lines) { -# NB 16.01.18 printf $format,@$_; -# NB 16.01.18 print $sep_line if !$noheader and !$i++; -# NB 16.01.18 } -# NB 16.01.18 print $sep_line; -# NB 16.01.18 print "$tot Records\n"; -# NB 16.01.18 } -# NB 16.01.18 ' $noheader -# NB 16.01.18 } cron_d_install() { local usage fname file exp cron tmp test diff --git a/lib/xslt/xml2txt.xslt b/lib/xslt/xml2txt.xslt new file mode 100644 index 00000000..f8f5fce6 --- /dev/null +++ b/lib/xslt/xml2txt.xslt @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + +