From 9cddedca9de05eca2aefe22bce7ec9c389b76e6b Mon Sep 17 00:00:00 2001 From: Nick Adams Date: Wed, 30 Sep 2020 10:00:14 -0400 Subject: [PATCH 1/6] Revert "ATLAS-209: Update toolchain to generate index file with .xhtml extension" --- htmlbook-xsl/chunk.xsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htmlbook-xsl/chunk.xsl b/htmlbook-xsl/chunk.xsl index 64299525..95222d9d 100755 --- a/htmlbook-xsl/chunk.xsl +++ b/htmlbook-xsl/chunk.xsl @@ -28,7 +28,7 @@ - + From 2260a5d9c45fbec6896516ef49f898579174fd17 Mon Sep 17 00:00:00 2001 From: Nick Adams Date: Wed, 30 Sep 2020 10:01:11 -0400 Subject: [PATCH 2/6] Revert "ATLAS-206: Update toolchain to generate EPUB cover file with .xhtml extension" --- htmlbook-xsl/epub.xsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htmlbook-xsl/epub.xsl b/htmlbook-xsl/epub.xsl index 4e85ec31..acec95ce 100755 --- a/htmlbook-xsl/epub.xsl +++ b/htmlbook-xsl/epub.xsl @@ -161,7 +161,7 @@ - + From 6ae209cc437e8e641ebe2e3d604a6c1bd584a22b Mon Sep 17 00:00:00 2001 From: Nick Adams Date: Wed, 30 Sep 2020 10:01:56 -0400 Subject: [PATCH 3/6] Revert "ATLAS-27: Update XSL to generate files with .xhtml extension" --- .gitignore | 2 - htmlbook-xsl/chunk.xsl | 2 +- htmlbook-xsl/xspec/.gitignore | 3 - htmlbook-xsl/xspec/bin/xspec.sh | 315 ++---- htmlbook-xsl/xspec/chunk.xspec | 92 +- htmlbook-xsl/xspec/common.xspec | 27 +- htmlbook-xsl/xspec/elements.xspec | 922 ++++++++---------- htmlbook-xsl/xspec/epub.xspec | 4 +- htmlbook-xsl/xspec/fileextension.xspec | 25 - htmlbook-xsl/xspec/indexgen.xspec | 16 +- htmlbook-xsl/xspec/java/.DS_Store | Bin 0 -> 6148 bytes htmlbook-xsl/xspec/java/com/.DS_Store | Bin 0 -> 6148 bytes .../xspec/java/com/jenitennison/.DS_Store | Bin 0 -> 6148 bytes .../java/com/jenitennison/xslt/.DS_Store | Bin 0 -> 6148 bytes htmlbook-xsl/xspec/ncx.xspec | 16 +- htmlbook-xsl/xspec/opf.xspec | 56 +- htmlbook-xsl/xspec/saxon9he.jar | Bin 10265724 -> 5480684 bytes htmlbook-xsl/xspec/tocgen.xspec | 52 +- htmlbook-xsl/xspec/xrefgen.xspec | 128 +-- 19 files changed, 611 insertions(+), 1049 deletions(-) delete mode 100644 .gitignore delete mode 100644 htmlbook-xsl/xspec/.gitignore delete mode 100755 htmlbook-xsl/xspec/fileextension.xspec create mode 100644 htmlbook-xsl/xspec/java/.DS_Store create mode 100644 htmlbook-xsl/xspec/java/com/.DS_Store create mode 100644 htmlbook-xsl/xspec/java/com/jenitennison/.DS_Store create mode 100644 htmlbook-xsl/xspec/java/com/jenitennison/xslt/.DS_Store diff --git a/.gitignore b/.gitignore deleted file mode 100644 index cac07840..00000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# Mac Finder files -.DS_Store diff --git a/htmlbook-xsl/chunk.xsl b/htmlbook-xsl/chunk.xsl index 64299525..265be172 100755 --- a/htmlbook-xsl/chunk.xsl +++ b/htmlbook-xsl/chunk.xsl @@ -320,7 +320,7 @@ sect5:s - .xhtml + .html diff --git a/htmlbook-xsl/xspec/.gitignore b/htmlbook-xsl/xspec/.gitignore deleted file mode 100644 index 7d289b4e..00000000 --- a/htmlbook-xsl/xspec/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# OS generated files # -###################### -.DS_Store \ No newline at end of file diff --git a/htmlbook-xsl/xspec/bin/xspec.sh b/htmlbook-xsl/xspec/bin/xspec.sh index 37f7cf5c..541f3d52 100755 --- a/htmlbook-xsl/xspec/bin/xspec.sh +++ b/htmlbook-xsl/xspec/bin/xspec.sh @@ -20,7 +20,7 @@ ## and used instead. You just have to ensure it is visible from here ## (aka "ensure it is in the $PATH"). Even without packaging support, ## this script is a useful way to launch Saxon from the shell. -## +## ## TODO: With the Packaging System, there should be no need to set the ## XSPEC_HOME, as we could use absolute public URIs for the public ## components... @@ -34,23 +34,21 @@ usage() { if test -n "$1"; then echo "$1" - echo + echo; fi - echo "Usage: xspec [-t|-q|-s|-c|-j|-catalog file|-h] file" + echo "Usage: xspec [-t|-q|-c|-h] filename [coverage]" echo - echo " file the XSpec document" - echo " -t test an XSLT stylesheet (the default)" - echo " -q test an XQuery module (mutually exclusive with -t and -s)" - echo " -s test a Schematron schema (mutually exclusive with -t and -q)" - echo " -c output test coverage report (XSLT only)" - echo " -j output JUnit report" - echo " -catalog file use XML Catalog file to locate resources" - echo " -h display this help message" + echo " filename the XSpec document" + echo " -t test an XSLT stylesheet (the default)" + echo " -q test an XQuery module (mutually exclusive with -t)" + echo " -c output test coverage report" + echo " -h display this help message" + echo " coverage deprecated, use -c instead" } die() { echo - echo "*** $*" >&2 + echo "*** $@" >&2 exit 1 } @@ -59,40 +57,25 @@ die() { # script for Saxon [1]. If it is present, that means the user already # configured it, so there is no point to duplicate the logic here. # Just use it. +# [1]http://code.google.com/p/expath-pkg/source/browse/trunk/saxon/pkg-saxon/src/shell/saxon -if command -v saxon > /dev/null 2>&1 && saxon --help | grep "EXPath Packaging" > /dev/null 2>&1; then +if which saxon > /dev/null 2>&1; then echo Saxon script found, use it. echo xslt() { - saxon \ - --java -Dxspec.coverage.ignore="${TEST_DIR}" \ - --java -Dxspec.coverage.xml="${COVERAGE_XML}" \ - --java -Dxspec.xspecfile="${XSPEC}" \ - --add-cp "${XSPEC_HOME}/java/" ${CATALOG:+"$CATALOG"} --xsl "$@" + saxon --add-cp "${XSPEC_HOME}/java/" --xsl "$@" } xquery() { - saxon \ - --java -Dxspec.coverage.ignore="${TEST_DIR}" \ - --java -Dxspec.coverage.xml="${COVERAGE_XML}" \ - --java -Dxspec.xspecfile="${XSPEC}" \ - --add-cp "${XSPEC_HOME}/java/" ${CATALOG:+"$CATALOG"} --xq "$@" + saxon --add-cp "${XSPEC_HOME}/java/" --xq "$@" } else echo Saxon script not found, invoking JVM directly instead. echo xslt() { - java \ - -Dxspec.coverage.ignore="${TEST_DIR}" \ - -Dxspec.coverage.xml="${COVERAGE_XML}" \ - -Dxspec.xspecfile="${XSPEC}" \ - -cp "$CP" net.sf.saxon.Transform ${CATALOG:+"$CATALOG"} "$@" + java -cp "$CP" net.sf.saxon.Transform "$@" } xquery() { - java \ - -Dxspec.coverage.ignore="${TEST_DIR}" \ - -Dxspec.coverage.xml="${COVERAGE_XML}" \ - -Dxspec.xspecfile="${XSPEC}" \ - -cp "$CP" net.sf.saxon.Query ${CATALOG:+"$CATALOG"} "$@" + java -cp "$CP" net.sf.saxon.Query "$@" } fi @@ -101,14 +84,14 @@ fi ## # the command to use to open the final HTML report -#if [ $(uname) = "Darwin" ]; then -# OPEN=open -#else -# OPEN=see -#fi +if [ `uname` = "Darwin" ]; then + OPEN=open +else + OPEN=see +fi # the classpath delimiter (aka ':', except ';' on Cygwin) -if uname | grep -i cygwin > /dev/null 2>&1; then +if uname | grep -i cygwin >/dev/null 2>&1; then CP_DELIM=";" else CP_DELIM=":" @@ -117,45 +100,45 @@ fi # set XSPEC_HOME if it has not been set by the user (set it to the # parent dir of this script) if test -z "$XSPEC_HOME"; then - XSPEC_HOME=$(dirname "$0") - XSPEC_HOME=$(dirname "$XSPEC_HOME") + XSPEC_HOME=`dirname $0`; + XSPEC_HOME=`dirname $XSPEC_HOME`; fi # safety checks if test \! -d "${XSPEC_HOME}"; then echo "ERROR: XSPEC_HOME is not a directory: ${XSPEC_HOME}" - exit 1 + exit 1; fi if test \! -f "${XSPEC_HOME}/src/compiler/generate-common-tests.xsl"; then echo "ERROR: XSPEC_HOME seems to be corrupted: ${XSPEC_HOME}" - exit 1 + exit 1; fi # set SAXON_CP (either it has been by the user, or set it from SAXON_HOME) -unset USE_SAXON_HOME - if test -z "$SAXON_CP"; then + # Set this variable in your environment or here, if you don't set SAXON_CP + # SAXON_HOME=/path/to/saxon/dir if test -z "$SAXON_HOME"; then - echo "SAXON_CP and SAXON_HOME both not set!" - # die "SAXON_CP and SAXON_HOME both not set!" - else - USE_SAXON_HOME=1 - for f in \ - "${SAXON_HOME}"/saxon9?e.jar \ - "${SAXON_HOME}"/saxon-?e-??.?*.jar; do - [ -f "${f}" ] && SAXON_CP="${f}" - done + echo "SAXON_CP and SAXON_HOME both not set!" +# die "SAXON_CP and SAXON_HOME both not set!" fi -fi - -if [ -n "${USE_SAXON_HOME}" ]; then - if [ -z "${SAXON_CP}" ]; then - echo "Saxon jar cannot be found in SAXON_HOME: $SAXON_HOME" - # die "Saxon jar cannot be found in SAXON_HOME: $SAXON_HOME" + if test -f "${SAXON_HOME}/saxon9ee.jar"; then + SAXON_CP="${SAXON_HOME}/saxon9ee.jar"; + elif test -f "${SAXON_HOME}/saxon9pe.jar"; then + SAXON_CP="${SAXON_HOME}/saxon9pe.jar"; + elif test -f "${SAXON_HOME}/saxon9he.jar"; then + SAXON_CP="${SAXON_HOME}/saxon9he.jar"; + elif test -f "${SAXON_HOME}/saxon9sa.jar"; then + SAXON_CP="${SAXON_HOME}/saxon9sa.jar"; + elif test -f "${SAXON_HOME}/saxon9.jar"; then + SAXON_CP="${SAXON_HOME}/saxon9.jar"; + elif test -f "${SAXON_HOME}/saxon8sa.jar"; then + SAXON_CP="${SAXON_HOME}/saxon8sa.jar"; + elif test -f "${SAXON_HOME}/saxon8.jar"; then + SAXON_CP="${SAXON_HOME}/saxon8.jar"; else - if test -f "${SAXON_HOME}/xml-resolver-1.2.jar"; then - SAXON_CP="${SAXON_CP}${CP_DELIM}${SAXON_HOME}/xml-resolver-1.2.jar" - fi + echo "Saxon jar cannot be found in SAXON_HOME: $SAXON_HOME" +# die "Saxon jar cannot be found in SAXON_HOME: $SAXON_HOME" fi fi @@ -165,7 +148,7 @@ CP="${SAXON_CP}${CP_DELIM}${XSPEC_HOME}/java/" ## options ################################################################### ## -while echo "$1" | grep -- ^- > /dev/null 2>&1; do +while echo "$1" | grep -- ^- >/dev/null 2>&1; do case "$1" in # XSLT -t) @@ -173,79 +156,32 @@ while echo "$1" | grep -- ^- > /dev/null 2>&1; do usage "-t and -q are mutually exclusive" exit 1 fi - if test -n "$SCHEMATRON"; then - usage "-s and -t are mutually exclusive" - exit 1 - fi - XSLT=1 - ;; + XSLT=1;; # XQuery -q) if test -n "$XSLT"; then usage "-t and -q are mutually exclusive" exit 1 fi - if test -n "$SCHEMATRON"; then - usage "-s and -q are mutually exclusive" - exit 1 - fi - XQUERY=1 - ;; - # Schematron - -s) - if test -n "$XQUERY"; then - usage "-s and -q are mutually exclusive" - exit 1 - fi - if test -n "$XSLT"; then - usage "-s and -t are mutually exclusive" - exit 1 - fi - SCHEMATRON=1 - ;; + XQUERY=1;; # Coverage -c) - COVERAGE=1 - ;; - # JUnit report - -j) - JUNIT=1 - ;; - # Catalog - -catalog) - shift - XML_CATALOG="$1" - ;; + COVERAGE=1;; # Help! -h) usage - exit 0 - ;; + exit 0;; # Unknown option! -*) usage "Error: Unknown option: $1" - exit 1 - ;; + exit 1;; esac - shift + shift; done -# Coverage is only for XSLT -if [ -n "${COVERAGE}" ] && [ -n "${XQUERY}${SCHEMATRON}" ]; then - usage "Coverage is supported only for XSLT" - exit 1 -fi - -# set CATALOG option for Saxon if XML_CATALOG has been set -if test -n "$XML_CATALOG"; then - CATALOG="-catalog:$XML_CATALOG" -else - CATALOG= -fi - # set XSLT if XQuery has not been set (that's the default) if test -z "$XQUERY"; then - XSLT=1 + XSLT=1; fi XSPEC=$1 @@ -255,82 +191,46 @@ if [ ! -f "$XSPEC" ]; then fi if [ -n "$2" ]; then - usage "Error: Extra option: $2" - exit 1 + if [ "$2" != coverage ]; then + usage "Error: Extra option: $2" + exit 1 + fi + echo "Long-form option 'coverage' deprecated, use '-c' instead." + COVERAGE=1 + if [ -n "$3" ]; then + usage "Error: Extra option: $3" + exit 1 + fi fi ## ## files and dirs ############################################################ ## -# TEST_DIR (may be relative, may not exist) -if [ -z "$TEST_DIR" ]; then - TEST_DIR=$(dirname "$XSPEC")/xspec -fi - -TARGET_FILE_NAME=$(basename "$XSPEC" | sed 's:\.[^.]*$::') +TEST_DIR=$(dirname "$XSPEC")/xspec +TARGET_FILE_NAME=$(basename "$XSPEC" | sed 's:\...*$::') -COMPILED="${TEST_DIR}/${TARGET_FILE_NAME}-compiled" if test -n "$XSLT"; then - COMPILED="${COMPILED}.xsl" + COMPILED=$TEST_DIR/$TARGET_FILE_NAME.xsl else - COMPILED="${COMPILED}.xq" + COMPILED=$TEST_DIR/$TARGET_FILE_NAME.xq fi COVERAGE_XML=$TEST_DIR/$TARGET_FILE_NAME-coverage.xml -if [ -z "${COVERAGE_HTML}" ]; then - COVERAGE_HTML="${TEST_DIR}/${TARGET_FILE_NAME}-coverage.html" -fi +COVERAGE_HTML=$TEST_DIR/$TARGET_FILE_NAME-coverage.html RESULT=$TEST_DIR/$TARGET_FILE_NAME-result.xml HTML=$TEST_DIR/$TARGET_FILE_NAME-result.html -JUNIT_RESULT=$TEST_DIR/$TARGET_FILE_NAME-junit.xml COVERAGE_CLASS=com.jenitennison.xslt.tests.XSLTCoverageTraceListener if [ ! -d "$TEST_DIR" ]; then echo "Creating XSpec Directory at $TEST_DIR..." mkdir "$TEST_DIR" echo -fi +fi ## ## compile the suite ######################################################### ## -if test -n "$SCHEMATRON"; then - SCH_PREPROCESSED_XSPEC="${TEST_DIR}/${TARGET_FILE_NAME}-sch-preprocessed.xspec" - SCH_PREPROCESSED_XSL="${TEST_DIR}/${TARGET_FILE_NAME}-sch-preprocessed.xsl" - - SCHUT_TO_XSLT_PARAMS=() - if [ -n "${SCHEMATRON_XSLT_INCLUDE}" ]; then - SCHUT_TO_XSLT_PARAMS+=("+STEP1-PREPROCESSOR-DOC=${SCHEMATRON_XSLT_INCLUDE}") - fi - if [ -n "${SCHEMATRON_XSLT_EXPAND}" ]; then - SCHUT_TO_XSLT_PARAMS+=("+STEP2-PREPROCESSOR-DOC=${SCHEMATRON_XSLT_EXPAND}") - fi - if [ -n "${SCHEMATRON_XSLT_COMPILE}" ]; then - SCHUT_TO_XSLT_PARAMS+=("+STEP3-PREPROCESSOR-DOC=${SCHEMATRON_XSLT_COMPILE}") - fi - - echo - echo "Converting Schematron into XSLT..." - xslt \ - -o:"${SCH_PREPROCESSED_XSL}" \ - -s:"${XSPEC}" \ - -xsl:"${XSPEC_HOME}/src/schematron/schut-to-xslt.xsl" \ - "${SCHUT_TO_XSLT_PARAMS[@]}" \ - || die "Error converting Schematron into XSLT" - - echo - echo "Converting Schematron XSpec into XSLT XSpec..." - xslt -o:"${SCH_PREPROCESSED_XSPEC}" \ - -s:"${XSPEC}" \ - -xsl:"${XSPEC_HOME}/src/schematron/schut-to-xspec.xsl" \ - +stylesheet-doc="${SCH_PREPROCESSED_XSL}" \ - || die "Error converting Schematron XSpec into XSLT XSpec" - XSPEC="${SCH_PREPROCESSED_XSPEC}" - - echo -fi - if test -n "$XSLT"; then COMPILE_SHEET=generate-xspec-tests.xsl else @@ -346,40 +246,29 @@ echo ## run the suite ############################################################# ## -# Init otherwise SC2154 -saxon_custom_options_array=() - -# Split options taking quotes into account (like command arguments) -# https://superuser.com/q/1066455 -declare -a "saxon_custom_options_array=(${SAXON_CUSTOM_OPTIONS})" - echo "Running Tests..." if test -n "$XSLT"; then # for XSLT if test -n "$COVERAGE"; then - echo "Collecting test coverage data..." - xslt "${saxon_custom_options_array[@]}" \ - -T:$COVERAGE_CLASS \ - -o:"$RESULT" -xsl:"$COMPILED" \ - -it:"{http://www.jenitennison.com/xslt/xspec}main" \ + echo "Collecting test coverage data; suppressing progress report..." + xslt -T:$COVERAGE_CLASS \ + -o:"$RESULT" -s:"$XSPEC" -xsl:"$COMPILED" \ + -it:{http://www.jenitennison.com/xslt/xspec}main 2> "$COVERAGE_XML" \ || die "Error collecting test coverage data" else - xslt "${saxon_custom_options_array[@]}" \ - -o:"$RESULT" -xsl:"$COMPILED" \ - -it:"{http://www.jenitennison.com/xslt/xspec}main" \ + xslt -o:"$RESULT" -s:"$XSPEC" -xsl:"$COMPILED" \ + -it:{http://www.jenitennison.com/xslt/xspec}main \ || die "Error running the test suite" fi else # for XQuery if test -n "$COVERAGE"; then - echo "Collecting test coverage data..." - xquery "${saxon_custom_options_array[@]}" \ - -T:$COVERAGE_CLASS \ - -o:"$RESULT" -q:"$COMPILED" \ + echo "Collecting test coverage data; suppressing progress report..." + xquery -T:$COVERAGE_CLASS \ + -o:"$RESULT" -s:"$XSPEC" "$COMPILED" 2> "$COVERAGE_XML" \ || die "Error collecting test coverage data" else - xquery "${saxon_custom_options_array[@]}" \ - -o:"$RESULT" -q:"$COMPILED" \ + xquery -o:"$RESULT" -s:"$XSPEC" "$COMPILED" \ || die "Error running the test suite" fi fi @@ -388,53 +277,25 @@ fi ## format the report ######################################################### ## -if [ -z "${HTML_REPORTER_XSL}" ]; then - HTML_REPORTER_XSL="${XSPEC_HOME}/src/reporter/format-xspec-report.xsl" -fi -if [ -z "${COVERAGE_REPORTER_XSL}" ]; then - COVERAGE_REPORTER_XSL="$XSPEC_HOME/src/reporter/coverage-report.xsl" -fi - echo echo "Formatting Report..." xslt -o:"$HTML" \ -s:"$RESULT" \ - -xsl:"${HTML_REPORTER_XSL}" \ - inline-css=true \ - || die "Error formatting the report" + -xsl:"$XSPEC_HOME/src/reporter/format-xspec-report.xsl" \ + || die "Error formating the report" if test -n "$COVERAGE"; then - echo - echo "Formatting Coverage Report..." - xslt -config:"${XSPEC_HOME}/src/reporter/coverage-report-config.xml" \ + xslt -l:on \ -o:"$COVERAGE_HTML" \ -s:"$COVERAGE_XML" \ - -xsl:"${COVERAGE_REPORTER_XSL}" \ - inline-css=true \ - || die "Error formatting the coverage report" + -xsl:"$XSPEC_HOME/src/reporter/coverage-report.xsl" \ + "tests=$XSPEC" \ + "pwd=file:`pwd`/" \ + || die "Error formating the coverage report" echo "Report available at $COVERAGE_HTML" #$OPEN "$COVERAGE_HTML" -elif test -n "$JUNIT"; then - echo - echo "Generating JUnit Report..." - xslt -o:"$JUNIT_RESULT" \ - -s:"$RESULT" \ - -xsl:"$XSPEC_HOME/src/reporter/junit-report.xsl" \ - || die "Error formatting the JUnit report" - echo "Report available at $JUNIT_RESULT" else echo "Report available at $HTML" #$OPEN "$HTML" fi -## -## cleanup -## -if test -n "$SCHEMATRON"; then - rm -f "$SCH_PREPROCESSED_XSPEC" - rm -f "$TEST_DIR/$TARGET_FILE_NAME-var.txt" - rm -f "$TEST_DIR/$TARGET_FILE_NAME-step1.sch" - rm -f "$TEST_DIR/$TARGET_FILE_NAME-step2.sch" - rm -f "$SCH_PREPROCESSED_XSL" -fi - -echo "Done." \ No newline at end of file +echo "Done." diff --git a/htmlbook-xsl/xspec/chunk.xspec b/htmlbook-xsl/xspec/chunk.xspec index ce1a518a..2fa57527 100755 --- a/htmlbook-xsl/xspec/chunk.xspec +++ b/htmlbook-xsl/xspec/chunk.xspec @@ -47,9 +47,7 @@ toc:lower-roman - + @@ -58,9 +56,7 @@ and the script from https://github.com/xspec/xspec."> - + @@ -72,9 +68,7 @@ and the script from https://github.com/xspec/xspec."> - +

