From 3e7477e552b4a76e2e48d3835ffc231cde8b203c Mon Sep 17 00:00:00 2001 From: David Lichteblau Date: Sun, 20 Apr 2008 21:41:32 +0200 Subject: [PATCH] Check for href on import and include --- TEST | 23 ++++------------------- xslt.lisp | 6 ++++-- 2 files changed, 8 insertions(+), 21 deletions(-) diff --git a/TEST b/TEST index 516ca2d..df7b07b 100644 --- a/TEST +++ b/TEST @@ -12666,12 +12666,7 @@ PASS Errors_err053 [Mixed]: raised an xslt-error as expected Expected output (1): MSFT_Conformance_Tests/Errors/Errors_err053.saxon Actual output: MSFT_Conformance_Tests/Errors/Errors_err053.xuriella -FAIL Errors_err054 [Mixed]: condition of incorrect type: -There is no applicable method for the generic function - # -when called with arguments - (NIL - "file://+...MSFT_Conformance_Tests/Errors/inc-nohref.noindent-xsl"). +PASS Errors_err054 [Mixed]: raised an xslt-error as expected Stylesheet: MSFT_Conformance_Tests/Errors/inc-nohref.noindent-xsl Data: MSFT_Conformance_Tests/Errors/data.xml Expected output (1): MSFT_Conformance_Tests/Errors/Errors_err054.saxon @@ -13398,12 +13393,7 @@ FAIL Import__91151 [XSLT-Structure]: output doesn't match Expected output (1): MSFT_Conformance_Tests/Import/Import__91151.saxon Actual output: MSFT_Conformance_Tests/Import/Import__91151.xuriella -FAIL Import__91152 [XSLT-Structure]: condition of incorrect type: -There is no applicable method for the generic function - # -when called with arguments - (NIL - "file://+...MSFT_Conformance_Tests/Import/91152.noindent-xsl"). +PASS Import__91152 [XSLT-Structure]: raised an xslt-error as expected Stylesheet: MSFT_Conformance_Tests/Import/91152.noindent-xsl Data: MSFT_Conformance_Tests/Import/books.xml Expected output (1): MSFT_Conformance_Tests/Import/Import__91152.saxon @@ -13544,12 +13534,7 @@ PASS Include__77504 [XSLT-Structure]: raised an xslt-error as expected Expected output (1): MSFT_Conformance_Tests/Include/Include__77504.saxon Actual output: MSFT_Conformance_Tests/Include/Include__77504.xuriella -FAIL Include__77506 [XSLT-Structure]: condition of incorrect type: -There is no applicable method for the generic function - # -when called with arguments - (NIL - "file://+...MSFT_Conformance_Tests/Include/XSLT03006.noindent-xsl"). +PASS Include__77506 [XSLT-Structure]: raised an xslt-error as expected Stylesheet: MSFT_Conformance_Tests/Include/XSLT03006.noindent-xsl Data: MSFT_Conformance_Tests/Include/books.xml Expected output (1): MSFT_Conformance_Tests/Include/Include__77506.saxon @@ -19431,4 +19416,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 2882/3080 tests (3 expected failures, 195 unexpected failures). +Passed 2885/3080 tests (3 expected failures, 192 unexpected failures). diff --git a/xslt.lisp b/xslt.lisp index 4867599..b10619a 100644 --- a/xslt.lisp +++ b/xslt.lisp @@ -493,7 +493,8 @@ (when invalid (xslt-error "invalid top-level element ~A" (stp:local-name invalid)))) (dolist (include (stp:filter-children (of-name "include") )) - (let* ((uri (puri:merge-uris (stp:attribute-value include "href") + (let* ((uri (puri:merge-uris (or (stp:attribute-value include "href") + (xslt-error "include without href")) (stp:base-uri include))) (uri (if uri-resolver (funcall uri-resolver (puri:render-uri uri nil)) @@ -598,7 +599,8 @@ ,@body))) (with-specials () (do-toplevel (import "import" ) - (let ((uri (puri:merge-uris (stp:attribute-value import "href") + (let ((uri (puri:merge-uris (or (stp:attribute-value import "href") + (xslt-error "import without href")) (stp:base-uri import)))) (push (parse-imported-stylesheet env stylesheet uri uri-resolver) continuations)))) -- 2.11.4.GIT