Hi Christine, For your defence: this was technically an XPath question, and as such that is also relevant to XQuery :-)
Kind regards, Ghislain > On 1 Nov 2016, at 18:52, Schwartz, Christine <christine.schwa...@ptsem.edu> > wrote: > > Thank you to everyone who answered my question yesterday. I’m glad to know > that “./.” is the same as “.” except that the longer version will throw an > error if the context item is not a node. Since we are teaching beginners, I’m > going to suggest to my colleague that we use the shorter version “.” in the > example. > > Also, sorry I wrote to the XQuery list for an XSLT question. I’m just not > subscribed to an XSLT list, but really should be. After years of using XQuery > as my “hammer” I’m starting to use XSLT more when appropriate. > > Best, > > Chris > > > Christine Schwartz > Metadata Librarian and XML Database Administrator > Princeton Theological Seminary Library > > > > > From: W.S. Hager [mailto:wsha...@gmail.com] > Sent: Monday, October 31, 2016 6:12 PM > To: Michael Kay <m...@saxonica.com> > Cc: Schwartz, Christine <christine.schwa...@ptsem.edu>; talk@x-query.com > Subject: Re: [xquery-talk] Unusual XPath syntax question > > I just love to do .[1][1][1][1][1][1][1] > > > Op 31 okt. 2016 19:19 schreef "Michael Kay" <m...@saxonica.com>: > I agree with the other respondents: apart from giving an error if the context > item is not a node, "./." is precisely equivalent to ".". > > (Not sure why an XSLT question is appearing on the XQuery list...) > > There's a certain fondness for verbosity in some parts of the XSLT user > community. It's quite common to see "./price" where "price" would serve > perfectly well, or "price/text()" for "price"; or xsl:element and > xsl:attribute used where literal result elements would do the job, or (my > favourite gripe) > > <xsl:variable name="x"> > <xsl:value-of select="count(y)"/> > </xsl:variable> > > where <xsl:variable name="x" select="count(y)"/> would serve the purpose > better. > > And of course we've all seen things like <xsl:if test="contains(x, y) = > true()">. > > I think some XSLT programmers must be paid by the yard; alternatively the > language attracts those who love the sourd of their own keyboard. But "./." > isn't an expansion I have seen before. > > Michael Kay > Saxonica > > > On 31 Oct 2016, at 16:52, Schwartz, Christine > > <christine.schwa...@ptsem.edu> wrote: > > > > Hi, > > > > I'm hoping someone on this list can clarify my conundrum. > > > > I'm working with a colleague on a writing project and one of his examples > > uses this XPath syntax "./." in the starts-with() function within an XSLT > > stylesheet. I don't know what "./." means. I would think that "." alone > > would be sufficient to refer to the context node. > > > > Here's the example: > > > > <xsl:for-each select="//dim:field"> > > <xsl:if test="./@element='title'"> > > <xsl:choose> > > <xsl:when test="starts-with(./.,'The ')"> > > <datafield tag="245" ind1="1" ind2="4"> > > <subfield code="a"><xsl:value-of > > select="."/>.</subfield> > > </datafield> > > </xsl:when> > > <xsl:when test="starts-with(./.,'An ')"> > > <datafield tag="245" ind1="1" ind2="3"> > > <subfield code="a"><xsl:value-of > > select="."/>.</subfield> > > </datafield> > > </xsl:when> > > <xsl:when test="starts-with(./.,'A ')"> > > <datafield tag="245" ind1="1" ind2="2"> > > <subfield code="a"><xsl:value-of > > select="."/>.</subfield> > > </datafield> > > </xsl:when> > > <xsl:otherwise> > > <datafield tag="245" ind1="1" ind2="0"> > > <subfield code="a"><xsl:value-of > > select="."/>.</subfield> > > </datafield> > > Thanks, > > > > Chris > > > > Christine Schwartz > > Metadata Librarian and XML Database Administrator > > Princeton Theological Seminary > > Library > > P.O. Box 821 > > Princeton, NJ 08542 > > christine.schwa...@ptsem.edu > > (609) 497-7938 > > > > > > > > _______________________________________________ > > talk@x-query.com > > http://x-query.com/mailman/listinfo/talk > > > > _______________________________________________ > talk@x-query.com > http://x-query.com/mailman/listinfo/talk > _______________________________________________ > talk@x-query.com > http://x-query.com/mailman/listinfo/talk _______________________________________________ talk@x-query.com http://x-query.com/mailman/listinfo/talk