Here comes a cross-reference: see PLACEHOLDER

@@ -102,9 +96,7 @@ and the script from https://github.com/xspec/xspec."> - +

Here comes an XREF with an href pointing to another file:

@@ -191,9 +183,7 @@ and the script from https://github.com/xspec/xspec."> - +
DO NOT TOUCH ME @@ -270,9 +260,7 @@ and the script from https://github.com/xspec/xspec."> - +

Here comes a cross-reference: see

@@ -294,9 +282,7 @@ and the script from https://github.com/xspec/xspec."> - +

Here comes a cross-reference: see

@@ -318,9 +304,7 @@ and the script from https://github.com/xspec/xspec."> - +

Here comes a cross-reference: see

@@ -372,9 +356,7 @@ and the script from https://github.com/xspec/xspec.">
- + ... @@ -388,54 +370,42 @@ and the script from https://github.com/xspec/xspec."> - + ... - + ... - + ... - + ... - + - + @@ -629,23 +599,17 @@ and the script from https://github.com/xspec/xspec."> - + 1-2 - + Chapter 1, AWESOME CHAPTER - + sect1 @@ -686,9 +650,7 @@ and the script from https://github.com/xspec/xspec."> - + chapter sidebar @@ -697,9 +659,7 @@ sidebar - + chapter sidebar @@ -708,9 +668,7 @@ sidebar - + chapter sidebar @@ -719,18 +677,14 @@ sidebar - + - + diff --git a/htmlbook-xsl/xspec/common.xspec b/htmlbook-xsl/xspec/common.xspec index 13578a9f..d23b589d 100755 --- a/htmlbook-xsl/xspec/common.xspec +++ b/htmlbook-xsl/xspec/common.xspec @@ -357,7 +357,6 @@ sect5:none -
@@ -580,7 +579,7 @@ sect5:none - + @@ -1314,9 +1313,7 @@ sect5:none - +
@@ -1340,9 +1337,7 @@ and the script from https://github.com/xspec/xspec."> - +
@@ -1374,9 +1369,7 @@ and the script from https://github.com/xspec/xspec."> - + @@ -1424,9 +1417,7 @@ and the script from https://github.com/xspec/xspec."> - + @@ -1514,7 +1505,7 @@ and the script from https://github.com/xspec/xspec."> - + refentry @@ -1565,7 +1556,7 @@ and the script from https://github.com/xspec/xspec."> - + chapter sidebar @@ -1645,7 +1636,7 @@ sect1 underline - + @@ -1913,4 +1904,4 @@ sect1 4 - \ No newline at end of file + diff --git a/htmlbook-xsl/xspec/elements.xspec b/htmlbook-xsl/xspec/elements.xspec index b4d7c872..f3a50b68 100755 --- a/htmlbook-xsl/xspec/elements.xspec +++ b/htmlbook-xsl/xspec/elements.xspec @@ -153,9 +153,7 @@ sect5:1 - +

