[Bug 12184] Circularity in xs:override

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

--- Comment #1 from Michael Kay <mike@saxonica.com> 2011-03-03 08:41:28 UTC ---
To resolve this, I suggest we add some explanation after the definition "If a
schema document Dnew contains an <override> element E pointing to some schema
document Dold, then schema(Dnew) contains ...."

Specifically:

Note: If the above definition is naively translated into an algorithm, the
algorithm may fail to terminate in the case where the graph of schema documents
contains cycles. To guarantee termination, the algorithm must detect when it
has reached closure, that is, when further computation will have no effect on
the outcome. In particular, it is useful to recognize (a) that it is possible
to terminate as soon as conflicting components have been generated (for
example, two different type definitions with the same name), and (b) that when
override(E, D) (for some E and D) is equivalent to D, no new schema components
will be contributed by further processing: this can be detected either by
comparing the input and output of the override transformation using a
comparator such as the XPath fn:deep-equal function, or by observing the
conditions that cause override(E, D) to be idempotent, for example the fact
that E is empty.

-- 
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 Thursday, 3 March 2011 08:41:30 UTC