This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
In the current draft F+O 3.1, section 18.2 contains the spurious rule 3. Conversion from an xs:string to a value of type xs:QName, a type derived from xs:QName or a type derived from xs:NOTATION is permitted only if the xs:string is written as a string literal. This rule was present in the 2.0 spec but was removed in 3.0. Looking at the source text, it appears that it was present in the 3.0 source marked with diff="del" markup. It looks as if, when the 3.1 text was generated from the 3.0 text, the diff="del" attribute was removed, but the paragraph itself was retained. A quick check shows there are other places where this has happened. For example section 4.7.4, last bullet, contains the text "The suffix is set to contain all passive characters to the right of the rightmost active character in the fractional part of the sub-picture." which appears in 3.0 as "The suffix is set to contain all passive characters to the right of the rightmost active character in the sub-picture." - the source XML for 3.0 contains the extra phrase with diff="del" markup.
Fortunately there are not many affected sections. Here is a complete list. (1) from xpath-functions.xml <?xml version="1.0" encoding="UTF-8"?> <diffs> <diff section="func-signatures"> <p xmlns:e="http://www.w3.org/1999/XSL/Spec/ElementSyntax" diff="del" at="F">In some cases, the static type returned by a function depends on the type(s) of its argument(s). These special functions are indicated by using <emph> <term>bold italics</term> </emph> for the return type. The semantic rules specifying the type of the value returned are documented in the function definition. The rules are described more formally in [the Formal Semantics].</p> </diff> <diff section="datatypes"> <p xmlns:e="http://www.w3.org/1999/XSL/Spec/ElementSyntax" diff="del" at="M">When XSD 1.1 is supported, one additional type needs to be added to these diagrams: the type <code>xs:dateTimeStamp</code>, which is derived from <code>xs:dateTime</code>.</p> </diff> <diff section="errors"> <phrase xmlns:e="http://www.w3.org/1999/XSL/Spec/ElementSyntax" diff="del" at="F"> and [Formal Semantics]</phrase> </diff> <diff section="analysing-picture-string"> <phrase xmlns:e="http://www.w3.org/1999/XSL/Spec/ElementSyntax" diff="del" at="M">the fractional part of</phrase> </diff> <diff section="constructor-qname-notation"> <p xmlns:e="http://www.w3.org/1999/XSL/Spec/ElementSyntax" diff="del" at="F"> Conversion from an <code>xs:string</code> to a value of type <code>xs:QName</code>, a type derived from <code>xs:QName</code> or a type derived from <code>xs:NOTATION</code> is permitted only if the <code>xs:string</code> is written as a string literal. This applies whether the conversion is expressed using a constructor function or using the "cast as" syntax. Such a conversion can be regarded as a pseudo-function, which is always evaluated statically. It is also permitted for these constructors and casts to take a dynamically-supplied argument in the normal manner, but as the casting table (see <specref ref="casting-from-primitive-to-primitive"/>) indicates, the only arguments that are supported in this case are values of type <code>xs:QName</code> or <code>xs:NOTATION</code> respectively.</p> </diff> <diff section="casting-from-primitive-to-primitive"> <phrase xmlns:e="http://www.w3.org/1999/XSL/Spec/ElementSyntax" diff="del" at="L">Casting to a type that is not atomic raises <phrase diff="add" at="M">a static error</phrase>: <xerrorref spec="XP" class="ST" code="0051" type="type"/>.</phrase> </diff> </diffs> (2) from function-catalog.xml <?xml version="1.0" encoding="UTF-8"?> <diffs> <diff section="abs"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="ceiling"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="floor"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="round"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="round-half-to-even"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="format-integer"> <phrase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="K">any</phrase> </diff> <diff section="normalize-unicode"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="D">See <bibref ref="charmod-normalization"/> for a description of the normalization forms.</p> </diff> <diff section="boolean"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">The static semantics of this function are described in [Formal Semantics].</p> </diff> <diff section="QName"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">Note that unlike the <code>xs:QName</code> constructor, this function does not require a string literal as the argument.</p> </diff> <diff section="number"> <phrase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="L">or the context item</phrase> </diff> <diff section="number"> <phrase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="L">, or the context item after atomization,</phrase> </diff> <diff section="concatenate"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="distinct-values"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">The static type of the result is a sequence of prime types as defined in [Formal Semantics].</p> </diff> <diff section="insert-before"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="remove"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="reverse"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="subsequence"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="zero-or-one"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="one-or-more"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="exactly-one"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="deep-equal"> <phrase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="A-E42"> or namespace bindings</phrase> </diff> <diff section="union"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="intersect"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="except"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="avg"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="max"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="min"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="sum"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="doc"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="collection"> <p xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="F">For detailed type semantics, see [Formal Semantics].</p> </diff> <diff section="unparsed-text-available"> <phrase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fos="http://www.w3.org/xpath-functions/spec/namespace" diff="del" at="L">If the second argument is an empty sequence, the function behaves as if the second argument were omitted.</phrase> </diff> </diffs>
The corrections have been made. (It seems that the diff markup in the function-catalog file was handled correctly, in that sections marked as deleted were actually deleted in the conversion. In the xpath-functions file, most of the fragments marked as deleted had already gone from the 3.1 draft, but four or five were left and have been removed by hand.) Marked as editorial.