This is the Chapter title

@@ -166,9 +164,7 @@ and the script from https://github.com/xspec/xspec."> - +
@@ -191,9 +187,7 @@ and the script from https://github.com/xspec/xspec."> - +

This is the Section title

@@ -204,9 +198,7 @@ and the script from https://github.com/xspec/xspec."> - +
@@ -229,9 +221,7 @@ and the script from https://github.com/xspec/xspec."> - +

This is the Section title

@@ -242,9 +232,7 @@ and the script from https://github.com/xspec/xspec."> - +
@@ -267,9 +255,7 @@ and the script from https://github.com/xspec/xspec."> - +

This is the Section title

@@ -280,9 +266,7 @@ and the script from https://github.com/xspec/xspec."> - +
@@ -305,9 +289,7 @@ and the script from https://github.com/xspec/xspec."> - +

This is the Section title

@@ -318,9 +300,7 @@ and the script from https://github.com/xspec/xspec."> - +
@@ -343,9 +323,7 @@ and the script from https://github.com/xspec/xspec."> - +
This is the Section title
@@ -356,9 +334,7 @@ and the script from https://github.com/xspec/xspec."> - +
@@ -383,9 +359,7 @@ and the script from https://github.com/xspec/xspec."> - +

This is the Part title

@@ -430,9 +404,7 @@ and the script from https://github.com/xspec/xspec.">
- + @@ -462,9 +434,7 @@ and the script from https://github.com/xspec/xspec."> - + @@ -510,9 +480,7 @@ and the script from https://github.com/xspec/xspec.">
- + @@ -542,9 +510,7 @@ and the script from https://github.com/xspec/xspec.">
- + @@ -591,9 +557,7 @@ and the script from https://github.com/xspec/xspec.">
- + @@ -623,9 +587,7 @@ and the script from https://github.com/xspec/xspec.">
- + @@ -671,9 +633,7 @@ and the script from https://github.com/xspec/xspec.">
- + @@ -703,9 +663,7 @@ and the script from https://github.com/xspec/xspec.">
- + @@ -751,9 +709,7 @@ and the script from https://github.com/xspec/xspec.">
- + @@ -783,9 +739,7 @@ and the script from https://github.com/xspec/xspec.">
- + @@ -831,9 +785,7 @@ and the script from https://github.com/xspec/xspec.">
- + @@ -863,9 +815,7 @@ and the script from https://github.com/xspec/xspec.">
- + @@ -914,9 +864,7 @@ and the script from https://github.com/xspec/xspec.">
- + @@ -953,9 +901,7 @@ and the script from https://github.com/xspec/xspec.">
- + @@ -997,9 +943,7 @@ and the script from https://github.com/xspec/xspec."> - + @@ -1029,9 +973,7 @@ and the script from https://github.com/xspec/xspec."> - + @@ -1061,9 +1003,7 @@ and the script from https://github.com/xspec/xspec."> - + @@ -1093,9 +1033,7 @@ and the script from https://github.com/xspec/xspec."> - + @@ -1277,9 +1215,7 @@ and the script from https://github.com/xspec/xspec.">
- + @@ -1291,9 +1227,7 @@ and the script from https://github.com/xspec/xspec."> - + @@ -1515,9 +1449,7 @@ end - + @@ -1539,9 +1471,7 @@ and the script from https://github.com/xspec/xspec."> - +
import java.applet.*;
@@ -1569,9 +1499,7 @@ public class Scribble extends Applet {
     
   
     
-    
+    
       
         
         
def self.compile_file(filename, *args)
@@ -1607,9 +1535,7 @@ and the script from https://github.com/xspec/xspec.">
       
     
 
-    
+    
       
         
         
if css_filename
@@ -1666,18 +1592,18 @@ end
- - + + And this is the footnote - + - - + + 1And this is the footnote @@ -1686,244 +1612,244 @@ end
- - + + - - 1 - - - -
- - - -
-

First chapter

-

This chapter has a couple footnotes:

-

Here's the first footnoteFootnote #1 in Chapter #1

-

Here's the second footnoteFootnote #2 in Chapter #1

-
-
-

Second chapter

-

This chapter also has a couple footnotes:

-

Here's the first footnoteFootnote #1 in Chapter #2

-

Here's the second footnoteFootnote #2 in Chapter #2

-
-
-

Here's a part

-

This part has two footnotes

-

Here's the first footnoteFootnote #1 in Part

-

Here's the second footnoteFootnote #2 in Part

-
-

Third chapter

-

This chapter also has a couple footnotes:

-

Here's the first footnoteFootnote #1 in Chapter #2

-

Here's the second footnoteFootnote #2 in Chapter #2

-

Here's a footnoteref to the second footnote

-
-
-
-

The Appendix

-

The appendix also has a couple footnotes:

-

Here's the first footnoteFootnote #1 in the Appendix

-

Here's the second footnoteFootnote #2 in the Appendix

-
-
- - - - - - - - - Footnote #2 in Chapter #2 - - - - - - - - - - - Footnote #2 in Chapter #2 - - - - - - - - - - - 4Footnote #2 in Chapter #2 - - -
- - - - - - - - - 2Footnote #2 in Chapter #2 - - - - - - - - - - + + 1 + + + +
+ + + +
+

First chapter

+

This chapter has a couple footnotes:

+

Here's the first footnoteFootnote #1 in Chapter #1

+

Here's the second footnoteFootnote #2 in Chapter #1

+
+
+

Second chapter

+

This chapter also has a couple footnotes:

+

Here's the first footnoteFootnote #1 in Chapter #2

+

Here's the second footnoteFootnote #2 in Chapter #2

+
+
+

Here's a part

+

This part has two footnotes

+

Here's the first footnoteFootnote #1 in Part

+

Here's the second footnoteFootnote #2 in Part

+
+

Third chapter

+

This chapter also has a couple footnotes:

+

Here's the first footnoteFootnote #1 in Chapter #2

+

Here's the second footnoteFootnote #2 in Chapter #2

+

Here's a footnoteref to the second footnote

+
+
+
+

The Appendix

+

The appendix also has a couple footnotes:

+

Here's the first footnoteFootnote #1 in the Appendix

+

Here's the second footnoteFootnote #2 in the Appendix

+
+
+ + + + + + + + + Footnote #2 in Chapter #2 + + + + + + + + + + + Footnote #2 in Chapter #2 + + + + + + + + + + + 4Footnote #2 in Chapter #2 + + +
+ + + + + + + + + 2Footnote #2 in Chapter #2 + + + + + + + + + + - - 4 - - - - - - - - - - + + 4 + + + + + + + + + + - - 2 - - - - - - - - - - + + 2 + + + + + + + + + + -

- 4 Footnote #2 in Chapter #2

-
-
- - - - - - - +

+ 4 Footnote #2 in Chapter #2

+ +
+ + + + + + + -

- 2 Footnote #2 in Chapter #2

-
-
- - - - - - +

+ 2 Footnote #2 in Chapter #2

+ +
+ + + + + + - - 8 - - - - - - - - - + + 8 + + + + + + + + + - - 2 - - - - - - - - - 2 - - - - - - - 4 - - - - - - - 5 - - - - - - - 7 - - - - - - - 9 - - - - - - - 2 - - - - - - - 2 - - - - - - - 1 - - - - - - - 1 - - - - - - - 1 - - - - + + 2 + + + + + + + + + 2 + + + + + + + 4 + + + + + + + 5 + + + + + + + 7 + + + + + + + 9 + + + + + + + 2 + + + + + + + 2 + + + + + + + 1 + + + + + + + 1 + + + + + + + 1 + + + +

This is the textAnd this is the footnote

@@ -1931,7 +1857,7 @@ end

And now we've got a second paragraph that has a footnoteref here

- + @@ -1946,162 +1872,158 @@ end - - 2 + + 2
- - - - - - - - - - - - - - - - - - - - -
Four colors
VermillionReddishCeruleanBluish
ChartreuseGreenishFuschiaPurplish
TealEggplant
-
- - - - - ... - - - - - -
...
-

a Reddish

-

b Bluish

-

c Greenish

-

d Purplish

-
-
- - - - - - - - d - - - - - - - - - d - - - - - - - c - - -
- - - - - - - - - - - - - - - - - - -
Four colors
VermillionReddishCeruleanBluish
ChartreuseGreenishFuschiaPurplish
TealEggplant
-
- - - - - ... - ... - ... - - - -
...
-

a Reddish

-

b Bluish

-

c Greenish

-

d Purplish

-
-
-
- - - -
-

All about colors

-

The following tableMade with love lists some colors

- - - - - - - - - - - - -
Four colors
VermillionReddishCeruleanBluish
ChartreuseGreenishFuschiaPurplish
-

I hope you found this table accurateIf not, please send errata

-
-
- - - - - - - - - - - - - - - - - - -
- + + + + + + + + + + + + + + + + + + + + +
Four colors
VermillionReddishCeruleanBluish
ChartreuseGreenishFuschiaPurplish
TealEggplant
+
+ + + + + ... + + + + + +
...
+

a Reddish

+

b Bluish

+

c Greenish

+

d Purplish

+
+
+ + + + + + + + d + + + + + + + + + d + + + + + + + c + + +
+ + + + + + + + + + + + + + + + + + +
Four colors
VermillionReddishCeruleanBluish
ChartreuseGreenishFuschiaPurplish
TealEggplant
+
+ + + + + ... + ... + ... + + + +
...
+

a Reddish

+

b Bluish

+

c Greenish

+

d Purplish

+
+
+
+ + + +
+

All about colors

+

The following tableMade with love lists some colors

+ + + + + + + + + + + + +
Four colors
VermillionReddishCeruleanBluish
ChartreuseGreenishFuschiaPurplish
+

I hope you found this table accurateIf not, please send errata

+
+
+ + + + + + + + + + + + + + + + + + +
+ @@ -2203,7 +2125,7 @@ and the script from https://github.com/xspec/xspec.">
- + diff --git a/htmlbook-xsl/xspec/epub.xspec b/htmlbook-xsl/xspec/epub.xspec index ae01ae9f..ed08c02f 100755 --- a/htmlbook-xsl/xspec/epub.xspec +++ b/htmlbook-xsl/xspec/epub.xspec @@ -14,9 +14,7 @@ - +
- + @@ -1290,9 +1244,7 @@ and the script from https://github.com/xspec/xspec."> - + chapter sidebar @@ -1301,9 +1253,7 @@ sidebar - + chapter sidebar @@ -1312,9 +1262,7 @@ sidebar - + chapter sidebar @@ -1323,18 +1271,14 @@ sidebar - + - + @@ -1415,30 +1359,22 @@ and the script from https://github.com/xspec/xspec."> 1-2 - + Chapter 1, AWESOME CHAPTER - + Appendix A, Appendix Title - + Part I, I'm Part of the Solution! - + sect1 From 4bfddf0bb0edb088b760659104f6b360b831d373 Mon Sep 17 00:00:00 2001 From: Nick Adams Date: Wed, 30 Sep 2020 10:42:22 -0400 Subject: [PATCH 4/6] putting back all the changes except for the change to chunk.xsl --- htmlbook-xsl/xspec/bin/xspec.sh | 315 ++++-- htmlbook-xsl/xspec/chunk.xspec | 92 +- htmlbook-xsl/xspec/common.xspec | 27 +- htmlbook-xsl/xspec/elements.xspec | 922 ++++++++++-------- htmlbook-xsl/xspec/epub.xspec | 4 +- htmlbook-xsl/xspec/indexgen.xspec | 16 +- htmlbook-xsl/xspec/java/.DS_Store | Bin 6148 -> 0 bytes htmlbook-xsl/xspec/java/com/.DS_Store | Bin 6148 -> 0 bytes .../xspec/java/com/jenitennison/.DS_Store | Bin 6148 -> 0 bytes .../java/com/jenitennison/xslt/.DS_Store | Bin 6148 -> 0 bytes htmlbook-xsl/xspec/ncx.xspec | 16 +- htmlbook-xsl/xspec/opf.xspec | 56 +- htmlbook-xsl/xspec/saxon9he.jar | Bin 5480684 -> 10265724 bytes htmlbook-xsl/xspec/tocgen.xspec | 52 +- htmlbook-xsl/xspec/xrefgen.xspec | 128 ++- 15 files changed, 1018 insertions(+), 610 deletions(-) delete mode 100644 htmlbook-xsl/xspec/java/.DS_Store delete mode 100644 htmlbook-xsl/xspec/java/com/.DS_Store delete mode 100644 htmlbook-xsl/xspec/java/com/jenitennison/.DS_Store delete mode 100644 htmlbook-xsl/xspec/java/com/jenitennison/xslt/.DS_Store diff --git a/htmlbook-xsl/xspec/bin/xspec.sh b/htmlbook-xsl/xspec/bin/xspec.sh index 541f3d52..37f7cf5c 100755 --- a/htmlbook-xsl/xspec/bin/xspec.sh +++ b/htmlbook-xsl/xspec/bin/xspec.sh @@ -20,7 +20,7 @@ ## and used instead. You just have to ensure it is visible from here ## (aka "ensure it is in the $PATH"). Even without packaging support, ## this script is a useful way to launch Saxon from the shell. -## +## ## TODO: With the Packaging System, there should be no need to set the ## XSPEC_HOME, as we could use absolute public URIs for the public ## components... @@ -34,21 +34,23 @@ usage() { if test -n "$1"; then echo "$1" - echo; + echo fi - echo "Usage: xspec [-t|-q|-c|-h] filename [coverage]" + echo "Usage: xspec [-t|-q|-s|-c|-j|-catalog file|-h] file" echo - echo " filename the XSpec document" - echo " -t test an XSLT stylesheet (the default)" - echo " -q test an XQuery module (mutually exclusive with -t)" - echo " -c output test coverage report" - echo " -h display this help message" - echo " coverage deprecated, use -c instead" + echo " file the XSpec document" + echo " -t test an XSLT stylesheet (the default)" + echo " -q test an XQuery module (mutually exclusive with -t and -s)" + echo " -s test a Schematron schema (mutually exclusive with -t and -q)" + echo " -c output test coverage report (XSLT only)" + echo " -j output JUnit report" + echo " -catalog file use XML Catalog file to locate resources" + echo " -h display this help message" } die() { echo - echo "*** $@" >&2 + echo "*** $*" >&2 exit 1 } @@ -57,25 +59,40 @@ die() { # script for Saxon [1]. If it is present, that means the user already # configured it, so there is no point to duplicate the logic here. # Just use it. -# [1]http://code.google.com/p/expath-pkg/source/browse/trunk/saxon/pkg-saxon/src/shell/saxon -if which saxon > /dev/null 2>&1; then +if command -v saxon > /dev/null 2>&1 && saxon --help | grep "EXPath Packaging" > /dev/null 2>&1; then echo Saxon script found, use it. echo xslt() { - saxon --add-cp "${XSPEC_HOME}/java/" --xsl "$@" + saxon \ + --java -Dxspec.coverage.ignore="${TEST_DIR}" \ + --java -Dxspec.coverage.xml="${COVERAGE_XML}" \ + --java -Dxspec.xspecfile="${XSPEC}" \ + --add-cp "${XSPEC_HOME}/java/" ${CATALOG:+"$CATALOG"} --xsl "$@" } xquery() { - saxon --add-cp "${XSPEC_HOME}/java/" --xq "$@" + saxon \ + --java -Dxspec.coverage.ignore="${TEST_DIR}" \ + --java -Dxspec.coverage.xml="${COVERAGE_XML}" \ + --java -Dxspec.xspecfile="${XSPEC}" \ + --add-cp "${XSPEC_HOME}/java/" ${CATALOG:+"$CATALOG"} --xq "$@" } else echo Saxon script not found, invoking JVM directly instead. echo xslt() { - java -cp "$CP" net.sf.saxon.Transform "$@" + java \ + -Dxspec.coverage.ignore="${TEST_DIR}" \ + -Dxspec.coverage.xml="${COVERAGE_XML}" \ + -Dxspec.xspecfile="${XSPEC}" \ + -cp "$CP" net.sf.saxon.Transform ${CATALOG:+"$CATALOG"} "$@" } xquery() { - java -cp "$CP" net.sf.saxon.Query "$@" + java \ + -Dxspec.coverage.ignore="${TEST_DIR}" \ + -Dxspec.coverage.xml="${COVERAGE_XML}" \ + -Dxspec.xspecfile="${XSPEC}" \ + -cp "$CP" net.sf.saxon.Query ${CATALOG:+"$CATALOG"} "$@" } fi @@ -84,14 +101,14 @@ fi ## # the command to use to open the final HTML report -if [ `uname` = "Darwin" ]; then - OPEN=open -else - OPEN=see -fi +#if [ $(uname) = "Darwin" ]; then +# OPEN=open +#else +# OPEN=see +#fi # the classpath delimiter (aka ':', except ';' on Cygwin) -if uname | grep -i cygwin >/dev/null 2>&1; then +if uname | grep -i cygwin > /dev/null 2>&1; then CP_DELIM=";" else CP_DELIM=":" @@ -100,45 +117,45 @@ fi # set XSPEC_HOME if it has not been set by the user (set it to the # parent dir of this script) if test -z "$XSPEC_HOME"; then - XSPEC_HOME=`dirname $0`; - XSPEC_HOME=`dirname $XSPEC_HOME`; + XSPEC_HOME=$(dirname "$0") + XSPEC_HOME=$(dirname "$XSPEC_HOME") fi # safety checks if test \! -d "${XSPEC_HOME}"; then echo "ERROR: XSPEC_HOME is not a directory: ${XSPEC_HOME}" - exit 1; + exit 1 fi if test \! -f "${XSPEC_HOME}/src/compiler/generate-common-tests.xsl"; then echo "ERROR: XSPEC_HOME seems to be corrupted: ${XSPEC_HOME}" - exit 1; + exit 1 fi # set SAXON_CP (either it has been by the user, or set it from SAXON_HOME) +unset USE_SAXON_HOME + if test -z "$SAXON_CP"; then - # Set this variable in your environment or here, if you don't set SAXON_CP - # SAXON_HOME=/path/to/saxon/dir if test -z "$SAXON_HOME"; then - echo "SAXON_CP and SAXON_HOME both not set!" -# die "SAXON_CP and SAXON_HOME both not set!" + echo "SAXON_CP and SAXON_HOME both not set!" + # die "SAXON_CP and SAXON_HOME both not set!" + else + USE_SAXON_HOME=1 + for f in \ + "${SAXON_HOME}"/saxon9?e.jar \ + "${SAXON_HOME}"/saxon-?e-??.?*.jar; do + [ -f "${f}" ] && SAXON_CP="${f}" + done fi - if test -f "${SAXON_HOME}/saxon9ee.jar"; then - SAXON_CP="${SAXON_HOME}/saxon9ee.jar"; - elif test -f "${SAXON_HOME}/saxon9pe.jar"; then - SAXON_CP="${SAXON_HOME}/saxon9pe.jar"; - elif test -f "${SAXON_HOME}/saxon9he.jar"; then - SAXON_CP="${SAXON_HOME}/saxon9he.jar"; - elif test -f "${SAXON_HOME}/saxon9sa.jar"; then - SAXON_CP="${SAXON_HOME}/saxon9sa.jar"; - elif test -f "${SAXON_HOME}/saxon9.jar"; then - SAXON_CP="${SAXON_HOME}/saxon9.jar"; - elif test -f "${SAXON_HOME}/saxon8sa.jar"; then - SAXON_CP="${SAXON_HOME}/saxon8sa.jar"; - elif test -f "${SAXON_HOME}/saxon8.jar"; then - SAXON_CP="${SAXON_HOME}/saxon8.jar"; +fi + +if [ -n "${USE_SAXON_HOME}" ]; then + if [ -z "${SAXON_CP}" ]; then + echo "Saxon jar cannot be found in SAXON_HOME: $SAXON_HOME" + # die "Saxon jar cannot be found in SAXON_HOME: $SAXON_HOME" else - echo "Saxon jar cannot be found in SAXON_HOME: $SAXON_HOME" -# die "Saxon jar cannot be found in SAXON_HOME: $SAXON_HOME" + if test -f "${SAXON_HOME}/xml-resolver-1.2.jar"; then + SAXON_CP="${SAXON_CP}${CP_DELIM}${SAXON_HOME}/xml-resolver-1.2.jar" + fi fi fi @@ -148,7 +165,7 @@ CP="${SAXON_CP}${CP_DELIM}${XSPEC_HOME}/java/" ## options ################################################################### ## -while echo "$1" | grep -- ^- >/dev/null 2>&1; do +while echo "$1" | grep -- ^- > /dev/null 2>&1; do case "$1" in # XSLT -t) @@ -156,32 +173,79 @@ while echo "$1" | grep -- ^- >/dev/null 2>&1; do usage "-t and -q are mutually exclusive" exit 1 fi - XSLT=1;; + if test -n "$SCHEMATRON"; then + usage "-s and -t are mutually exclusive" + exit 1 + fi + XSLT=1 + ;; # XQuery -q) if test -n "$XSLT"; then usage "-t and -q are mutually exclusive" exit 1 fi - XQUERY=1;; + if test -n "$SCHEMATRON"; then + usage "-s and -q are mutually exclusive" + exit 1 + fi + XQUERY=1 + ;; + # Schematron + -s) + if test -n "$XQUERY"; then + usage "-s and -q are mutually exclusive" + exit 1 + fi + if test -n "$XSLT"; then + usage "-s and -t are mutually exclusive" + exit 1 + fi + SCHEMATRON=1 + ;; # Coverage -c) - COVERAGE=1;; + COVERAGE=1 + ;; + # JUnit report + -j) + JUNIT=1 + ;; + # Catalog + -catalog) + shift + XML_CATALOG="$1" + ;; # Help! -h) usage - exit 0;; + exit 0 + ;; # Unknown option! -*) usage "Error: Unknown option: $1" - exit 1;; + exit 1 + ;; esac - shift; + shift done +# Coverage is only for XSLT +if [ -n "${COVERAGE}" ] && [ -n "${XQUERY}${SCHEMATRON}" ]; then + usage "Coverage is supported only for XSLT" + exit 1 +fi + +# set CATALOG option for Saxon if XML_CATALOG has been set +if test -n "$XML_CATALOG"; then + CATALOG="-catalog:$XML_CATALOG" +else + CATALOG= +fi + # set XSLT if XQuery has not been set (that's the default) if test -z "$XQUERY"; then - XSLT=1; + XSLT=1 fi XSPEC=$1 @@ -191,46 +255,82 @@ if [ ! -f "$XSPEC" ]; then fi if [ -n "$2" ]; then - if [ "$2" != coverage ]; then - usage "Error: Extra option: $2" - exit 1 - fi - echo "Long-form option 'coverage' deprecated, use '-c' instead." - COVERAGE=1 - if [ -n "$3" ]; then - usage "Error: Extra option: $3" - exit 1 - fi + usage "Error: Extra option: $2" + exit 1 fi ## ## files and dirs ############################################################ ## -TEST_DIR=$(dirname "$XSPEC")/xspec -TARGET_FILE_NAME=$(basename "$XSPEC" | sed 's:\...*$::') +# TEST_DIR (may be relative, may not exist) +if [ -z "$TEST_DIR" ]; then + TEST_DIR=$(dirname "$XSPEC")/xspec +fi + +TARGET_FILE_NAME=$(basename "$XSPEC" | sed 's:\.[^.]*$::') +COMPILED="${TEST_DIR}/${TARGET_FILE_NAME}-compiled" if test -n "$XSLT"; then - COMPILED=$TEST_DIR/$TARGET_FILE_NAME.xsl + COMPILED="${COMPILED}.xsl" else - COMPILED=$TEST_DIR/$TARGET_FILE_NAME.xq + COMPILED="${COMPILED}.xq" fi COVERAGE_XML=$TEST_DIR/$TARGET_FILE_NAME-coverage.xml -COVERAGE_HTML=$TEST_DIR/$TARGET_FILE_NAME-coverage.html +if [ -z "${COVERAGE_HTML}" ]; then + COVERAGE_HTML="${TEST_DIR}/${TARGET_FILE_NAME}-coverage.html" +fi RESULT=$TEST_DIR/$TARGET_FILE_NAME-result.xml HTML=$TEST_DIR/$TARGET_FILE_NAME-result.html +JUNIT_RESULT=$TEST_DIR/$TARGET_FILE_NAME-junit.xml COVERAGE_CLASS=com.jenitennison.xslt.tests.XSLTCoverageTraceListener if [ ! -d "$TEST_DIR" ]; then echo "Creating XSpec Directory at $TEST_DIR..." mkdir "$TEST_DIR" echo -fi +fi ## ## compile the suite ######################################################### ## +if test -n "$SCHEMATRON"; then + SCH_PREPROCESSED_XSPEC="${TEST_DIR}/${TARGET_FILE_NAME}-sch-preprocessed.xspec" + SCH_PREPROCESSED_XSL="${TEST_DIR}/${TARGET_FILE_NAME}-sch-preprocessed.xsl" + + SCHUT_TO_XSLT_PARAMS=() + if [ -n "${SCHEMATRON_XSLT_INCLUDE}" ]; then + SCHUT_TO_XSLT_PARAMS+=("+STEP1-PREPROCESSOR-DOC=${SCHEMATRON_XSLT_INCLUDE}") + fi + if [ -n "${SCHEMATRON_XSLT_EXPAND}" ]; then + SCHUT_TO_XSLT_PARAMS+=("+STEP2-PREPROCESSOR-DOC=${SCHEMATRON_XSLT_EXPAND}") + fi + if [ -n "${SCHEMATRON_XSLT_COMPILE}" ]; then + SCHUT_TO_XSLT_PARAMS+=("+STEP3-PREPROCESSOR-DOC=${SCHEMATRON_XSLT_COMPILE}") + fi + + echo + echo "Converting Schematron into XSLT..." + xslt \ + -o:"${SCH_PREPROCESSED_XSL}" \ + -s:"${XSPEC}" \ + -xsl:"${XSPEC_HOME}/src/schematron/schut-to-xslt.xsl" \ + "${SCHUT_TO_XSLT_PARAMS[@]}" \ + || die "Error converting Schematron into XSLT" + + echo + echo "Converting Schematron XSpec into XSLT XSpec..." + xslt -o:"${SCH_PREPROCESSED_XSPEC}" \ + -s:"${XSPEC}" \ + -xsl:"${XSPEC_HOME}/src/schematron/schut-to-xspec.xsl" \ + +stylesheet-doc="${SCH_PREPROCESSED_XSL}" \ + || die "Error converting Schematron XSpec into XSLT XSpec" + XSPEC="${SCH_PREPROCESSED_XSPEC}" + + echo +fi + if test -n "$XSLT"; then COMPILE_SHEET=generate-xspec-tests.xsl else @@ -246,29 +346,40 @@ echo ## run the suite ############################################################# ## +# Init otherwise SC2154 +saxon_custom_options_array=() + +# Split options taking quotes into account (like command arguments) +# https://superuser.com/q/1066455 +declare -a "saxon_custom_options_array=(${SAXON_CUSTOM_OPTIONS})" + echo "Running Tests..." if test -n "$XSLT"; then # for XSLT if test -n "$COVERAGE"; then - echo "Collecting test coverage data; suppressing progress report..." - xslt -T:$COVERAGE_CLASS \ - -o:"$RESULT" -s:"$XSPEC" -xsl:"$COMPILED" \ - -it:{http://www.jenitennison.com/xslt/xspec}main 2> "$COVERAGE_XML" \ + echo "Collecting test coverage data..." + xslt "${saxon_custom_options_array[@]}" \ + -T:$COVERAGE_CLASS \ + -o:"$RESULT" -xsl:"$COMPILED" \ + -it:"{http://www.jenitennison.com/xslt/xspec}main" \ || die "Error collecting test coverage data" else - xslt -o:"$RESULT" -s:"$XSPEC" -xsl:"$COMPILED" \ - -it:{http://www.jenitennison.com/xslt/xspec}main \ + xslt "${saxon_custom_options_array[@]}" \ + -o:"$RESULT" -xsl:"$COMPILED" \ + -it:"{http://www.jenitennison.com/xslt/xspec}main" \ || die "Error running the test suite" fi else # for XQuery if test -n "$COVERAGE"; then - echo "Collecting test coverage data; suppressing progress report..." - xquery -T:$COVERAGE_CLASS \ - -o:"$RESULT" -s:"$XSPEC" "$COMPILED" 2> "$COVERAGE_XML" \ + echo "Collecting test coverage data..." + xquery "${saxon_custom_options_array[@]}" \ + -T:$COVERAGE_CLASS \ + -o:"$RESULT" -q:"$COMPILED" \ || die "Error collecting test coverage data" else - xquery -o:"$RESULT" -s:"$XSPEC" "$COMPILED" \ + xquery "${saxon_custom_options_array[@]}" \ + -o:"$RESULT" -q:"$COMPILED" \ || die "Error running the test suite" fi fi @@ -277,25 +388,53 @@ fi ## format the report ######################################################### ## +if [ -z "${HTML_REPORTER_XSL}" ]; then + HTML_REPORTER_XSL="${XSPEC_HOME}/src/reporter/format-xspec-report.xsl" +fi +if [ -z "${COVERAGE_REPORTER_XSL}" ]; then + COVERAGE_REPORTER_XSL="$XSPEC_HOME/src/reporter/coverage-report.xsl" +fi + echo echo "Formatting Report..." xslt -o:"$HTML" \ -s:"$RESULT" \ - -xsl:"$XSPEC_HOME/src/reporter/format-xspec-report.xsl" \ - || die "Error formating the report" + -xsl:"${HTML_REPORTER_XSL}" \ + inline-css=true \ + || die "Error formatting the report" if test -n "$COVERAGE"; then - xslt -l:on \ + echo + echo "Formatting Coverage Report..." + xslt -config:"${XSPEC_HOME}/src/reporter/coverage-report-config.xml" \ -o:"$COVERAGE_HTML" \ -s:"$COVERAGE_XML" \ - -xsl:"$XSPEC_HOME/src/reporter/coverage-report.xsl" \ - "tests=$XSPEC" \ - "pwd=file:`pwd`/" \ - || die "Error formating the coverage report" + -xsl:"${COVERAGE_REPORTER_XSL}" \ + inline-css=true \ + || die "Error formatting the coverage report" echo "Report available at $COVERAGE_HTML" #$OPEN "$COVERAGE_HTML" +elif test -n "$JUNIT"; then + echo + echo "Generating JUnit Report..." + xslt -o:"$JUNIT_RESULT" \ + -s:"$RESULT" \ + -xsl:"$XSPEC_HOME/src/reporter/junit-report.xsl" \ + || die "Error formatting the JUnit report" + echo "Report available at $JUNIT_RESULT" else echo "Report available at $HTML" #$OPEN "$HTML" fi -echo "Done." +## +## cleanup +## +if test -n "$SCHEMATRON"; then + rm -f "$SCH_PREPROCESSED_XSPEC" + rm -f "$TEST_DIR/$TARGET_FILE_NAME-var.txt" + rm -f "$TEST_DIR/$TARGET_FILE_NAME-step1.sch" + rm -f "$TEST_DIR/$TARGET_FILE_NAME-step2.sch" + rm -f "$SCH_PREPROCESSED_XSL" +fi + +echo "Done." \ No newline at end of file diff --git a/htmlbook-xsl/xspec/chunk.xspec b/htmlbook-xsl/xspec/chunk.xspec index 2fa57527..ce1a518a 100755 --- a/htmlbook-xsl/xspec/chunk.xspec +++ b/htmlbook-xsl/xspec/chunk.xspec @@ -47,7 +47,9 @@ toc:lower-roman
- + @@ -56,7 +58,9 @@ toc:lower-roman - + @@ -68,7 +72,9 @@ toc:lower-roman - +

Here comes a cross-reference: see PLACEHOLDER

@@ -96,7 +102,9 @@ toc:lower-roman - +

Here comes an XREF with an href pointing to another file:

@@ -183,7 +191,9 @@ toc:lower-roman - +
DO NOT TOUCH ME @@ -260,7 +270,9 @@ toc:lower-roman - +

Here comes a cross-reference: see

@@ -282,7 +294,9 @@ toc:lower-roman - +

Here comes a cross-reference: see

@@ -304,7 +318,9 @@ toc:lower-roman - +

Here comes a cross-reference: see

@@ -356,7 +372,9 @@ toc:lower-roman
- + ... @@ -370,42 +388,54 @@ toc:lower-roman - + ... - + ... - + ... - + ... - + - + @@ -599,17 +629,23 @@ toc:lower-roman - + 1-2 - + Chapter 1, AWESOME CHAPTER - + sect1 @@ -650,7 +686,9 @@ toc:lower-roman - + chapter sidebar @@ -659,7 +697,9 @@ sidebar - + chapter sidebar @@ -668,7 +708,9 @@ sidebar - + chapter sidebar @@ -677,14 +719,18 @@ sidebar - + - + diff --git a/htmlbook-xsl/xspec/common.xspec b/htmlbook-xsl/xspec/common.xspec index d23b589d..13578a9f 100755 --- a/htmlbook-xsl/xspec/common.xspec +++ b/htmlbook-xsl/xspec/common.xspec @@ -357,6 +357,7 @@ sect5:none +
@@ -579,7 +580,7 @@ sect5:none - + @@ -1313,7 +1314,9 @@ sect5:none - +
@@ -1337,7 +1340,9 @@ sect5:none - +
@@ -1369,7 +1374,9 @@ sect5:none - + @@ -1417,7 +1424,9 @@ sect5:none - + @@ -1505,7 +1514,7 @@ sect5:none - + refentry @@ -1556,7 +1565,7 @@ sect5:none - + chapter sidebar @@ -1636,7 +1645,7 @@ sect1 underline - + @@ -1904,4 +1913,4 @@ sect1 4 - + \ No newline at end of file diff --git a/htmlbook-xsl/xspec/elements.xspec b/htmlbook-xsl/xspec/elements.xspec index f3a50b68..b4d7c872 100755 --- a/htmlbook-xsl/xspec/elements.xspec +++ b/htmlbook-xsl/xspec/elements.xspec @@ -153,7 +153,9 @@ sect5:1 - +

This is the Chapter title

@@ -164,7 +166,9 @@ sect5:1 - +
@@ -187,7 +191,9 @@ sect5:1 - +

This is the Section title

@@ -198,7 +204,9 @@ sect5:1 - +
@@ -221,7 +229,9 @@ sect5:1 - +

This is the Section title

@@ -232,7 +242,9 @@ sect5:1 - +
@@ -255,7 +267,9 @@ sect5:1 - +

This is the Section title

@@ -266,7 +280,9 @@ sect5:1 - +
@@ -289,7 +305,9 @@ sect5:1 - +

This is the Section title

@@ -300,7 +318,9 @@ sect5:1 - +
@@ -323,7 +343,9 @@ sect5:1 - +
This is the Section title
@@ -334,7 +356,9 @@ sect5:1 - +
@@ -359,7 +383,9 @@ sect5:1 - +

This is the Part title

@@ -404,7 +430,9 @@ sect5:1
- + @@ -434,7 +462,9 @@ sect5:1 - + @@ -480,7 +510,9 @@ sect5:1
- + @@ -510,7 +542,9 @@ sect5:1
- + @@ -557,7 +591,9 @@ sect5:1
- + @@ -587,7 +623,9 @@ sect5:1
- + @@ -633,7 +671,9 @@ sect5:1
- + @@ -663,7 +703,9 @@ sect5:1
- + @@ -709,7 +751,9 @@ sect5:1
- + @@ -739,7 +783,9 @@ sect5:1
- + @@ -785,7 +831,9 @@ sect5:1
- + @@ -815,7 +863,9 @@ sect5:1
- + @@ -864,7 +914,9 @@ sect5:1
- + @@ -901,7 +953,9 @@ sect5:1
- + @@ -943,7 +997,9 @@ sect5:1 - + @@ -973,7 +1029,9 @@ sect5:1 - + @@ -1003,7 +1061,9 @@ sect5:1 - + @@ -1033,7 +1093,9 @@ sect5:1 - + @@ -1215,7 +1277,9 @@ sect5:1
- + @@ -1227,7 +1291,9 @@ sect5:1 - + @@ -1449,7 +1515,9 @@ end - + @@ -1471,7 +1539,9 @@ end - +
import java.applet.*;
@@ -1499,7 +1569,9 @@ public class Scribble extends Applet {
     
   
     
-    
+    
       
         
         
def self.compile_file(filename, *args)
@@ -1535,7 +1607,9 @@ public class Scribble extends Applet {
       
     
 
-    
+    
       
         
         
if css_filename
@@ -1592,18 +1666,18 @@ end
- - + + And this is the footnote - + - - + + 1And this is the footnote @@ -1612,244 +1686,244 @@ end
- - + + - - 1 - - - -
- - - -
-

First chapter

-

This chapter has a couple footnotes:

-

Here's the first footnoteFootnote #1 in Chapter #1

-

Here's the second footnoteFootnote #2 in Chapter #1

-
-
-

Second chapter

-

This chapter also has a couple footnotes:

-

Here's the first footnoteFootnote #1 in Chapter #2

-

Here's the second footnoteFootnote #2 in Chapter #2

-
-
-

Here's a part

-

This part has two footnotes

-

Here's the first footnoteFootnote #1 in Part

-

Here's the second footnoteFootnote #2 in Part

-
-

Third chapter

-

This chapter also has a couple footnotes:

-

Here's the first footnoteFootnote #1 in Chapter #2

-

Here's the second footnoteFootnote #2 in Chapter #2

-

Here's a footnoteref to the second footnote

-
-
-
-

The Appendix

-

The appendix also has a couple footnotes:

-

Here's the first footnoteFootnote #1 in the Appendix

-

Here's the second footnoteFootnote #2 in the Appendix

-
-
- - - - - - - - - Footnote #2 in Chapter #2 - - - - - - - - - - - Footnote #2 in Chapter #2 - - - - - - - - - - - 4Footnote #2 in Chapter #2 - - -
- - - - - - - - - 2Footnote #2 in Chapter #2 - - - - - - - - - - + + 1 + + + +
+ + + +
+

First chapter

+

This chapter has a couple footnotes:

+

Here's the first footnoteFootnote #1 in Chapter #1

+

Here's the second footnoteFootnote #2 in Chapter #1

+
+
+

Second chapter

+

This chapter also has a couple footnotes:

+

Here's the first footnoteFootnote #1 in Chapter #2

+

Here's the second footnoteFootnote #2 in Chapter #2

+
+
+

Here's a part

+

This part has two footnotes

+

Here's the first footnoteFootnote #1 in Part

+

Here's the second footnoteFootnote #2 in Part

+
+

Third chapter

+

This chapter also has a couple footnotes:

+

Here's the first footnoteFootnote #1 in Chapter #2

+

Here's the second footnoteFootnote #2 in Chapter #2

+

Here's a footnoteref to the second footnote

+
+
+
+

The Appendix

+

The appendix also has a couple footnotes:

+

Here's the first footnoteFootnote #1 in the Appendix

+

Here's the second footnoteFootnote #2 in the Appendix

+
+
+ + + + + + + + + Footnote #2 in Chapter #2 + + + + + + + + + + + Footnote #2 in Chapter #2 + + + + + + + + + + + 4Footnote #2 in Chapter #2 + + +
+ + + + + + + + + 2Footnote #2 in Chapter #2 + + + + + + + + + + - - 4 - - - - - - - - - - + + 4 + + + + + + + + + + - - 2 - - - - - - - - - - + + 2 + + + + + + + + + + -

- 4 Footnote #2 in Chapter #2

-
-
- - - - - - - +

+ 4 Footnote #2 in Chapter #2

+ +
+ + + + + + + -

- 2 Footnote #2 in Chapter #2

-
-
- - - - - - +

+ 2 Footnote #2 in Chapter #2

+ +
+ + + + + + - - 8 - - - - - - - - - + + 8 + + + + + + + + + - - 2 - - - - - - - - - 2 - - - - - - - 4 - - - - - - - 5 - - - - - - - 7 - - - - - - - 9 - - - - - - - 2 - - - - - - - 2 - - - - - - - 1 - - - - - - - 1 - - - - - - - 1 - - - - + + 2 + + + + + + + + + 2 + + + + + + + 4 + + + + + + + 5 + + + + + + + 7 + + + + + + + 9 + + + + + + + 2 + + + + + + + 2 + + + + + + + 1 + + + + + + + 1 + + + + + + + 1 + + + +

This is the textAnd this is the footnote

@@ -1857,7 +1931,7 @@ end

And now we've got a second paragraph that has a footnoteref here

- + @@ -1872,158 +1946,162 @@ end - - 2 + + 2
- - - - - - - - - - - - - - - - - - - - -
Four colors
VermillionReddishCeruleanBluish
ChartreuseGreenishFuschiaPurplish
TealEggplant
-
- - - - - ... - - - - - -
...
-

a Reddish

-

b Bluish

-

c Greenish

-

d Purplish

-
-
- - - - - - - - d - - - - - - - - - d - - - - - - - c - - -
- - - - - - - - - - - - - - - - - - -
Four colors
VermillionReddishCeruleanBluish
ChartreuseGreenishFuschiaPurplish
TealEggplant
-
- - - - - ... - ... - ... - - - -
...
-

a Reddish

-

b Bluish

-

c Greenish

-

d Purplish

-
-
-
- - - -
-

All about colors

-

The following tableMade with love lists some colors

- - - - - - - - - - - - -
Four colors
VermillionReddishCeruleanBluish
ChartreuseGreenishFuschiaPurplish
-

I hope you found this table accurateIf not, please send errata

-
-
- - - - - - - - - - - - - - - - - - -
- + + + + + + + + + + + + + + + + + + + + +
Four colors
VermillionReddishCeruleanBluish
ChartreuseGreenishFuschiaPurplish
TealEggplant
+
+ + + + + ... + + + + + +
...
+

a Reddish

+

b Bluish

+

c Greenish

+

d Purplish

+
+
+ + + + + + + + d + + + + + + + + + d + + + + + + + c + + +
+ + + + + + + + + + + + + + + + + + +
Four colors
VermillionReddishCeruleanBluish
ChartreuseGreenishFuschiaPurplish
TealEggplant
+
+ + + + + ... + ... + ... + + + +
...
+

a Reddish

+

b Bluish

+

c Greenish

+

d Purplish

+
+
+
+ + + +
+

All about colors

+

The following tableMade with love lists some colors

+ + + + + + + + + + + + +
Four colors
VermillionReddishCeruleanBluish
ChartreuseGreenishFuschiaPurplish
+

I hope you found this table accurateIf not, please send errata

+
+
+ + + + + + + + + + + + + + + + + + +
+ @@ -2125,7 +2203,7 @@ end
- + diff --git a/htmlbook-xsl/xspec/epub.xspec b/htmlbook-xsl/xspec/epub.xspec index ed08c02f..ae01ae9f 100755 --- a/htmlbook-xsl/xspec/epub.xspec +++ b/htmlbook-xsl/xspec/epub.xspec @@ -14,7 +14,9 @@ - +
- + - + - + @@ -45,7 +51,9 @@ - + diff --git a/htmlbook-xsl/xspec/java/.DS_Store b/htmlbook-xsl/xspec/java/.DS_Store deleted file mode 100644 index 8a0fa47b8aca63b65cddf8e8776f6ee3c9116c1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK!AiqG5Z!I7MpVc}=yCB}q}4-v@DM@;k3tGPSkc4?4b-MIDLvF^@EiOO|Hkj} z&F)$(7J3uW8Q6VqcV@Di2ieUCA*4TxTSB-(2nUT&5?Nz3z1CH+!4in(ifj^%(g>rs zXkvZ89cb@WaVJvo5Y4~tf0Sf-v-vJ7)!Nqfjsx2t^pkO%&i!;Yj1|fsO7baX!3p>x;!{yVFpelcJ#(tyTxT-E0@dF3f#( z4v&t{E_&f(@$_686(wz!?7+aXe_1jntN<&(3a|pKz(xh^b>i%8jN|}TfED;}3efqW z&fp(x6EfQm>5X z*p)wv7pYgrywc%9dIq^?1z3Sq1*&G~(*1vqPiAeAzna1$R)7`wV+zPxH|Y9!DSNkm zdp){q71}Kt8O4=EVBjl10T|FZQrAx7SHuzLSu73GQ)phN1Nlcl3&I^M@B<2b01x3p AAOHXW diff --git a/htmlbook-xsl/xspec/java/com/.DS_Store b/htmlbook-xsl/xspec/java/com/.DS_Store deleted file mode 100644 index cee0738fe1f4523393c9be51ef7385c7da3d8c3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKO-sWt7*4jS6({r}>=--`+4Qg-Jd`rQqp-maPPCueFu(-1lD;bIumax{u!o0p^v%yh zR)7^?1!#XzXoQ}{!l2$d(CI4xumQI=aJoxSjk4%jEDRz7lcp4CN~OJGNK+2KvU#4x z!k{S^Qa>5<*e8EoUZj3H{7R<_=^5mn6<`I*3e?TerSty^f0@clez}B4tN<(U&lHf2 z!EoT?rR>@Iuer I_yq+%0p0UNi~s-t diff --git a/htmlbook-xsl/xspec/java/com/jenitennison/.DS_Store b/htmlbook-xsl/xspec/java/com/jenitennison/.DS_Store deleted file mode 100644 index 5631f293d4c66cf58ea60a34d71bf6397b1c2723..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK!AiqG5Z$#=BP!$~^tgB~((0i-cnG0_N1=rttY|`n20~MslnON({09HSzwvu~ zv%40Hh2BJT26o@uotfzzD!$C5Rvw4us#&Le#8)fre65mJR z^hWa{EM|ESPPOMMEJpBX-p{fWd}yNwNnDI>z4~Ht*6uV^=d^67MXS{TZ#Uazxd-!J z-J|1^^UHqtSUx>hMn_58B|9{*>|d6Q2`j(~umY?AE3iQUdzrZV8{*i_3a|qIPXRg~ z6dIv#u`;NS4s^N%06Lh~22QmE@EE0zaU@2lO98 Av;Y7A diff --git a/htmlbook-xsl/xspec/java/com/jenitennison/xslt/.DS_Store b/htmlbook-xsl/xspec/java/com/jenitennison/xslt/.DS_Store deleted file mode 100644 index fc3e630a7a4dd2a856df43a728804dea924e4353..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%SyvQ6rJfqBPwJgbUC;#((0mJxCo(wOQD4>tY|_C4V0!dDP7cP@EiOO|Hkj} z+?lah3|)%oy)bi5?qgug!GqDTL@PO;h+&pA|*!d(on@FOCTD?NW)b+52s03 zGR*IE(c0@G6JwF0|GNISa6XOGtkrs#m1?cNx9`A?M#Fd(B`ZH!&Z6|TKS@^oI2wn+ z;!g7{$d;)eEOg{1$R>zrK1h-&_{e4t<0zZlyN&hwqSI}v?s?u+>vp>f-f4C6`~c>@ zIwz-Rm)C>fF@Jh4jDC_9Om=Kw)4yyO6IOr~Ur!>@F@ke)&ASpimHTY;*1bm{!R!Y5OD$=@#FCsu$J_+tvlTCd;p@ly6| z{q}lv)+)3IG&0I7h`_+Negg17`$$6vO - + @@ -73,7 +75,9 @@ sect5:none - +

Test Chapter

@@ -170,7 +174,9 @@ sect5:none
- + ... - + ... - + ... - + ... - + ... - + ... - + - + @@ -989,7 +1033,9 @@ toc:lower-roman
- + @@ -1244,7 +1290,9 @@ toc:lower-roman - + chapter sidebar @@ -1253,7 +1301,9 @@ sidebar - + chapter sidebar @@ -1262,7 +1312,9 @@ sidebar - + chapter sidebar @@ -1271,14 +1323,18 @@ sidebar - + - + @@ -1359,22 +1415,30 @@ sidebar 1-2 - + Chapter 1, AWESOME CHAPTER - + Appendix A, Appendix Title - + Part I, I'm Part of the Solution! - + sect1 From 349ff3227fa0200a66968847510fa8e4ff1662e3 Mon Sep 17 00:00:00 2001 From: Nick Adams Date: Wed, 30 Sep 2020 10:45:32 -0400 Subject: [PATCH 5/6] adding back file extension xspec and gitignore file --- htmlbook-xsl/xspec/.gitignore | 3 +++ htmlbook-xsl/xspec/fileextension.xspec | 25 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 htmlbook-xsl/xspec/.gitignore create mode 100755 htmlbook-xsl/xspec/fileextension.xspec diff --git a/htmlbook-xsl/xspec/.gitignore b/htmlbook-xsl/xspec/.gitignore new file mode 100644 index 00000000..7d289b4e --- /dev/null +++ b/htmlbook-xsl/xspec/.gitignore @@ -0,0 +1,3 @@ +# OS generated files # +###################### +.DS_Store \ No newline at end of file diff --git a/htmlbook-xsl/xspec/fileextension.xspec b/htmlbook-xsl/xspec/fileextension.xspec new file mode 100755 index 00000000..4acb7b0b --- /dev/null +++ b/htmlbook-xsl/xspec/fileextension.xspec @@ -0,0 +1,25 @@ + + + + + + + +
+ + + ch01.xhtml + + + From 1ba13f389494044d983f37b187bf8da29a8b426a Mon Sep 17 00:00:00 2001 From: Nick Adams Date: Wed, 30 Sep 2020 10:54:22 -0400 Subject: [PATCH 6/6] Adding back top level .gitignore file --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..cac07840 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Mac Finder files +.DS_Store