Thanks for everyone's response. My issue is now solved.
Edward
On Tue, Aug 2, 2011 at 8:33 AM, Ethan Gruber <[log in to unmask]> wrote:
> +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.
>> >
>>
>
|