From cbe6247a55170b601ebae98911356284ff9ede73 Mon Sep 17 00:00:00 2001 From: David Lichteblau Date: Sat, 26 Apr 2008 22:47:53 +0200 Subject: [PATCH] Check xsl:output/standalone --- TEST | 10 ++++------ test.lisp | 7 ++++--- xslt.lisp | 11 +++++++---- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/TEST b/TEST index 31d322f..b89ac1e 100644 --- a/TEST +++ b/TEST @@ -15600,9 +15600,7 @@ PASS Output__77930 [XSLT-Output] Expected output (1): MSFT_Conformance_Tests/Output/Output__77930.saxon Actual output: MSFT_Conformance_Tests/Output/Output__77930.xuriella -WARNING: comparison failed: :|MY:XML| fell through ECASE expression. - Wanted one of (:TEXT :HTML :XML). -FAIL Output__77931 [XSLT-Output]: saxon error not signalled and official output not a match +PASS Output__77931 [XSLT-Output] Stylesheet: MSFT_Conformance_Tests/Output/xslt29506.noindent-xsl Data: MSFT_Conformance_Tests/Output/testdata.xml Expected output (1): MSFT_Conformance_Tests/Output/Output__77931.saxon @@ -15641,13 +15639,13 @@ PASS Output__77936 [XSLT-Output] Expected output (1): MSFT_Conformance_Tests/Output/Output__77936.saxon Actual output: MSFT_Conformance_Tests/Output/Output__77936.xuriella -FAIL Output__77937 [XSLT-Output]: expected error not signalled: +PASS Output__77937 [XSLT-Output]: raised an xslt-error as expected Stylesheet: MSFT_Conformance_Tests/Output/xslt29404.noindent-xsl Data: MSFT_Conformance_Tests/Output/testdata.xml Expected output (1): MSFT_Conformance_Tests/Output/Output__77937.saxon Actual output: MSFT_Conformance_Tests/Output/Output__77937.xuriella -FAIL Output__77938 [XSLT-Output]: expected error not signalled: +PASS Output__77938 [XSLT-Output]: raised an xslt-error as expected Stylesheet: MSFT_Conformance_Tests/Output/xslt29403.noindent-xsl Data: MSFT_Conformance_Tests/Output/testdata.xml Expected output (1): MSFT_Conformance_Tests/Output/Output__77938.saxon @@ -19291,4 +19289,4 @@ PASS XSLTFunctions_DocumentFuncWithEmptyArg [Mixed] Expected output (1): MSFT_Conformance_Tests/XSLTFunctions/XSLTFunctions_DocumentFuncWithEmptyArg.saxon Actual output: MSFT_Conformance_Tests/XSLTFunctions/XSLTFunctions_DocumentFuncWithEmptyArg.xuriella -Passed 2960/3070 tests (4 expected failures, 106 unexpected failures). +Passed 2963/3070 tests (4 expected failures, 103 unexpected failures). diff --git a/test.lisp b/test.lisp index b57d431..5f1253f 100644 --- a/test.lisp +++ b/test.lisp @@ -385,6 +385,7 @@ |BVTs_bvt058$ |Import__ |Include__ + |Output__77931$ )")) (defparameter *known-failures* @@ -671,10 +672,10 @@ (defun output-equal-p (compare p q &key normalize) (handler-case - (ecase compare - (:xml (xml-output-equal-p p q normalize)) + (case compare (:html (html-output-equal-p p q)) - (:text (text-output-equal-p p q))) + (:text (text-output-equal-p p q)) + (t (xml-output-equal-p p q normalize))) ((or error parse-number::invalid-number) (c) (warn "comparison failed: ~A" c) nil))) diff --git a/xslt.lisp b/xslt.lisp index d602850..bd068e4 100644 --- a/xslt.lisp +++ b/xslt.lisp @@ -966,7 +966,8 @@ encoding doctype-system doctype-public - cdata-section-matchers) + cdata-section-matchers + standalone-p) (defun parse-output! (stylesheet env) (dolist ( (list-toplevel "output" )) @@ -984,8 +985,7 @@ (declare (ignore version ;; FIXME: - media-type - standalone)) + media-type)) (when method (setf (output-method spec) (cond @@ -1009,7 +1009,10 @@ (dolist (qname (words cdata-section-elements)) (decode-qname qname env nil) ;check the syntax (push (xpath:make-pattern-matcher* qname env) - (output-cdata-section-matchers spec)))))))) + (output-cdata-section-matchers spec)))) + (when standalone + (setf (output-standalone-p spec) + (boolean-or-error standalone))))))) (defun make-empty-declaration-array () (make-array 1 :fill-pointer 0 :adjustable t)) -- 2.11.4.GIT