Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: [xml-dev] quiz on select vs copy-of

From: "Oleg A. Paraschenko" <olpa@-------.-->
To: Christian Nentwich <christian@----------.--->
Date: 9/2/2005 7:26:00 PM
Hello Christian,

  thank you for answering to Michael and Dimitri. What left for me is to
add some comments.

On Fri, 02 Sep 2005 12:01:49 +0100
Christian Nentwich <christian@s...> wrote:

> Michael, Dimitri.
> 
> you are right it shouldn't be a dark corner, but it IS in practice.

  Probably I used an incorrect word. The specification is very clear
explaining the differences. But how often do we read specifications?

  Here is my example of a "bug":

<x:variable name="v1" select="false()"/>
<x:variable name="v2"><x:copy-of select="false()"/></x:variable>

  I didn't expect that "v2" is RTF, but it is so.

<x:value-of select="not($v1)"/>  ===>  true
<x:value-of select="not($v2)"/>  ===>  false

  Hm, I've just found a similar example in the specification...


> This does do people's heads in... and it's a source of bugs. I've been
> called on site by clients just to find and fix this particular problem
> quite a few times.
> 
> The usual story goes as follows: "ah well we used to use select="" but 
> then we had to add some choose and if and had to use a child element".
> Boom.
> 
> Christian
> 
> 
> Michael Kay wrote:
> > This shouldn't be a dark corner, because the fact that nodes have
> > identity is pretty fundamental, but sadly there are lots of people who
> > aren't aware of the implications. The answer of course is (2).
> > 
> > Michael Kay
> > http://www.saxonica.com/  
> > 
> > 
> >>-----Original Message-----
> >>From: Oleg A. Paraschenko [mailto:olpa@x...] 
> >>Sent: 01 September 2005 20:45
> >>To: xml-dev
> >>Subject: [xml-dev] quiz on select vs copy-of
> >>
> >>  Hello,
> >>
> >>  do you know the dark corners of XSLT? Here is one. Compare two
> >>variables:
> >>
> >><xsl:variable name="v1" select="some-xpath"/>
> >><xsl:variable name="v2"><xsl:copy-of 
> >>select="some-xpath"/></xsl:variable>
> >>
> >>  Are "v1" and "v2" the same? I mean: can "v1" and "v2" be used in a
> >>program interchangeably? Answers:
> >>
> >>1) yes
> >>2) no
> >>3) implementation-dependant
> >>
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>.
> >>
> >>  The right answer is (2): no. Changing a use of "v1" to 
> >>"v2", or reverse,
> >>might change the result of a stylesheet. I'll post an example 
> >>later. Or
> >>you can provide your version.
> >>
> >>
> >>-- 
> >>Oleg Paraschenko  olpa@ http://xmlhack.ru/  XML news in Russian
> >>http://uucode.com/blog/  Generative Programming, XML, TeX, Scheme
> >>
> >>-----------------------------------------------------------------
> >>The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> >>initiative of OASIS <http://www.oasis-open.org>
> >>
> >>The list archives are at http://lists.xml.org/archives/xml-dev/
> >>
> >>To subscribe or unsubscribe from this list use the subscription
> >>manager: <http://www.oasis-open.org/mlmanage/index.php>
> >>
> > 
> > 
> > 
> > -----------------------------------------------------------------
> > The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> > initiative of OASIS <http://www.oasis-open.org>
> > 
> > The list archives are at http://lists.xml.org/archives/xml-dev/
> > 
> > To subscribe or unsubscribe from this list use the subscription
> > manager: <http://www.oasis-open.org/mlmanage/index.php>
> > 
> > 
> 
> 
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
> 
> The list archives are at http://lists.xml.org/archives/xml-dev/
> 
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>
> 


-- 
Oleg Paraschenko  olpa@ http://xmlhack.ru/  XML news in Russian
http://uucode.com/blog/  Generative Programming, XML, TeX, Scheme


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent