[Bug 9931] New: Error codes for QName attributes in result-document

http://www.w3.org/Bugs/Public/show_bug.cgi?id=9931

           Summary: Error codes for QName attributes in result-document
           Product: XPath / XQuery / XSLT
           Version: Working drafts
          Platform: PC
        OS/Version: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XSLT 2.0
        AssignedTo: mike@saxonica.com
        ReportedBy: oliver@cbcl.co.uk
         QAContact: public-qt-comments@w3.org


I am struggling to work out which errors to use for the format and
cdata-section-elements for the xsl:result-document element.

There are no specific error codes for the cdata-section-elements attribute, so
I believe that (potentially) XTSE0020, XTDE0030, XTSE0280 and XTDE0290 could
apply.

XTSE0020 and XTDE0030 are defined as follows:

[ERR XTSE0020] It is a static error if an attribute (other than an attribute
written using curly brackets in a position where an attribute value template is
permitted) contains a value that is not one of the permitted values for that
attribute.
[ERR XTDE0030] It is a non-recoverable dynamic error if the effective value of
an attribute written using curly brackets, in a position where an attribute
value template is permitted, is a value that is not one of the permitted values
for that attribute. If the processor is able to detect the error statically
(for example, when any XPath expressions within the curly brackets can be
evaluated statically), then the processor may optionally signal this as a
static error.

These make it clear that for an invalid QName, if no {}s are used then the
error is XTSE0020, otherwise XTDE0030

Consider the errors XTSE0280 and XTDE0290:
[ERR XTSE0280] In the case of a prefixed QName used as the value of an
attribute in the stylesheet, or appearing within an XPath expression in the
stylesheet, it is a static error if the defining element has no namespace node
whose name matches the prefix of the QName.
[ERR XTDE0290] Where the result of evaluating an XPath expression (or an
attribute value template) is required to be a lexical QName, then unless
otherwise specified it is a non-recoverable dynamic error if the defining
element has no namespace node whose name matches the prefix of the lexical
QName. This error may be signaled as a static error if the value of the
expression can be determined statically.

In this case if cdata-section-elements contains no {}s and a QName whose value
has an invalid prefix then does this count as an XTSE0280 (as with the
distinction between XTSE0020/XTDE0030) or should it always raise XTDE0290?


XTDE1460 is defined as follows

[ERR XTDE1460] It is a non-recoverable dynamic error if the effective value of
the format attribute is not a valid lexical QName, or if it does not match the
expanded-QName of an output definition in the stylesheet. If the processor is
able to detect the error statically (for example, when the format attribute
contains no curly brackets), then the processor may optionally signal this as a
static error.

Clearly this supersedes both XTSE0020 and XTDE0030 for the format element; but
it is unclear whether XTSE0280 and XTDE0290 still apply.  My understanding is
that they do and which error is raised depends on whether there are {}s in the
attribute value, but this could be interpreted differently.

-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Tuesday, 15 June 2010 15:55:24 UTC