You could use the generate-id() function. This will return a string value †that uniquely identifies a node. The string always begins with an alpha character, followed by a mix of alphanumeric characters.†

Generate an HTML ID for each series and subseries in the finding aid (say, on your title), something like:

† ††<xsl:element†name="a">
† † † † †<xsl:attribute†name="href">
† † † † † † ††<xsl:value-of†select="generate-id(current())"/>† † † † † † † †




And then where you're trying to create the subseries links in the series arrangement section, just generate a list of subseries unittitles linking to anchor tags for each child c0x [@level='subseries']. You use the same generate-id() function to create these anchor tags that you used above.


On Wed, Mar 28, 2012 at 12:16 PM, Franks, Russell <[log in to unmask]> wrote:

Iím hoping someone can help me.† I want for each series c01 arrangement statement to be able to link to each of its nested c02 subseries Ė much in the same way that an archdesc level arrangement statement contains links to each series within the collection.

I can reproduce the links for each subseries within their perspective series arrangement statement, but the problem is that while the links are generated correctly for series 1 to each nested subseries, the subseries links for series 2 link back to each of the subseries in series 1.

For example, Series 1 Subseries 1 links correctly, but Series 2, Subseries 1 links to Series 1 Subseries 1 and not to Series 2 Subseries 1 as it should. The same holds true for each subsequent series.

This is the code that generates the arrangement statement links for me.

<xsl:template match="archdesc/dsc/c01/arrangement/list/item">

††† <div style="margin-left:75pt">

†††††† <a>

††††††††††† † <xsl:attribute name="href">#subseries<xsl:number/>

†††††††††††††††††††† <xsl:number count="c02" from="c01"/>

††††††††††††††††††††††††††††††††††† ††††††††† </xsl:attribute>

††††††††††† † <xsl:apply-templates/>

†††††† </a>††

††† </div>


In my c01 level-series template I have the following,


<xsl:attribute name="name">

<xsl:text>series</xsl:text><xsl:number from="dsc" count="c01"/>


<xsl:call-template name="component-did"/>


In my c02-level-subseries template I have the following,


<xsl:attribute name="name">


<xsl:number from="dsc/c01" count="c02"/>


<xsl:call-template name="subseries-component-did"/>


This is a particularly large finding aid so it would be nice if folks could navigate within each series without excessive scrolling. †Iíve tried using for-each statements but to no avail. What am I missing? Any help would be greatly appreciated.


Russell Franks, MLIS

Librarian for Special and Archival Collections

Phillips Memorial Library

Providence College

1 Cunningham Square

Providence, RI 02918-0001


[log in to unmask]

[log in to unmask]

Joyce Chapman
Triangle Research Libraries Network
CB# 3926, Wilson Special Collections Library
Chapel Hill, NC 27514-8890
Phone: (919) 962-1345
Email:†[log in to unmask]