- From: <Toman_Vojtech@emc.com>
- Date: Fri, 22 Jan 2010 06:13:40 -0500
- To: <public-xml-processing-model-comments@w3.org>
Hi all,
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.
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.
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?
Regards,
Vojtech
--
Vojtech Toman
Principal Software Engineer
EMC Corporation
toman_vojtech@emc.com
http://developer.emc.com/xmltech
Received on Friday, 22 January 2010 11:14:27 UTC