User:Mjb/OASIS XSLT Developer Questionnaire answers for 4Suite

From Offset
Jump to navigationJump to search

The OASIS XSLT Conformance TC published a questionnaire for XSLT processor developers in April 2005, at the same time as announcing that they were not continuing development of their test suite. So it's not clear why they need the info. Nevertheless, I'm going to try to provide the answers for 4Suite.

The original questionnaire is at http://www.oasis-open.org/committees/download.php/12370/xsltDevQ.htm

  • What happens when there is an unresolved conflict between matches to xsl:strip-space and xsl:preserve-space elements? (choices: choose-last, raise-error)
    • choose-last
  • What happens when there is an unresolved conflict between matches to xsl:template elements? (choices: choose-last, raise-error)
    • choose-last + issue warning; eventually, user-selectable
  • What happens when a namespace URI is declared to be an alias for multiple different namespace URIs and the declarations share the highest import precedence? (choices: choose-last, raise-error)
    • unknown
  • What happens when the result of instantiating the name attribute of the xsl:element element is not a QName? (choices: pass-through, raise-error)
    • raise-error
  • What happens when the result of instantiating the name attribute of the xsl:attribute element is not a QName? (choices: ignore, raise-error)
    • raise-error
  • What happens when an attribute is added to an element after children have been added to it? (choices: ignore, raise-error)
    • when serializing as XML or HTML, raise-error; when writing to a DOM, the operation is successful (so neither choice applies!); when writing to a SAX handler, ignore.
  • What happens when an attribute is added to a node that is not an element? (choices: ignore, raise-error)
    • raise-error, usually caught prior to serialization by a check for creating a non-text node in an attribute, comment, or processing-instruction node. Adding an attribute to a root node won't fail (so, ignore) when serializing as text, but does raise an error when serializing as XML or HTML. DOM and SAX results unknown.
  • What happens when nodes other than text nodes are created when instantiating the content of the xsl:attribute element? (choices: ignore, raise-error)
    • raise-error
  • What happens when two attribute sets that have the same expanded name and share the highest import precedence both contain the same attribute? (choices: choose-last, raise-error)
    • unknown
  • What happens when the result of instantiating the name attribute of the xsl:processing-instruction element is not an NCName and a PITarget? (choices: ignore, raise-error)
    • raise-error
  • What happens when nodes other than text nodes are created when instantiating the content of the xsl:processing-instruction element? (choices: ignore, raise-error)
    • raise-error
  • What happens when the result of instantiating the content of the xsl:processing-instruction element contains the string ?>? (choices: add-space, raise-error)
    • add-space when serializing as XML or HTML; ignore otherwise. It's not clear whether this is really a problem.
  • What happens when nodes other than text nodes are created when instantiating the content of the xsl:comment element? (choices: ignore, raise-error)
    • raise-error
  • What happens when the result of instantiating the content of the xsl:comment element contains the string -- or ends with -? (choices: add-space, raise-error)
    • ignore (oops; fixed in CVS 2006-06-23)
  • What happens when instantiating a variable-binding element adds an attribute node or namespace node as a child of the root of the result tree fragment? (choices: ignore, raise-error)
    • ignore for both attribute and namespace nodes.
  • What happens when a namespace is copied to a node that is not an element? (choices: ignore, raise-error)
    • unknown
  • What happens when a namespace is copied to an element after children have been added to it? (choices: ignore, raise-error)
    • unknown
  • What happens when xsl:number is given NaN, Infinity, or a non-positive number? (choices: pass-through, raise-error)
    • unknown
  • What happens when there is an error retreiving the resouce identified by a URI in an argument to the document function? (choices: return-empty, raise-error)
    • unknown
  • What-happens when there is an error processing the fragment identifier in a URI in an argument to the document function? (choices: return-empty, raise-error)
    • unknown
  • What happens when the two arguments to the document() function do not enable resolution of a relative URI reference? (choices: return-empty, raise-error)
    • unknown
  • What happens when there is more than one instantiation of the same attribute on multiple xsl:output elements that share the highest import precedence? (choices: choose-last, raise-error)
    • unknown
  • Is an error raised when the encoding attribute of the xsl:output element specifies an unsupported encoding? (choices: yes, no)
    • yes
  • Is UTF-8 encoding always used when the encoding attribute of the xsl:output element specifies an unsupported encoding? (choices: yes, no)
    • no
  • Is UTF-16 encoding always used when the encoding attribute of the xsl:output element specifies an unsupported encoding? (choices: yes, no)
    • no
  • Is UTF-8 encoding used by default? (choices: yes, no)
    • yes
  • Is UTF-16 encoding used by default? (choices: yes, no)
    • no
  • Does the processor support disabling output escaping? (choices: yes, no)
    • unknown
  • What happens when disabling output escaping of an xsl:value-of or xsl:text element is specified but disabling of output escaping is unsupported? (choices: ignore, raise-error, moot)
    • unknown
  • What happens when output escaping is disabled for a text node that is used for something other than a text node in the result tree? (choices: ignore, raise-error, moot)
    • unknown
  • What happens when output escaping is disabled for a character that is not representable in the encoding used for output? (choices: ignore, raise-error, moot)
    • unknown
  • Is the public identifier of an unparsed entity, when present, used to generate the URI for the entity instead of the URI specified in the system identifier? (choices: yes, no)
    • unknown
  • Is the English language supported for xsl:number? (choices: yes, no)
    • yes (English is the only language supported for xsl:number as of 2006-06-23.)
  • (Pattern for questions) For each language in test suite: Is _____ language supported for xsl:number?
    • unknown
  • (Pattern for questions) For some specific languages: ELABORATE: which number conversion basis is chosen?
    • unknown
  • Is the English language supported for xsl:sort? (choices: yes, no)
    • yes (... but, the lang attribute is ignored; xsl:sort always uses the cmp function, which is locale-specific.)
  • (Pattern for questions) For each language in test suite: Is _____ language supported for xsl:sort?
    • unknown
  • (Pattern for questions) For some specific languages: ELABORATE: which sorting algorithm is chosen?
    • unknown
  • Is it possible to pass parameters to the stylesheet? (choices: yes, no) If yes: What is the API? What is the command-line syntax?
    • unknown
  • Is the result tree able to be output as a sequence of bytes? (choices: yes, no)
    • unknown
  • Is the result tree always output as specified by the xsl:output element? (choices: yes, no, moot) If no: What deviations do you implement?
    • unknown
  • What happens when output escaping is disabled for a text node that is placed into a result tree fragment (RTF), and the RTF is later converted to a number or string? (choices: ignore, raise-error, moot)
    • unknown
  • Are there any non-terminating loops that can be detected? (choices: yes, no) If yes: What loops can be detected?
    • unknown
  • Is the prefix of the QName specified in the name attribute of xsl:element used as the prefix of the created element, when no conflicting use is in scope? (choices: yes, no)
    • unknown
  • Is the prefix of the QName specified in the name attribute of xsl:attribute used as the prefix of the created attribute, when no conflicting use is in scope? (choices: yes, no)
    • unknown
  • Is the relative document order of two nodes in different documents formed by taking all elements in the first document before any in the second, and so on? (choices: yes, no) If no: How is the ordering determined?
    • unknown
  • Is there a reproducible pattern for the string generated by the generate-id function? (choices: yes, no) If yes: What is the pattern?
    • unknown
  • Does the XML output ever contain namespace nodes that were not present in the result tree? (choices: yes, no) If yes: Under what circumstances are additional namespace nodes generated?
    • unknown
  • Does the html output method output a character using a character entity reference, if one is defined for it in the version of HTML that the output method is using? (choices: yes, no)
    • unknown
  • ELABORATE: What form of error recovery is performed after any errors are signaled?
    • unknown
  • Are limits imposed on processing resources consumed by the processing of a stylesheet? (choices: yes, no) If yes: What limits might be reached in lab testing?
    • unknown
  • Does the XSLT processor support any extra data-type for sort? (choices: yes, no) If yes: What additional data types are supported?
    • unknown