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

Reply via email to