- From: Norman Walsh <ndw@nwalsh.com>
- Date: Wed, 13 Aug 2008 13:59:04 -0400
- To: public-xml-processing-model-wg@w3.org
- Message-ID: <m2proc4x07.fsf@nwalsh.com>
/ Toman_Vojtech@emc.com was heard to say: |> |> <p:pipeline exclude-inline-prefixes="#all"> |> .... |> <p:group xmlns:d="my-new-namespace"> |> .... |> <p:inline> |> <root name="d:foo"/> |> </p:inline> |> .... |> </p:group> |> .... |> </p:pipeline> |> |> Would produce: |> |> <root xmlns:d="my-new-namespace" name="d:foo"/> |> | | I am sorry if I don't see something, but how can this be so? How can the | XProc processor know (without a schema information) that the value of | root/@name is a QName and not just a literal string? It doesn't know anything about the value or its type. The example is a little confusing because it attempts to illustrate the case where the excluding namespaces (a) hurts and (b) isn't corrected by namespace fixup. The #all on p:pipeline sets the excluded prefixes to "p:" (because that's the only prefix in-scope on that element). When "d:" is subsequently added, it isn't excluded, so it comes through. | If I had a pipeline | like this: | | <p:pipeline exclude-inline-prefixes="#all"> | .... | <p:group xmlns:d="my-new-namespace"> | .... | <p:inline> | <root name="c:the-third-letter-in-alphabet"/> | </p:inline> | <p:inline> | <root name="d:the-fourth-letter-in-alphabet"/> | </p:inline> | .... | </p:group> | .... | </p:pipeline> | | I would be badly surprised if I got something like this as the result: | | <root name="c:the-third-letter-in-alphabet"/> | <root xmlns:d="my-new-namespace" | name="d:the-fourth-letter-in-alphabet"/> No, you'd get this: <root xmlns:d="my-new-namespace" name="c:the-third-letter-in-alphabet"/> <root xmlns:d="my-new-namespace" name="d:the-fourth-letter-in-alphabet"/> On neither element would d: be excluded. Now, you might also be surprised that this: <p:pipeline xmlns:d="my-new-namespace" exclude-inline-prefixes="#all"> .... <p:group> .... <p:inline> <root name="c:the-third-letter-in-alphabet"/> </p:inline> <p:inline> <root d:name="some value"/> </p:inline> .... </p:group> .... </p:pipeline> produces <root name="c:the-third-letter-in-alphabet"/> <root xmlns:d="my-new-namespace" d:name="some value"/> but that's just namespace fixup in action. Be seeing you, norm -- Norman Walsh <ndw@nwalsh.com> | A life, admirable at first sight, may http://nwalsh.com/ | have cost so much in imposed | liabilities, chores and self-abasement, | that, brilliant though it appears, it | cannot be considered other than a | failure. Another, which seems to have | misfired, is in reality a triumphant | success, because it has cost so | little.--Henry De Montherlant
Received on Wednesday, 13 August 2008 17:59:48 UTC