- From: Innovimax SARL <innovimax@gmail.com>
- Date: Fri, 19 Sep 2008 09:24:12 +0200
- To: "Norman Walsh" <ndw@nwalsh.com>
- Cc: public-xml-processing-model-wg@w3.org
- Message-ID: <546c6c1c0809190024wa5f80cbs9732cf720844357c@mail.gmail.com>
Norm, Do you mean the spec at http://www.w3.org/XML/XProc/docs/langspec.html has changed ? It is still dated from August 21 Regards, Mohamed On Wed, Sep 17, 2008 at 1:15 PM, Norman Walsh <ndw@nwalsh.com> wrote: > "Innovimax SARL" <innovimax@gmail.com> writes: > > > I have still trouble to fully understand the code fragment provided as > > sample in the spec > > > > Especially this one > > > > [[ > > <p:pipeline type="ex:delete-in-div" > > xmlns:p="http://www.w3.org/ns/xproc" > > xmlns:ex="http://example.org/ns/ex" > > xmlns:h="http://www.w3.org/1999/xhtml"> > > <p:option name="divchild" required="true"/> > > > > <p:delete> > > <p:with-option name="match" select="concat('h:div/',$divchild)"> > > <p:namespaces xmlns:h="http://www.w3.org/1999/xhtml" > > xmlns:html="http://www.w3.org/1999/xhtml"/> > > </p:with-option> > > </p:delete> > > > > </p:pipeline> > > ]] > > > > In my understanding, the binding of the prefix "h" has been done on > > p:pipeline element, so we don't need to recall the binding on > > p:namespaces element, do we ? > > No, I suppose not, since it's already in-scope. But it's not wrong > to put it there and it does make the intent explicit. Still, it might > mislead someone into thinking that p:namespaces uses only the *declared* > namespaces not the in-scope ones, so I'll remove xmlns:h. > > > Furthermore again by the same rule ("Otherwise, the in-scope > > namespaces from the element providing the value are used."), we can > > completely get rid of p:namespaces in this case > > > > <p:delete> > > <p:with-option name="match" select="concat('h:div/',$divchild)" > > xmlns:html="http://www.w3.org/1999/xhtml"/> > > </p:delete> > > > > Am I right ? > > Yes, you could do that. This example is really just a setup ("here's > how you *could* do it") for the next example ("here's how you *should* > do it"). > > On further reflection, I'm happy with these examples as they stand. > However, I'll add a note to point out that it's not strictly > necessary. > > > Hence we got also > > [[ > > <?xml version='1.0'?> > > <p:pipeline type="ex:delete-in-div" > > xmlns:p="http://www.w3.org/ns/xproc" > > xmlns:ex="http://example.org/ns/ex" > > xmlns:h="http://www.w3.org/1999/xhtml"> > > <p:option name="divchild" required="true"/> > > > > <p:delete> > > <p:with-option name="match" select="concat('h:div/',$divchild)"> > > <p:namespaces binding="divchild"/><!-- this one makes full sense for > me --> > > Here you *do* need the second p:namespaces element with the xmlns:h > binding. > Otherwise you won't have one because: > > If a p:variable, p:with-option or p:with-param includes one or more > p:namespaces elements, then the union of all the namespaces > specified on those elements are used as the bindings for the > variable, option or parameter value. In this case, the in-scope > namespaces on the p:variable, p:with-option or p:with-param are > ignored. > > and > > If the binding attribute is specified, it must contain the name of a > single in-scope binding. The namespace bindings associated with that > binding are used. > > Since divchild is specified in a context where xmlns:h isn't bound, it > wouldn't > otherwise be bound. > > > </p:with-option> > > </p:delete> > > > > </p:pipeline> > > ]] > > I've made a few editorial corrections, please let us know if you're > unsatisfied with the result. > > Be seeing you, > norm > > -- > Norman Walsh <ndw@nwalsh.com> | The richness of life lies in memories > http://nwalsh.com/ | we have forgotten.--Cesare Pavese > -- Innovimax SARL Consulting, Training & XML Development 9, impasse des Orteaux 75020 Paris Tel : +33 9 52 475787 Fax : +33 1 4356 1746 http://www.innovimax.fr RCS Paris 488.018.631 SARL au capital de 10.000 €
Received on Friday, 19 September 2008 07:24:56 UTC