From c75445712d66143e9a7cf03aac746b7672ea8a44 Mon Sep 17 00:00:00 2001 From: Anthony LICK Date: Thu, 28 Jun 2018 15:09:59 +0200 Subject: [PATCH] Add XPath 3.0 std results to full table --- tools/tex/composition_full.sh | 119 ++++++++++++++++++---------------- 1 file changed, 64 insertions(+), 55 deletions(-) diff --git a/tools/tex/composition_full.sh b/tools/tex/composition_full.sh index ecef1b2..9bf8787 100755 --- a/tools/tex/composition_full.sh +++ b/tools/tex/composition_full.sh @@ -1,14 +1,15 @@ #!/bin/bash fragment='xpath-2.0-core-join.rnc' +std='xpath-3.0-std.rnc' xslt=`grep 'xslt' benchmarks-all-full.xml | sed -e 's/.*href="\([^"]*\).*/\1/'` xquery=`grep 'xquery' benchmarks-all-full.xml | sed -e 's/.*href="\([^"]*\).*/\1/'` -printf '\\begin{tabular}{lrrrrr}\n' +printf '\\begin{tabular}{lrrrrrr}\n' printf '\\toprule\n' -printf 'Source & queries & XPath\\,1.0 & XPath\\,2.0 & XPath\,3.0 & \\textsf{CoreXPath~2.0}\\\\\n' -printf ' & & & & & extended\\\\\n' +printf 'Source & queries & XPath\\,1.0 & XPath\\,2.0 & XPath\,3.0 & XPath\,3.0\,std & \\textsf{Core~2.0}\\\\\n' +printf ' & & & & & & extended\\\\\n' printf '\\midrule\n' # XSLT files @@ -27,6 +28,9 @@ do percent=`echo "scale=1; 100*$count/$n" | bc` printf "& $percent\\\\%% " done + count=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$std\" and @valid=\"yes\"]])" $file` + percent=`echo "scale=1; 100*$count/$n" | bc` + printf "& $percent\\\\%% " count=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$fragment\" and @valid=\"yes\"]])" $file` percent=`echo "scale=1; 100*$count/$n" | bc` printf "& $percent\\\\%% " @@ -42,25 +46,36 @@ printf "& %'.0f " $n #coverage of standard XPath languages for ((i=1; i < 4; ++i)) do - count=0 - for file in $xslt - do - c=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"xpath-$i.0.rnc\" and @valid=\"yes\"]])" $file` - count=$((count+c)) - done - counts[$i]=$count - percent=`echo "scale=1; 100*$count/$n" | bc` - printf "& $percent\\\\%% " + count=0 + for file in $xslt + do + c=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"xpath-$i.0.rnc\" and @valid=\"yes\"]])" $file` + count=$((count+c)) + done + counts[$i]=$count + percent=`echo "scale=1; 100*$count/$n" | bc` + printf "& $percent\\\\%% " done +# std count=0 for file in $xslt do - c=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$fragment\" and @valid=\"yes\"]])" $file` + c=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$std\" and @valid=\"yes\"]])" $file` count=$((count+c)) done counts[4]=$count percent=`echo "scale=1; 100*$count/$n" | bc` printf "& $percent\\\\%% " +# Core 2.0 +count=0 +for file in $xslt +do + c=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$fragment\" and @valid=\"yes\"]])" $file` + count=$((count+c)) +done +counts[5]=$count +percent=`echo "scale=1; 100*$count/$n" | bc` +printf "& $percent\\\\%% " printf '\\\\\n' printf '\\midrule\n' @@ -82,6 +97,9 @@ do percent=`echo "scale=1; 100*$count/$n" | bc` printf "& $percent\\\\%% " done + count=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$std\" and @valid=\"yes\"]])" $file` + percent=`echo "scale=1; 100*$count/$n" | bc` + printf "& $percent\\\\%% " count=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$fragment\" and @valid=\"yes\"]])" $file` percent=`echo "scale=1; 100*$count/$n" | bc` printf "& $percent\\\\%% " @@ -97,58 +115,49 @@ printf "& %'.0f " $n # coverage of standard XPath languages for ((i=1; i < 4; ++i)) do - count=0 - for file in $xquery - do - c=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"xpath-$i.0.rnc\" and @valid=\"yes\"]])" $file` - count=$((count+c)) - done - counts[$i]=$((count + counts[i])) - percent=`echo "scale=1; 100*$count/$n" | bc` - printf "& $percent\\\\%% " + count=0 + for file in $xquery + do + c=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"xpath-$i.0.rnc\" and @valid=\"yes\"]])" $file` + count=$((count+c)) + done + counts[$i]=$((count + counts[i])) + percent=`echo "scale=1; 100*$count/$n" | bc` + printf "& $percent\\\\%% " done - count=0 - for file in $xquery - do - c=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$fragment\" and @valid=\"yes\"]])" $file` - count=$((count+c)) - done - counts[4]=$((count + counts[i])) - percent=`echo "scale=1; 100*$count/$n" | bc` - printf "& $percent\\\\%% " +count=0 +# std +for file in $xquery +do + c=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$std\" and @valid=\"yes\"]])" $file` + count=$((count+c)) +done +counts[4]=$((count + counts[4])) +percent=`echo "scale=1; 100*$count/$n" | bc` +printf "& $percent\\\\%% " +# Core 2.0 +count=0 +for file in $xquery +do + c=`xmlstarlet sel -N xqx="http://www.w3.org/2005/XQueryX" -t -c "count(//xpath[schemas/validation[@schema=\"$fragment\" and @valid=\"yes\"]])" $file` + count=$((count+c)) +done +counts[5]=$((count + counts[5])) +percent=`echo "scale=1; 100*$count/$n" | bc` +printf "& $percent\\\\%% " printf '\\\\\n' N=$((N + n)) printf '\\midrule\n' printf 'Total ' printf "& %'.0f " $N -for ((i=1; i < 5; ++i)) +for ((i=1; i < 6; ++i)) do - count=${counts[i]} - percent=`echo "scale=1; 100*$count/$N" | bc` - printf "& $percent\\\\%% " + count=${counts[i]} + percent=`echo "scale=1; 100*$count/$N" | bc` + printf "& $percent\\\\%% " done printf '\\\\\n' printf '\\bottomrule\n' printf '\\end{tabular}\n' - - -# \begin{tabular}{lrrrr} -# \toprule -# Source & \!\!queries & \!\!XPath\,1.0 & \!\!XPath\,2.0 & \!\!XPath\,3.0\\ -# % \midrule -# % W3C QT & 207 & 132 & 138 & 207\\ -# % XPathMark & 38 & 38 & 38 & 38\\ -# \midrule -# DocBook & 7,620 & 7,620 & 7,620 & 7,620 \\ -# HTMLBook & 752 & 752 & 752 & 752 \\ -# eXist-db & 1,236 & 955 & 1,105 & 1,236 \\ -# HisTEI & 483 & 361 & 471 & 483 \\ -# MarkLogic & 196 & 139 & 184 & 191 \\ -# XQJSON & 90 & 67 & 90 & 90 \\ -# \midrule -# Total & 10,377 & 9,894 & 10,222 & 10,372\\ -# & & (95\%) & (98\%) & (100\%)\\ -# \bottomrule -# \end{tabular} -- 2.24.1