Speaking of in-scope namespaces...

I think this is another way of looking at the problem Alex has been
describing with insert and replace. I'm not sure I think it's related
to namespace fixup at all.

Consider this pipeline:

<p:pipeline>
  <p:input port="source">
    <p:inline>
       <doc xmlns="nonsuri" xmlns:a="nsauri" xmlns:b="nsburi" xmlns:c="nscuri">
         <content/>
       </doc>
    </p:inline>
  </p:input>

  <p:identity>
    <p:input port="source" xmlns:xxx="nonsuri">
             select="xxx:doc/xxx:content"/>
  </p:identity>
</p:pipeline>

I think we all intend for the namespace bindings on the output from
the identity step to include all of the bindings on the original
document.

But I'm not sure we say that very clearly and I wonder if we'd be
helping things if we did.

In 5.1, we say:

  The select expression, if specified, applies the specified [XPath
  1.0] select expression to the document(s) that are read. Each node
  selected is wrapped in a document and provided to the input port. In
  other words, ...

Perhaps we should say instead:

  The select expression, if specified, applies the specified [XPath
  1.0] select expression to the document(s) that are read. Each element
  selected is copied into a new document where it becomes the document
  element of that document. The in-scope namespaces and base URI of the
  original element node MUST be preserved.

  In other words, ...

                                        Be seeing you,
                                          norm

-- 
Norman Walsh <ndw@nwalsh.com> | Even while a thing is in the act of
http://nwalsh.com/            | coming into existence, some part of it
                              | has already ceased to be.--Marcus
                              | Aurelius

Received on Friday, 7 September 2007 19:04:54 UTC