- From: Alex Milowski <alex@milowski.org>
- Date: Fri, 7 Sep 2007 08:30:43 -0700
- To: public-xml-processing-model-wg@w3.org
On 9/7/07, Henry S. Thompson <ht@inf.ed.ac.uk> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Alex Milowski writes: > > > So what is the advisory going to say: > > Something such as "The output of this step may require (one or more > of) [namespace fixup, xml:base fixup, xml:lang fixup] before > serialization, see section 2.6." > > > That list would have to include: > > > > p:add-attribute > > p:insert > > p:replace > > p:rename > > p:wrap > > p:unwrap > > p:set-attributes > > p:xslt > > p:pack > > p:viewport > > > which is a third of our required steps. To me, that's an admission that > > we have a problem that we don't want to solve. > > The fact that we haven't spelled out the fixes in detail is not, in my > view, a bug. Rather, it's an acknowledgement that we don't want to > adjudicate between all the methods that e.g. XSLT1.0 processors and > XInclude processors have developed for doing fixup. XInclude doesn't require namespace fixup unless you use the xpointer scheme (which is effectively dead) or a fragement identifier. In that case, it is exactly like p:insert. p:insert doesn't require any fixup if you just copy the in-scope namespaces. I believe we have several steps line p:insert where we need to specify what the correct behavior is with regards to in-scope namespaces. For example, p:insert or p:replace take whole element subtrees and put the into another document. If those elements have dependencies on in-scope namespaces, you'd break the content if the in-scope namespaces aren't copied. If you rely upon namespace fixup, you'd only get namespace declarations for the elements and attributes of that subtree and not extra ones that exist for the content (as they weren't copied). So we have two kinds of issues with regards to namespaces: * fixup related issues * step semantics with regards to in-scope namespaces p:insert, p:replace have "semantics" issues and the rest all have fixup issues. You could include p:xinclude as the xpointer/fragement identifier case is just like p:insert. In the end, most of our "fixup" rules for our steps are trivial. For example, if you add an attribute, you need to make sure the namespace name for that attribute has a declaration. That's trivial as there are plenty of algorithms for generating a unique prefix if necessary. As such, why wouldn't be specify a consistent behavior? -- --Alex Milowski "The excellence of grammar as a guide is proportional to the paucity of the inflexions, i.e. to the degree of analysis effected by the language considered." Bertrand Russell in a footnote of Principles of Mathematics
Received on Friday, 7 September 2007 16:00:26 UTC