Print

Print


+1 for Shawn's example.

Ethan

On Mon, Aug 1, 2011 at 9:30 PM, Shawn Averkamp <[log in to unmask]>wrote:

> You could also combine the best of both solutions with:
>
> <xsl:for-each select="//dc:subject">
>       <tr>
>            <td scope="col" class="width1"/>
>            <th scope="col" class="width20">Subject</th>
> <xsl:if test="@xsi:type">
> <xsl:text> (</xsl:text)
>  <xsl:value-of select="substring-after(@xsi:type, ':')"/>
> <xsl:text>)</xsl:text>
>  </xsl:if>
> <xsl:text>: </xsl:text>
>             <td scope="col" class="widthAuto">
>                <xsl:value-of select="."/>
>            </td>
>       </tr>
> </xsl:for-each>
>
> ...which would allow for the addition of other controlled subject
> vocabularies (or none at all) without having to update your stylesheet.
>
> -----
> Shawn Averkamp
> Metadata Librarian
> University of Alabama Libraries
> [log in to unmask]
>
>
>
>
> On Mon, Aug 1, 2011 at 6:03 PM, Enrico Silterra <[log in to unmask]> wrote:
>
> > something like
> > <xsl:for-each select="//dc:subject">
> > >      <tr>
> > >       <td scope="col" class="width1"/>
> > >
> > <xsl:choose>
> > <xsl:when test="@xsi:type='dcterms:LCSH'">
> >   <th scope="col" class="width20">Subject: LCSH </th>
> > </xsl:when>
> > <xsl:when test="@xsi:type='dcterms:TGM'>
> >   <th scope="col" class="width20">Subject: TGM</th>
> > </xsl:when>
> > </xsl:choose>
> >
> > >       <td scope="col" class="widthAuto"><xsl:value-of select="." />
> > >       </td>
> > >      </tr>
> > "
> > On Mon, Aug 1, 2011 at 5:54 PM, Edward M. Corrado <[log in to unmask]>
> > wrote:
> > > Hi,
> > >
> > > I am trying to do something with an xsl stylesheet (1.0) that seems
> > > like it should be pretty simple, but I can't figure out how to do it
> > > or find any examples on the Web that work-. I have a set of Dublin
> > > Core XML records that have the subjects as either LCSH or TGM. The
> > > type of subject is identified by xsi:type. So for an individual
> > > record, the subjects may look something like this:
> > >
> > >         <dc:subject
> xsi:type="dcterms:LCSH">Drum--Kurdistan</dc:subject>
> > >         <dc:subject xsi:type="dcterms:TGM">Drums (Musical
> > > instruments)--Kurds</dc:subject>
> > >
> > > I want this to display something like:
> > >
> > >           Subject (LCSH): Drum--Kurdistan
> > >           Subject (TGM): Drums (Musical instruments)--Kurds
> > >
> > >
> > > The following works fine to print the subjects (as part of an HTML
> > > table) but (obviously) does not take into account the type of subject
> > > heading:
> > >
> > >   <xsl:for-each select="//dc:subject">
> > >      <tr>
> > >       <td scope="col" class="width1"/>
> > >        <th scope="col" class="width20">Subject: </th>
> > >       <td scope="col" class="widthAuto"><xsl:value-of select="." />
> > >       </td>
> > >      </tr>
> > >   </xsl:for-each>
> > >
> > > I need some sort of logic to test what the value of xsi:type is but
> > > I'm lost. I have been trying to find examples on how to do this on th
> > > Web and in a few XSLT books we have in the library with no luck. Any
> > > ideas?
> > >
> > > Edward
> > >
> >
> >
> >
> > --
> > Enrico Silterra Software Engineer
> > 501 Olin Library Cornell University Ithaca NY 14853
> > Voice: 607-255-6851 Fax:     607-255-6110 E-mail: [log in to unmask]
> > http://www.library.cornell.edu/dlit
> > "Out of the crooked timber of humanity no straight thing was ever made"
> > CONFIDENTIALITY NOTE
> > The information transmitted, including attachments, is intended only
> > for the person or entity to which it is addressed and may contain
> > confidential and/or privileged material. Any review, retransmission,
> > dissemination or other use of, or taking of any action in reliance
> > upon, this information by persons or entities other than the intended
> > recipient is prohibited. If you received this in error, please contact
> > the sender and destroy any copies of this document.
> >
>