Re: [xsl] Generating an index of terms in a TEI P5 book MS

Subject: Re: [xsl] Generating an index of terms in a TEI P5 book MS
From: "Wendell Piez wapiez@xxxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 14 Jun 2016 15:51:59 -0000
Chuck --

My opinion only! but I think for-each-group[@group-by='.'] is much
nicer than using the distinct-values() function to iterate only over
values, not nodes.

Indeed it's necessary if you wish to do more than list the values. For
example, count how many you have ...

<xsl:for-each-group select="//term[@xml:lang='zh'])" group-by=".">
  <xsl:sort select="."/>
    <p count="{count(current-group())}>
      <xsl:value-of select="current-grouping-key()"/>
      <xsl:text> </xsl:text>
    </p>
</xsl:for-each-group>

It's a nice thing to show a workshop --

Cheers, Wendell


On Sun, Jun 12, 2016 at 8:43 AM, Charles Muller
acmuller@xxxxxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
wrote:
> On 6/12/2016 9:36 PM, Martin Honnen martin.honnen@xxxxxx wrote:
>>
>> On 12.06.2016 14:33, Charles Muller acmuller@xxxxxxxxxxxxxxx wrote:
>>
>>> I wonder if there is a way to eliminate the doubled entries with XSLT?
>>
>>
>> As you seem to have access to XSLT 2.0, you could simply use
>>
>> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
>> xpath-default-namespace="http://www.tei-c.org/ns/1.0"; version="2.0">
>>     <xsl:template match="TEI">
>>         <html>
>>             <head/>
>>             <body>
>>         <xsl:for-each select="distinct-values(//term[@xml:lang='zh'])">
>>           <xsl:sort select="."/>
>>        <p><xsl:value-of select="."/><xsl:text> </xsl:text></p>
>>          </xsl:for-each>
>>             </body>
>>         </html>
>>     </xsl:template>
>> </xsl:stylesheet>
>>
>
>
>
> OK, I'll try this as well. The following also does the trick:
>
>     <body>
>    <xsl:for-each select="//term[@xml:lang='zh'][not(preceding::node()=.)]
">
>           <xsl:sort select="."/>
>           <p><xsl:apply-templates/><xsl:text> </xsl:text></p>
>            </xsl:for-each>
>      </body>
>
>
> I deeply appreciate your help. This was the last piece I needed to do a
demo
> of using TEI-XML + XSLT at an upcoming DH Workshop.
>
> Regards,
>
> Chuck
>
>
> ---------------------------
> A. Charles Muller
>
> Graduate School of Humanities and Sociology
> Faculty of Letters
> University of Tokyo
> 7-3-1 HongE
, BunkyE
-ku
> Tokyo 113-8654, Japan
>
> Office Phone: 03-5841-3735
>
> Web Site: Resources for East Asian Language and Thought
> http://www.acmuller.net
>
> Twitter: @H_Buddhism
>



--
Wendell Piez | http://www.wendellpiez.com
XML | XSLT | electronic publishing
Eat Your Vegetables
_____oo_________o_o___ooooo____ooooooo_^

Current Thread