- From: Norman Walsh <ndw@nwalsh.com>
- Date: Wed, 10 Feb 2010 16:22:21 -0500
- To: public-xml-processing-model-comments@w3.org
- Message-ID: <m28wb04whe.fsf@nwalsh.com>
"Toman_Vojtech@emc.com" <Toman_Vojtech@emc.com> writes:
> I just encountered a small problem with options and variables.
>
> Section 3.2 says: "The scope of option and variable names is determined
> by where they are declared. When an option is declared with p:option (or
> a variable with p:variable), unless otherwise specified, its scope
> consists of the sibling elements that follow its declaration and the
> descendants of those siblings."
>
> So what happens in this case:
>
> <p:pipeline version="1.0">
> <p:option name="foo" select="'bar'"/>
> <p:variable name="foo" select="'baz'"/>
> <p:identity/>
> </p:pipeline>
>
> Should it run (with the variable "shadowing" the option value), or
> should you get a static error? In our implementation, you currently get
> err:XS0004: "It is a static error to declare two or more options on the
> same step with the same name." But I don't think that err:XS0004
> describes the essence of the problem really well.
I think that should be an error. I think we should generalize
err:XS0004 to say that it's an error to have two or more sibling
option or variable declarations that attempt to declare the same name.
> And what about this case:
>
> <p:pipeline version="1.0">
> <p:option name="foo" select="'bar'"/>
> <p:group>
> <p:variable name="foo" select="'baz'"/>
> <p:identity/>
> </p:group>
> </p:pipeline>
>
> Should it fail, too? Or does the variable "shadow" the option? I just
> found out that in our implementation, that is exactly what happens at
> the moment.
Do we all agree that in this case:
<p:pipeline version="1.0">
<p:variable name="foo" select="'bar'"/>
<p:group>
<p:variable name="foo" select="'baz'"/>
<p:identity/>
</p:group>
</p:pipeline>
Shadowing is the expected (and correct) behavior?
> I think the behavior should be the same both of the cases above: either
> a static error (do we need a new one or is loosening the description of
> err:XS0004 enough?), or it should just work.
>
> What do you think?
We could add a rule that says that variable names are never allowed
to shadow option names, but I'm not sure it's worth the effort.
Be seeing you,
norm
--
Norman Walsh <ndw@nwalsh.com> | Everything has been said before, but
http://nwalsh.com/ | since nobody every listens we have to
| keep going back and beginning all over
| again.--André Gide
Received on Wednesday, 10 February 2010 21:22:55 UTC