OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xslt-conformance message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: The Catalog of Vague, Draft 2


Here is the second attempt to list all the areas where the XSLT and XPath
Recommendations are not precise enough for the OASIS conformance committee
(or XSLT processor developers) to tell what is correct behavior. Please
send corrections and additions to me. Each item has a handy (?) mnemonic
label.

This list includes vague areas that we already know have been brought to
the WG. XPath items occur at the bottom and have "XPath-" at the start of
their mnemonic.

GROUP 1. Still planned for submission to WG
PART 1A. Policy questions
[attrib-set-merge] In the process of merging same-named attribute sets,
must each set to be merged be individually resolved with respect to its own
attributes, including any use-attribute-sets it carries, before the merger
takes place?
[attrib-set-not-exist] Is an attempt to use-attribute-sets with a
non-existant set an error, ignorable, or developer's choice between those
two?
[copy-namespace-current] If the current node is a namespace node, is there
any discretion about where <xsl:copy/> puts it in the result? Is it
affected by exclude-result-prefix?
[copy-namespace-attribute] If xsl:copy is applied to a namespaced
attribute, and the namespace in question would not already be in scope in
the result, is there any discretion about where <xsl:copy/> puts the
namespace node in the result? Is it affected by exclude-result-prefix?
[excluded-prefix-needed] What should be the effect of an attempt to emit an
element or attribute bound to a namespace on the list of excluded
namespaces?
[fallback-top-level] Can xsl:fallback be implemented inside a top-level
"extension" element? If so, must it be detected and instantiated as with
instructions?
[func-system-property-namespace] What rules apply to use of either the
default or xsl namespaces on arguments to system-property (if the processor
developer wishes to add more properties)?
[key-unique-name] Since "each key name may be thought of as distinguishing
a separate, independent space of identifiers", would multiple xsl:key
declarations with the same key name be allowed? If so, how do the multiple
declarations interact?
[namespace-alias-intermediate] Should the namespace-alias be applied upon
first creation of the nodes? (Ref.: Kay, p. 235)
[namespace-alias-result-prefix] Should the result-prefix in
namespace-alias, if not #default, be the exact prefix used in the output?
[sort-NaN] Where should strings that cannot be converted to number values
be placed in ascending and descending numeric sorts? The relative order of
the strings is not in question, rather the question is whether they appear
in a clump before/after the lowest number, or always at the beginning or
end regardless of sort order.
[source-notations] What should the XSLT processor do about "notations" in
the source document? (Ref.: Kay, pp. 64-65) This question is now being
restricted to the effects on the tree: position(), count(), etc.

PART 1B. Requests for explicit statements
[for-each-variable] Can xsl:variable inside a for-each loop be set to a new
value on every iteration? Current verbiage saying "template is
instantiated" may cover this, but an explicit statement is useful.
[func-document-second-empty] If document() is called with two arguments and
the second is an empty node-set, should the second argument be ignored?
[number-NaN] If xsl:number is called with a value set to positive or
negative infinity, or any string that cannot be converted to a number, how
should it be formatted?
[number-negative] Should xsl:number render a negative number (specified in
value), even in alphabetic and Roman-numeral formats?
[number-zero] Should xsl:number emit a zero, even in alphabetic and
roman-numeral formats?
[sort-case-order] Does the case-order attribute of xsl:sort pertain to
ascending order, and its opposite to descending order?
[XPath-ceiling-NaN] Should ceiling() of any string that cannot be converted
to a number return NaN?
[XPath-ceiling-negative-fraction] Should ceiling(-0.1) return positive or
negative zero?
[XPath-contains-main-empty] If the first argument to contains() is empty
and the second argument is non-empty, should false be returned? Given that
every string contains the empty string, does the empty string contain
itself? (In other words, does contains("","") return true?)
[XPath-floor-NaN] Should floor() of any string that cannot be converted to
a number return NaN?
[XPath-negative-zero-multiply] Is the product of -0 and any non-zero number
-0? Does (-0)*0 equal -0? Does (-0)*(-0) equal 0? Does (-0) div {any
non-zero number} equal -0?

GROUP 2. Not so vague after all, with answers
[attrib-after-comment] When populating an element, should it be a required
error to invoke xsl:attribute after xsl:comment? Developer's discretion:
error/ignore.
[attrib-after-PI] When populating an element, should it be a required error
to invoke xsl:attribute after xsl:processing-instruction? Developer's
discretion: error/ignore.
[choose-unselected-when-error] The xsl:when cases in a choose must be
selected in document order, but a multi-threaded processor might evaluate
the when tests in parallel. Must the effects of all unselected when tests
be neutralized? Specs should not address "side effects" as long as WG
commits to having no side effects in any function defined in the specs.
Authors of extension functions should beware.
[func-document-self-include] Does document("") refer to the containing
stylesheet without included stylesheets? Yes; see the verbiage about
"exactly the same as if the XML document containing the stylesheet was the
initial source document" in section 12.1.
[include-position] Should xsl:include occurring after other top-level
elements (especially xsl:template, xsl:param, xsl:variable) confer all the
effects of its elements occurring later in the including stylesheet? Yes,
"children...replace the xsl:include element" covers it.
[message-full-template] The syntax of xsl:message shows content: template.
Does this include xsl:element, etc.? Since there is no explicit
prohibition, as there is for xsl:attribute, then anything goes. Downstream
processing may not be able to handle everything, but that's not an XSLT
problem. I have asked for an enhancement in this area to provide better
control.
[output-text-newline] Should treatment of new-line characters be prescribed
for the text output method? This would have to be a feature request.
[pattern-document] Should the document() function be explicitly banned from
match patterns? The syntax already shows that it's banned from all the
axis/step and NodeTest stuff, but allowed in the predicate.
[variable-top-level-full-template] When xsl:variable and xsl:param are used
as top-level elements, they can contain template instructions. Is there any
way in which these instructions are more restricted than the same
instructions in xsl:template? No, you can use xsl:element and the like.
Specifically, is xsl:fallback available? Yes.
[with-param-full-template] The syntax of with-param shows content:
template. Does this include xsl:element, etc.? Yes, same as xsl:variable
above.
[XPath-concat-one-node-set] If concat() is given one argument consisting of
a node-set, why not concatenate the string values of all the nodes? (Note:
some processors currently allow this.) This would have to be a feature
request.
[XPath-string-length-diacriticals] Should string-length() determine when
diacritical marks are not distinct characters? No, processor should play
stupid.
[XPath-substring-diacriticals] Should substring() determine when
diacritical marks are not distinct characters? No, processor should play
stupid.

GROUP 3. Mike Kay items that I think are not vague
(p. 84) Some behaviors of round() are not specified. If so please be more
exact.
I sent a query to Mike Kay.
(P. 143) What is "imported into" when xsl:apply-imports is invoked in a
template in a stylesheet somewhere down the import tree? I don't know of
any ambiguous situations.
(P. 149) Multiple evaluations of with-param involving a function with a
side effect? Same response as choose-unselected-when-error above.



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC