Subject: Re: Re: Output validation with XSLT 2.0
From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx>
Date: Sat, 3 May 2008 22:29:54 +0530
|
Thanks, Ken and Martin for useful explanations ...
I agree to the points mentioned, and am now more clear about this topic.
On 5/3/08, G. Ken Holman <gkholman@xxxxxxxxxxxxxxxxxxxx> wrote:
> At 2008-05-03 21:49 +0530, Mukul Gandhi wrote:
> > On 5/3/08, G. Ken Holman <gkholman@xxxxxxxxxxxxxxxxxxxx> wrote:
> > > Anyway, unused namespace declarations are innocuous in the result, so
> this
> > > is only an aesthetic issue.
> >
> > I agree.
> >
> > But the declaration,
> xmlns:xs="http://www.w3.org/2001/XMLSchema"
> > generated in the output XML is not being used anywhere (i.e., there is
> > no reference to the xs: prefix in the generated XML).
> >
>
> That is *your* problem, not the processor's problem. You added the
> namespace node to the result on the document element of the result ... what
> if 100 levels deep, 10 megabytes away from the start tag of the document
> element, you needed that namespace node to be in scope?
>
> > Shouldn't the processor be more intelligent to avoid generating any
> > namespace declarations which are used nowhere in the output?
> >
>
> By what criteria could that decision possibly be made?
>
> > Probably this could be a minor enhancement request for Saxon :)
> >
>
> I agree with Colin: enhancements shouldn't break conformance.
>
> At 2008-05-03 21:57 +0530, Mukul Gandhi wrote:
> > I would like to learn how this could be non-compliant ...
> >
>
> Because the specification requires all attached namespace nodes to be copied
> to the result tree. Since you didn't prune the namespace node for XSD, it
> is still attached to the literal result element, so it must be copied.
>
> And the specification cannot imply its removal or be changed to wait for
> your test of use: the result tree can be instantaneously serialized, which
> would include any attached namespace nodes. As soon as an element's content
> is begun, that element's start tag is allowed to be serialized to the output
> without keeping it around. Remember the result tree cannot be inspected.
> This allows an application not to keep the result tree in memory before
> serialization. Your "enhancement" would break so many aspects of
> implementation.
>
> I hope this helps.
>
> . . . . . . . . . . . Ken
>
> > On 5/3/08, Colin Paul Adams <colin@xxxxxxxxxxxxxxxxxx> wrote:
> > > >>>>> "Mukul" == Mukul Gandhi <gandhi.mukul@xxxxxxxxx> writes:
> > >
> > > Mukul> Probably this could be a minor enhancement request for
> > > Mukul> Saxon :)
> > >
> > > I can't see Michael accepting it, as it would be non-compliant.
> >
>
>
> --
> World-wide corporate, govt. & user group XML, XSL and UBL training
> RSS feeds: publicly-available developer resources and training
> G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
> Crane Softwrights Ltd.
> http://www.CraneSoftwrights.com/s/
> Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
> Male Cancer Awareness Nov'07
> http://www.CraneSoftwrights.com/s/bc
> Legal business disclaimers:
> http://www.CraneSoftwrights.com/legal
>
>
--
Regards,
Mukul Gandhi
|