Print

Print


> Our programmer is running into a roadblock with the XSL based on how
we code the <dsc type="in-depth"> 
Could you elaborate a little on why this is causing a problem for you?


> a) having two or more style sheets that they could potentially use to
display the same XML in different ways 

Yes, we do this.  We have one style sheet that generates an HTML for web
display with hyperlinks, colored backrounds, TOC down the left, etc.  We
have a second style sheet that generates a "printer friendly" HTML, with
no hyperlinks, no color, TOC at the beginning, different margins, and
various other alterations that make for a better printed version.  We
run both at the same time to produce two separate versions of the
finding aid.


> b) displaying <dsc> c0s based based on an alphabetical (i.e.
non-linear/physical) premise.

The easiest way is to use the xsl:sort within the apply-templates to
tell the processor to sort the child elements, and specify what to sort
on.  Here's a simple example of output sorted at the c02 level.  You
could do the same thing at the dsc level to sort the c01's or at lower
levels to sort c03's c04's, etc.

<xsl:template match="c01">
   <!-- whatever c01 processing you want to do -->
   <xsl:apply-templates select="c02">
      <xsl:sort select="did/unittitle"/>
   </xsl:apply-templates>
</xsl:template>

<xsl:template match="c02">
   <!-- whatever you want the c02 to do (check for missing unitdate to
be inherited, etc) -->
   <!-- You could sort the c03's at this point if you wanted to in the
same manner as the c02's -->
</xsl:template>

<!-- etc etc etc -->

> because we depend on the structure of the EAD to let <c03> inherit
information from <c02> and <c01>, rather than repeating certain
information at each level, it could make the XSL cumbersome and
bear-like.

Relying on inheritance of information should be easily handled since you
always have access to the ancestor elements all the way up to the root
element, regardless of the order in which the child elements are
processed.  More importantly, presumably in your c02 (or c03 or lower)
templates you already have the inheritance handled since you've been
doing that all along; depending on how it's written that code should
still work as is, or with minor tweaking (I tried an abbreviated test
with c02's inheriting a unitdate if not present, and it seemed to work
fine).

Michele

+-----+-----+-----+-----+-----+-----+
Michele Combs.
Librarian for Manuscripts and Archives Processing.
Special Collections Research Center.
Syracuse University Library.
222 Waverly Avenue.
Syracuse, NY   13244.
+-----+-----+-----+-----+-----+-----+