Re: [CODE4LIB] XSLT Advice
There are a number of experienced xslt'ers here. Post your example to the group so we can all learn. Cheers Stuart On Wednesday, June 3, 2015, Matt Sherman matt.r.sher...@gmail.com wrote: Hi all, I am making a few corrections on an oai_dc.xslt file for our DSpace instance I slightly botched modifying to integrate some custom metadata into a dc.identifier citation in the OAI-PMH harvest. I need to get proper conditionals so it can display and harvest the metadata correctly and not run when there is no data in those fields. I have a pretty good idea what I need to do, and if this were like JavaScript or Python I could probably muddle through. The trouble is that I don't know the conditional syntax for XSLT quite well enough to know what I can do and thus need to do. Plus the online resources for learning/referencing XSLT for this are a bit shallow for what I need hence asking the group. So if there is anyone who knows XSLT really well that would be willing to talk with me for a bit to help me work through what I need to get the syntax to work like I want I would appreciate it. Thanks. Matt Sherman -- -- ...let us be heard from red core to black sky
Re: [CODE4LIB] XSLT Advice
I agree with Stuart, post the example here. Or if you want more real-time chat there's always #code4lib IRC. For an XSLT resource, Dave Pawson's site is great: http://www.dpawson.co.uk/xsl/sect2/sect21.html Ryan Wick -Original Message- From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Stuart A. Yeates Sent: Tuesday, June 02, 2015 11:46 AM To: CODE4LIB@LISTSERV.ND.EDU Subject: Re: [CODE4LIB] XSLT Advice There are a number of experienced xslt'ers here. Post your example to the group so we can all learn. Cheers Stuart On Wednesday, June 3, 2015, Matt Sherman matt.r.sher...@gmail.com wrote: Hi all, I am making a few corrections on an oai_dc.xslt file for our DSpace instance I slightly botched modifying to integrate some custom metadata into a dc.identifier citation in the OAI-PMH harvest. I need to get proper conditionals so it can display and harvest the metadata correctly and not run when there is no data in those fields. I have a pretty good idea what I need to do, and if this were like JavaScript or Python I could probably muddle through. The trouble is that I don't know the conditional syntax for XSLT quite well enough to know what I can do and thus need to do. Plus the online resources for learning/referencing XSLT for this are a bit shallow for what I need hence asking the group. So if there is anyone who knows XSLT really well that would be willing to talk with me for a bit to help me work through what I need to get the syntax to work like I want I would appreciate it. Thanks. Matt Sherman -- -- ...let us be heard from red core to black sky
Re: [CODE4LIB] Migrating a Yahoo group's messages?
Hi Chris, If you have at login for the Yahoo group, you should be able to use ThunderBird to connect and download all the of list email, to keep it as an archive (it will be in MBOX format). I'm not sure how you would then push it back up into an online email list, however. Kari Smith MIT Institute Archives and Special Collections -Original Message- From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Chris Edwards Sent: Tuesday, June 02, 2015 1:20 PM To: CODE4LIB@LISTSERV.ND.EDU Subject: [CODE4LIB] Migrating a Yahoo group's messages? All, I belong to a listserv that, unfortunately when it was established back in 2007, was set up as a yahoo group. m looking for a way to archive the group's email and move it to another platform, something that will be searchable and will NOT be a yahoo group. Has anyone here ever had to do something like this? This group was Neo-izedhttp://yahoogroupedia.pbworks.com/w/page/68466246/Yahoo%20Groups%20Neo#History along with the others back in 2013 and Im having trouble finding any tools to export the messages. There seems to be a solutionhttp://www.personalgroupware.com/ but this software dumps the messages into a proprietary data base that can't be read any other way. There is another perl scripthttp://archiveteam.org/index.php?title=Yahoo!_Groups that looks good, but may not work with the newer style of yahoo group. Any suggestions or assistance would be most appreciated. Thanks Chris -- Chris Edwards Head, Digital Services Getty Research Institute 310.440.6648
[CODE4LIB] Job: Head of Collection Services at Washington and Lee University
Head of Collection Services Washington and Lee University Lexington, VA Washington and Lee University Library seeks an innovative and service-oriented leader for the Collection Services Department. The Head of Collection Services coordinates development of all library collections, manages the $1.3 million materials budget, contractual vendor services, and chairs the Collection Management Committee. The position has primary responsibility for establishing transformative workflows that meet evolving needs in every stage of the resource lifecycle. The Head of Collection Services oversees the various resource management and discovery systems, including the ILS, discovery layer, archival management system, and institutional repository. This position will lead in the selection and implementation of a new integrated library system, and supervises the Digital Scholarship Librarian, 1 professional staff, and 4.5 support staff. Review of applications will begin immediately and continue until the position is filled. To view the full job description and to apply online, visit us at http://jobs.wlu.edu/postings/2457 The University Library is a student-centered organization. The University recently launched a significant Digital Humanities initiative in which the University Library plays a major role by collaborating with faculty to integrate DH into the curriculum and research projects. Additional information about the university's library services can be found at http://library.wlu.edu/. Founded in 1749, Washington and Lee University is a highly selective liberal arts college located in the Shenandoah Valley of western Virginia with 2250 students. Additional information about the university can be found at http://www.wlu.edu/ Washington and Lee and the University Library are interested in candidates committed to high standards of scholarship and professional activities, and to the development of a campus climate that supports equality and diversity among its faculty, staff, and students. The University is an Equal Opportunity Employer. Brought to you by code4lib jobs: http://jobs.code4lib.org/job/21349/ To post a new job please visit http://jobs.code4lib.org/
[CODE4LIB] XSLT Advice
Hi all, I am making a few corrections on an oai_dc.xslt file for our DSpace instance I slightly botched modifying to integrate some custom metadata into a dc.identifier citation in the OAI-PMH harvest. I need to get proper conditionals so it can display and harvest the metadata correctly and not run when there is no data in those fields. I have a pretty good idea what I need to do, and if this were like JavaScript or Python I could probably muddle through. The trouble is that I don't know the conditional syntax for XSLT quite well enough to know what I can do and thus need to do. Plus the online resources for learning/referencing XSLT for this are a bit shallow for what I need hence asking the group. So if there is anyone who knows XSLT really well that would be willing to talk with me for a bit to help me work through what I need to get the syntax to work like I want I would appreciate it. Thanks. Matt Sherman
Re: [CODE4LIB] Migrating a Yahoo group's messages?
You might want to look at Emailchemy (http://www.weirdkid.com/products/emailchemy/) to create .mbox files. Stanford also has been working on a tool (https://library.stanford.edu/spc/more-about-us/projects-and-initiatives/epadd-project) that is expected to be released by the end of June that works with .mbox and IMAP. Lynda Lynda Schmitz Fuhrig Electronic Records Archivist Digital Services Division Smithsonian Institution Archives siarchives.si.edu Blog ▪ Facebook ▪ YouTube ▪ Flickr Commons Explore the Archives’ collections online. -Original Message- From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Kari R Smith Sent: Tuesday, June 02, 2015 1:50 PM To: CODE4LIB@LISTSERV.ND.EDU Subject: Re: [CODE4LIB] Migrating a Yahoo group's messages? Hi Chris, If you have at login for the Yahoo group, you should be able to use ThunderBird to connect and download all the of list email, to keep it as an archive (it will be in MBOX format). I'm not sure how you would then push it back up into an online email list, however. Kari Smith MIT Institute Archives and Special Collections -Original Message- From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Chris Edwards Sent: Tuesday, June 02, 2015 1:20 PM To: CODE4LIB@LISTSERV.ND.EDU Subject: [CODE4LIB] Migrating a Yahoo group's messages? All, I belong to a listserv that, unfortunately when it was established back in 2007, was set up as a yahoo group. m looking for a way to archive the group's email and move it to another platform, something that will be searchable and will NOT be a yahoo group. Has anyone here ever had to do something like this? This group was Neo-izedhttp://yahoogroupedia.pbworks.com/w/page/68466246/Yahoo%20Groups%20Neo#History along with the others back in 2013 and Im having trouble finding any tools to export the messages. There seems to be a solutionhttp://www.personalgroupware.com/ but this software dumps the messages into a proprietary data base that can't be read any other way. There is another perl scripthttp://archiveteam.org/index.php?title=Yahoo!_Groups that looks good, but may not work with the newer style of yahoo group. Any suggestions or assistance would be most appreciated. Thanks Chris -- Chris Edwards Head, Digital Services Getty Research Institute 310.440.6648
Re: [CODE4LIB] XSLT Advice
Cool. I talked to Ron via phone so I am getting a better picture, but I am still happy to take more insights. So the larger context. I inherited a DSpace instance with three custom metadata fields which actually have some useful publication information, though they improperly titled them in by associating them with a dc prefix but there were two many to fix quickly and they haven't broken DSpace yet so we continue. So I added to the XSL to pull the data within the the custom fields to display publication name Vol. publication volume Issue publication issue. That worked really well until I realized that there was no conditional so even when the fields are empty I still get: dc:identifierVol. Issue/dc:identifier So here are the Custom Metadata fields: dc.publication.issue dc.publication.name dc.publication.volume Here is the customized XSLT, with dc.identifier added for context of what the rest of the sheet looks like. !-- dc.identifier -- xsl:for-each select=doc:metadata/doc:element[@name='dc']/doc:element[@name='identifier']/doc:element/doc:field[@name='value'] dc:identifierxsl:value-of select=. //dc:identifier /xsl:for-each !-- dc.identifier.* -- xsl:for-each select=doc:metadata/doc:element[@name='dc']/doc:element[@name='identifier']/doc:element/doc:element/doc:field[@name='value'] dc:identifierxsl:value-of select=. //dc:identifier /xsl:for-each !-- dc.publication fields to dc.identifier -- dc:identifierxsl:value-of select=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='name']/doc:element/doc:field[@name='value']/xsl:text Vol. /xsl:textxsl:value-of select=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='volume']/doc:element/doc:field[@name='value']/xsl:text Issue /xsl:textxsl:value-of select=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='issue']/doc:element/doc:field[@name='value']//dc:identifier Ron suggested that using choose and when and that does seem to make the most sense. The other trickiness is that I have found that some of these fields as filled when others are blank, such as their being a volume but not an issue. So I need to figure out how to test multiple fields so that I can have it display differently dependent on what has data or not at all none of the fields are filled, which is the case in items such as posters. So any thoughts would help. Thanks. On Tue, Jun 2, 2015 at 2:50 PM, Wick, Ryan ryan.w...@oregonstate.edu wrote: I agree with Stuart, post the example here. Or if you want more real-time chat there's always #code4lib IRC. For an XSLT resource, Dave Pawson's site is great: http://www.dpawson.co.uk/xsl/sect2/sect21.html Ryan Wick -Original Message- From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Stuart A. Yeates Sent: Tuesday, June 02, 2015 11:46 AM To: CODE4LIB@LISTSERV.ND.EDU Subject: Re: [CODE4LIB] XSLT Advice There are a number of experienced xslt'ers here. Post your example to the group so we can all learn. Cheers Stuart On Wednesday, June 3, 2015, Matt Sherman matt.r.sher...@gmail.com wrote: Hi all, I am making a few corrections on an oai_dc.xslt file for our DSpace instance I slightly botched modifying to integrate some custom metadata into a dc.identifier citation in the OAI-PMH harvest. I need to get proper conditionals so it can display and harvest the metadata correctly and not run when there is no data in those fields. I have a pretty good idea what I need to do, and if this were like JavaScript or Python I could probably muddle through. The trouble is that I don't know the conditional syntax for XSLT quite well enough to know what I can do and thus need to do. Plus the online resources for learning/referencing XSLT for this are a bit shallow for what I need hence asking the group. So if there is anyone who knows XSLT really well that would be willing to talk with me for a bit to help me work through what I need to get the syntax to work like I want I would appreciate it. Thanks. Matt Sherman -- -- ...let us be heard from red core to black sky
Re: [CODE4LIB] XSLT Advice
You really just need to wrap the label in the xsl:text and the xsl:value of in an xsl:if that tests whether the value-of XPath returns a string. dc:identifierxsl:value-of select=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='name']/doc:element/doc:field[@name='value']/ xsl:if test=string(doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='volume']/doc:element/doc:field[@name='value']) xsl:text Vol. /xsl:textxsl:value-of select=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='volume']/doc:element/doc:field[@name='value']/ /xsl:if xsl:if test=string(doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='issue']/doc:element/doc:field[@name='value']) xsl:text Issue /xsl:textxsl:value-of select=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='issue']/doc:element/doc:field[@name='value']/ /xsl:if /dc:identifier If there's no name at all, you'd want to wrap an xsl:if around the dc:identifier so that you suppress an empty dc:identifier element. On Tue, Jun 2, 2015 at 3:34 PM, Matt Sherman matt.r.sher...@gmail.com wrote: Cool. I talked to Ron via phone so I am getting a better picture, but I am still happy to take more insights. So the larger context. I inherited a DSpace instance with three custom metadata fields which actually have some useful publication information, though they improperly titled them in by associating them with a dc prefix but there were two many to fix quickly and they haven't broken DSpace yet so we continue. So I added to the XSL to pull the data within the the custom fields to display publication name Vol. publication volume Issue publication issue. That worked really well until I realized that there was no conditional so even when the fields are empty I still get: dc:identifierVol. Issue/dc:identifier So here are the Custom Metadata fields: dc.publication.issue dc.publication.name dc.publication.volume Here is the customized XSLT, with dc.identifier added for context of what the rest of the sheet looks like. !-- dc.identifier -- xsl:for-each select=doc:metadata/doc:element[@name='dc']/doc:element[@name='identifier']/doc:element/doc:field[@name='value'] dc:identifierxsl:value-of select=. //dc:identifier /xsl:for-each !-- dc.identifier.* -- xsl:for-each select=doc:metadata/doc:element[@name='dc']/doc:element[@name='identifier']/doc:element/doc:element/doc:field[@name='value'] dc:identifierxsl:value-of select=. //dc:identifier /xsl:for-each !-- dc.publication fields to dc.identifier -- dc:identifierxsl:value-of select=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='name']/doc:element/doc:field[@name='value']/xsl:text Vol. /xsl:textxsl:value-of select=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='volume']/doc:element/doc:field[@name='value']/xsl:text Issue /xsl:textxsl:value-of select=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='issue']/doc:element/doc:field[@name='value']//dc:identifier Ron suggested that using choose and when and that does seem to make the most sense. The other trickiness is that I have found that some of these fields as filled when others are blank, such as their being a volume but not an issue. So I need to figure out how to test multiple fields so that I can have it display differently dependent on what has data or not at all none of the fields are filled, which is the case in items such as posters. So any thoughts would help. Thanks. On Tue, Jun 2, 2015 at 2:50 PM, Wick, Ryan ryan.w...@oregonstate.edu wrote: I agree with Stuart, post the example here. Or if you want more real-time chat there's always #code4lib IRC. For an XSLT resource, Dave Pawson's site is great: http://www.dpawson.co.uk/xsl/sect2/sect21.html Ryan Wick -Original Message- From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Stuart A. Yeates Sent: Tuesday, June 02, 2015 11:46 AM To: CODE4LIB@LISTSERV.ND.EDU Subject: Re: [CODE4LIB] XSLT Advice There are a number of experienced xslt'ers here. Post your example to the group so we can all learn. Cheers Stuart On Wednesday, June 3, 2015, Matt Sherman matt.r.sher...@gmail.com wrote: Hi all, I am making a few corrections on an oai_dc.xslt file for our DSpace instance I slightly botched modifying to integrate some custom metadata into a dc.identifier citation in the OAI-PMH harvest. I need to get proper conditionals so it can display and harvest the metadata correctly and not run when there is no data in those fields. I have a pretty good idea what I need to do, and if this were like JavaScript or Python I could probably muddle
[CODE4LIB] Reminder: Register for the DataONE Users Group Meeting, July 12th-13th 2015
Registration is now open for the DataONE Users Group Meeting, July 12th-13th 2015. https://www.dataone.org/dataone-users-group The 2015 DataONE Users Group (DUG) Meeting is collocated with the Summer ESIP Federation Meeting at the Asilomar Conference Grounds, Pacific Grove, CA. The DUG will be a 2 day event featuring plenary presentations, topical breakout sessions and community led round tables. Join us to learn more about DataONE; network with informatics, data management and domain science colleagues; and provide feedback on the prioritization and development of DataONE tools and services. We look forward to seeing you -- Robert J. Sandusky, Ph.D. Associate University Librarian for Information Technology Associate Professor and Associate Dean UIC University Library
[CODE4LIB] Testing for Safari Books
Hey all! I've been doing user research for Safari (https://safaribooksonline.com), where I work as the Product Engagement Manager, and we're looking for people to test our product and designs. We're looking for both current members as well as people who've never heard of us (and everything in between!), so if you are interested at all in Safari, whether or not you've used it, please reach out! We're happy to compensate you for your time either with Safari discounts or gift certificates. If you are interested, send me a quick email with the following information: Name: Email: Job title: Location: Why do you want to be a Safari user tester?: Also, if you're interested in joining our team, we're hiring for a bunch of positions: https://www.safaribooksonline.com/careers/ I'd be happy to talk about working here if you have any questions. Thanks! Regards, Jennie -- Jennie Rose Halperin | Product Engagement Manager @safari | https://safaribooksonline.com
[CODE4LIB] Software Carpentry Workshop in Metro Vancouver area -- registration is live
Registration is now open for Software Carpentry for Library Staff. This hands-on workshop will cover basic concepts and tools, including program design, programmatic data manipulation, data management, and task automation. Participants will be encouraged to help one another and to apply what they have learned to their own data wrangling problems. Topics include: · Automating tasks with the Unix shell · Building programs with Python · Managing data with SQL · Regular Expressions (regex) and Bringin' it all together Date: July 9 10, 2015. 9 a.m. – 4 p.m. Place: West Vancouver Memorial Library Cost: $175 members / $225 non-members Register here: www.bcla.bc.ca/carpentry/http://www.bcla.bc.ca/carpentry/
Re: [CODE4LIB] XSLT Advice
You should use a template that is only applied when the specified field is there. These templates in xslt are applied automatically only if the field is there: xsl:template match=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='volume']/doc:element/doc:field[@name='value'] xsl:textVol. /xsl:text xsl:apply-templates/ /xsl:template If the field is defined, but empty you should do: xsl:template match=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='volume']/doc:element/doc:field[@name='value'] xsl:if test=not(.='') xsl:textVol. /xsl:text xsl:apply-templates/ /xsl:if /xsl:template Xslt is not a procedural language, you should hardly ever use xsl:for-each Peter -Original Message- From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Matt Sherman Sent: dinsdag 2 juni 2015 21:35 To: CODE4LIB@LISTSERV.ND.EDU Subject: Re: [CODE4LIB] XSLT Advice Cool. I talked to Ron via phone so I am getting a better picture, but I am still happy to take more insights. So the larger context. I inherited a DSpace instance with three custom metadata fields which actually have some useful publication information, though they improperly titled them in by associating them with a dc prefix but there were two many to fix quickly and they haven't broken DSpace yet so we continue. So I added to the XSL to pull the data within the the custom fields to display publication name Vol. publication volume Issue publication issue. That worked really well until I realized that there was no conditional so even when the fields are empty I still get: dc:identifierVol. Issue/dc:identifier So here are the Custom Metadata fields: dc.publication.issue dc.publication.name dc.publication.volume Here is the customized XSLT, with dc.identifier added for context of what the rest of the sheet looks like. !-- dc.identifier -- xsl:for-each select=doc:metadata/doc:element[@name='dc']/doc:element[@name='identifier']/doc:element/doc:field[@name='value'] dc:identifierxsl:value-of select=. //dc:identifier /xsl:for-each !-- dc.identifier.* -- xsl:for-each select=doc:metadata/doc:element[@name='dc']/doc:element[@name='identifier']/doc:element/doc:element/doc:field[@name='value'] dc:identifierxsl:value-of select=. //dc:identifier /xsl:for-each !-- dc.publication fields to dc.identifier -- dc:identifierxsl:value-of select=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='name']/doc:element/doc:field[@name='value']/xsl:text Vol. /xsl:textxsl:value-of select=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='volume']/doc:element/doc:field[@name='value']/xsl:text Issue /xsl:textxsl:value-of select=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='issue']/doc:element/doc:field[@name='value']//dc:identifier Ron suggested that using choose and when and that does seem to make the most sense. The other trickiness is that I have found that some of these fields as filled when others are blank, such as their being a volume but not an issue. So I need to figure out how to test multiple fields so that I can have it display differently dependent on what has data or not at all none of the fields are filled, which is the case in items such as posters. So any thoughts would help. Thanks. On Tue, Jun 2, 2015 at 2:50 PM, Wick, Ryan ryan.w...@oregonstate.edu wrote: I agree with Stuart, post the example here. Or if you want more real-time chat there's always #code4lib IRC. For an XSLT resource, Dave Pawson's site is great: http://www.dpawson.co.uk/xsl/sect2/sect21.html Ryan Wick -Original Message- From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Stuart A. Yeates Sent: Tuesday, June 02, 2015 11:46 AM To: CODE4LIB@LISTSERV.ND.EDU Subject: Re: [CODE4LIB] XSLT Advice There are a number of experienced xslt'ers here. Post your example to the group so we can all learn. Cheers Stuart On Wednesday, June 3, 2015, Matt Sherman matt.r.sher...@gmail.com wrote: Hi all, I am making a few corrections on an oai_dc.xslt file for our DSpace instance I slightly botched modifying to integrate some custom metadata into a dc.identifier citation in the OAI-PMH harvest. I need to get proper conditionals so it can display and harvest the metadata correctly and not run when there is no data in those fields. I have a pretty good idea what I need to do, and if this were like JavaScript or Python I could probably muddle through. The trouble is that I don't know the conditional syntax for XSLT quite well enough to know what I can do and thus need to do. Plus the online resources for learning/referencing XSLT for this are a bit shallow for what I need hence asking the group. So if there is anyone who
Re: [CODE4LIB] XSLT Advice
After wrapping the entire sequence with xsl:for-each select=doc:metadata/doc:element[@name='dc'], perhaps another option is to wrap the entire dc.publication fields to dc.identifier in a for-each for doc:element[@name='publication'], create string variables for the values instead of using xsl:text so you can use concat(), then nest if-then-else for these scenarios: If the volume element is not equal to empty then... If the issue element is not equal to empty then return publication name Vol. publication volume Issue publication issue Else (if the issue element is equal to empty) return publication name Vol. publication volume Else (if the volume element is equal to empty)... If the issue element is not equal to empty then return publication name Issue publication issue Else (if the issue element is equal to empty) return publication name Vol. I don't have the source metadata to test this, but hopefully this is enough to get the idea. xsl:template match=/ xsl:for-each select=doc:metadata/doc:element[@name='dc'] !-- dc.identifier -- xsl:for-each select=doc:element[@name='identifier']/doc:element/doc:field[@name='value'] dc:identifier xsl:value-of select=./ /dc:identifier /xsl:for-each !-- dc.publication fields to dc.identifier -- xsl:for-each select=doc:element[@name='publication'] xsl:variable name=pub_name as=xs:string select=doc:element[@name='name']/doc:element/doc:field[@name='value']/ xsl:variable name=pub_vol as=xs:string select=doc:element[@name='volume']/doc:element/doc:field[@name='value']/ xsl:variable name=pub_issue as=xs:string select=doc:element[@name='issue']/doc:element/doc:field[@name='value']/ dc:identifier xsl:value-of select= if (doc:element[@name='volume']/doc:element/doc:field[@name='value'] ne '') then if (doc:element[@name='issue']/doc:element/doc:field[@name='value'] ne '') then concat($pub_name,' Vol. ', $pub_vol,' Issue ', $pub_issue) else concat($pub_name,' Vol. ', $pub_vol) else if (doc:element[@name='issue']/doc:element/doc:field[@name='value'] ne '') then concat($pub_name,' Issue ', $pub_issue) else $pub_name / /dc:identifier /xsl:for-each /xsl:for-each /xsl:template Hope this helps, Annie Margaret “Annie” Glerum Head of Complex Cataloging Department of Cataloging Description Division of Special Collections Archives Florida State University Libraries 850-644-4839 agle...@fsu.edu -Original Message- From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Ethan Gruber Sent: Tuesday, June 02, 2015 3:44 PM To: CODE4LIB@LISTSERV.ND.EDU Subject: Re: [CODE4LIB] XSLT Advice You really just need to wrap the label in the xsl:text and the xsl:value of in an xsl:if that tests whether the value-of XPath returns a string. dc:identifierxsl:value-of select=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='name']/doc:element/doc:field[@name='value']/ xsl:if test=string(doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='volume']/doc:element/doc:field[@name='value']) xsl:text Vol. /xsl:textxsl:value-of select=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='volume']/doc:element/doc:field[@name='value']/ /xsl:if xsl:if test=string(doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='issue']/doc:element/doc:field[@name='value']) xsl:text Issue /xsl:textxsl:value-of select=doc:metadata/doc:element[@name='dc']/doc:element[@name='publication']/doc:element[@name='issue']/doc:element/doc:field[@name='value']/ /xsl:if /dc:identifier If there's no name at all, you'd want to wrap an xsl:if around the dc:identifier so that you suppress an empty dc:identifier element. On Tue, Jun 2, 2015 at 3:34 PM, Matt Sherman matt.r.sher...@gmail.com wrote: Cool. I talked to Ron via phone so I am getting a better picture, but I am still happy to take more insights. So the larger context. I inherited a DSpace instance with three custom metadata fields which actually have some useful publication information, though they improperly titled them in by associating them with a dc prefix but there were two many to fix quickly and they haven't broken DSpace yet so we continue. So I added to the XSL to pull the data within the the custom fields to display publication name Vol. publication volume Issue publication issue. That worked really
Re: [CODE4LIB] LC classifications in structured format?
thanks for the responses - queries against 5 classes _are_ possible using the linked data search interface, but no bulk download is available (I asked and was told no by Mark Trail of LC, and that the original MARC data is tied up in cost recovery statutes). LCC is also browsable and searchable via the Classification Web service, but no downloads. I'm hoping that someone has done this slog and has made it available. If I wind up doing it all (I began with just two letters), I *will* make it freely available!
[CODE4LIB] LC classifications in structured format?
Hello, I'm trying to locate a downloadable copy of the LC Classifications (LCC) in a structured format that expresses the hierarchy - SKOS, thesaurus, XML, whatever - in order to study its spatial and temporal content. I've located a tab-delimited copy and have began encoding parent-child relations, but it's very time-consuming (https://archive.org/details/LcClassificationA-z). The LC linked data group has a search interface to a few classes, but it's a download of the whole thing I'm after and they say it's not available. Seems like it should be, being government-funded and all... Any ideas? thanks Karl _ Karl Grossner Stanford University Libraries
Re: [CODE4LIB] LC classifications in structured format?
Karl, Is this what you are looking for? http://id.loc.gov/authorities/classification.html On Tue, Jun 2, 2015 at 7:36 PM, Karl Grossner ka...@kgeographer.org wrote: Hello, I'm trying to locate a downloadable copy of the LC Classifications (LCC) in a structured format that expresses the hierarchy - SKOS, thesaurus, XML, whatever - in order to study its spatial and temporal content. I've located a tab-delimited copy and have began encoding parent-child relations, but it's very time-consuming (https://archive.org/details/LcClassificationA-z ). The LC linked data group has a search interface to a few classes, but it's a download of the whole thing I'm after and they say it's not available. Seems like it should be, being government-funded and all... Any ideas? thanks Karl _ Karl Grossner Stanford University Libraries -- Tod Robbins Digital Asset Manager, MLIS todrobbins.com | @todrobbins http://www.twitter.com/#!/todrobbins
Re: [CODE4LIB] LC classifications in structured format?
A couple of questions about that: * I notice that only five of the 21 letter classes are listed. Is this a work in progress of am I missing something? * Is that avaliable as a bulk download? cheers stuart -- ...let us be heard from red core to black sky On Wed, Jun 3, 2015 at 2:14 PM, todd.d.robb...@gmail.com todd.d.robb...@gmail.com wrote: Karl, Is this what you are looking for? http://id.loc.gov/authorities/classification.html On Tue, Jun 2, 2015 at 7:36 PM, Karl Grossner ka...@kgeographer.org wrote: Hello, I'm trying to locate a downloadable copy of the LC Classifications (LCC) in a structured format that expresses the hierarchy - SKOS, thesaurus, XML, whatever - in order to study its spatial and temporal content. I've located a tab-delimited copy and have began encoding parent-child relations, but it's very time-consuming (https://archive.org/details/LcClassificationA-z ). The LC linked data group has a search interface to a few classes, but it's a download of the whole thing I'm after and they say it's not available. Seems like it should be, being government-funded and all... Any ideas? thanks Karl _ Karl Grossner Stanford University Libraries -- Tod Robbins Digital Asset Manager, MLIS todrobbins.com | @todrobbins http://www.twitter.com/#!/todrobbins
Re: [CODE4LIB] Code4Lib North: Car pooling from Brock residences to downtown
Hi David I'm staying in residence also and will have my vehicle. Happy to drive you. I arrive Wed. evening sometime. Cheers, Alison Alison Hitchens Cataloguing Metadata Librarian University of Waterloo Library ahitc...@uwaterloo.ca 519-888-4567 x35980 -Original Message- From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of CODE4LIB automatic digest system Date:Mon, 1 Jun 2015 12:14:37 -0400 From:David Fiander da...@fiander.info Subject: Code4Lib North: Car pooling from Brock residences to downtown I'm staying at Brock for C4LN this week, but I won't have a car with me, so who's going to be around that I could catch a ride with downtown? - David
Re: [CODE4LIB] Code4Lib North: Car pooling from Brock residences to downtown
Hi All, Thanks a bunch for organizing this. I've sent an email to all registered delegates with a link to shared doc where we might be able to put together some carpool stuff. Tim -Original Message- From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Alison Hitchens Sent: Tuesday, June 2, 2015 7:43 AM To: CODE4LIB@LISTSERV.ND.EDU Subject: Re: [CODE4LIB] Code4Lib North: Car pooling from Brock residences to downtown Hi David I'm staying in residence also and will have my vehicle. Happy to drive you. I arrive Wed. evening sometime. Cheers, Alison Alison Hitchens Cataloguing Metadata Librarian University of Waterloo Library ahitc...@uwaterloo.ca 519-888-4567 x35980 -Original Message- From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of CODE4LIB automatic digest system Date:Mon, 1 Jun 2015 12:14:37 -0400 From:David Fiander da...@fiander.info Subject: Code4Lib North: Car pooling from Brock residences to downtown I'm staying at Brock for C4LN this week, but I won't have a car with me, so who's going to be around that I could catch a ride with downtown? - David
Re: [CODE4LIB] hathitrust research center workset browser [github]
I believe I have created a repository of my HTRC Workset Browser code (shell and Python scripts) on GitHub. [1] From the Quick Start section of the README: 1. Download the software putting the bin and etc directories in the same directory. 2. Change to the directory where the bin and etc directories have been saved. 3. Build a collection by issuing the following command: ./bin/build-corpus.sh thoreau etc/rsync-thoreau.sh If all goes well, the Browser will create a new directory named thoreau, rsync a bunch o' JSON files from the HathiTrust to your computer, index the JSON files, do some textual analysis against the corpus, create a simple database (catalog), and create a few more reports. You can then peruse the files in the newly created thoreau directory. If this worked, then repeat the process for the other rsync files found in the etc directory. Probably the first issue people will have is the path to their version of Python. (Sigh.) [1] repository - https://github.com/ericleasemorgan/HTRC-Workset-Browser — Eric “Git Ignorant” Morgan
[CODE4LIB] Job: Digital Archivist at Oregon Historical Society
Digital Archivist Oregon Historical Society Portland he Oregon Historical Society is seeking a creative, energetic, and technically savvy Digital Archivist to develop and maintain the OHS Digital Vault, the institution's new digital repository. The archivist will join a team committed to collaboration, public service, and stewardship of the extensive and diverse historical collections in the OHS Davies Family Research Library. The Digital Archivist is a full-time (36.25 hrs per week), grant-funded position with an expected duration of two years. THIS POSTION DOES NOT OFFER RELOCATION ASSISTANCE. The Digital Archivist is responsible for the development, implementation, and upkeep of the OHS Digital Vault, an integrated digital repository for Oregon Historical Society collections. Additionally, the Digital Archivist provides key support to the OHS Research Library's efforts to acquire, describe, preserve, and provide access to digital collections. Required education, skills and experience for this position include: A Master's Degree in library science (or equivalent) from ALA-certified program or master's degree in history with archival training or equivalent academic training and/or experience. Two or more years' experience with digital collection management and preservation, including working experience with digital asset management systems and digital repository technologies. Knowledge of current principles and methods of professional archival and special collections library procedures. Demonstrated experience processing, cataloging, describing, digitizing, and preserving archival collections. Demonstrated knowledge of digital preservation issues, strategies, standards, and best practices. Strong working knowledge of description and metadata standards including MARC, RDA, EAD, DACS, Dublin Core, MODS, METS, PREMIS, PBCore and XML. Knowledge of copyright, donor restrictions, and permissions issues related to processing digitized and born digital material, and to analog archival materials of all formats. Specialized computer skills in collections management database creation and management, management of data preservation storage systems, and digitization of multiple archival formats. Preferred education and experience include: • Experience in project management. • Experience with processing, describing, digitizing, and preserving visual and media archival collections. • Knowledge of US history and historical research methods, especially the use of archives. Brought to you by code4lib jobs: http://jobs.code4lib.org/job/20991/ To post a new job please visit http://jobs.code4lib.org/
[CODE4LIB] Job: Digital Services Librarian at Marymount University
Digital Services Librarian Marymount University Arlington Marymount University invites applicants for a full-time Digital Services Librarian. The Digital Services Librarian will provide vision and leadership in advancing digital scholarship initiatives and work with library colleagues, faculty and staff from other campus units, and experts from external affiliated organizations to develop an infrastructure to support faculty and student digital scholarship creation, access, collaboration, promotion, and preservation. Minimum Qualifications: * Master's Degree from an ALA-accredited program * Knowledge of trends and issues in scholarly communication, digital scholarship, and online education * Data analysis experience, particularly with MS Excel or Access, to manipulate and analyze data and statistics * Ability to manage multiple projects in a dynamic work environment * Demonstrated excellent communication skills * Demonstrated professional and academic research skills * Demonstrated analytical, organizational,time, and project management skills Brought to you by code4lib jobs: http://jobs.code4lib.org/job/21314/ To post a new job please visit http://jobs.code4lib.org/
[CODE4LIB] Job: Space/Time Directory Engineer at New York Public Library
Space/Time Directory Engineer New York Public Library New York City The New York Public Library is seeking a uniquely qualified individual to join its digital RD team, NYPL Labs (labs.nypl.org), in the service of building a historical geospatial data platform for New York City. This project, The New York City Space/Time Directory (http://spacetime.nypl.org), fuses The Library's collection of maps and historical data with the latest in web mapping technology in order to make them available to the public as a service. (This also taps into our love for time travel metaphors.) Do you want to change how libraries and other public institutions engage with civic tech, how the public interacts with history, and to give New Yorkers a ubiquitous connection to their city's past? Are you interested in contributing to a major public knowledge project that could serve as a model for other cities? If your answer is an enthusiastic yes -- and you care about collaboration, curiosity, technical excellence, and continuous improvements -- NYPL Labs is the right place for you. Responsibilities: The Job: You'll be designing and building the architecture and infrastructure for a historical geospatial web service. It will look an awful lot like a modern geospatial web service (and may share a lot of the same tools and code). You'll be using the same processes used for making a modern service such as OpenStreetMap while also applying conflation processes to NYPL's historical collections and crowdsourced data. Note: You won't be starting from scratch. Over the past few years, NYPL has developed a workflow for digitizing and geo-rectifying historical maps, and for mining building-level vector data through computational process and crowdsourcing. We've even prototyped a historical gazetteer. We need your help to build upon these foundations to create a true open source, open access search of New York's historical places. You will join NYPL Labs' Product and RD Group, the band of artists, designers, and technologists behind Building Inspector (http://buildinginspector.nypl.org/), NYPL Digital Collections (http://digitalcollections.nypl.org/), The Stereogranimator (http://stereo.nypl.org/), and more. You'll be working hand-in-hand with NYPL's Geospatial Librarian, Labs' Director, our Interaction Lead, our Metadata team, and a host of other collaborators, internal and external, to craft and build the Space/Time Directory. As Space/Time Directory Engineer, you will: * Build a backend spatial database system supporting the integration of heterogeneous historical and contemporary datasets * Design a system to disambiguate, confirm and confer the connections between places and spaces over time using a combination of expert knowledge, crowdsourcing, and consensus computation * Design data contribution channels and remediation tools for librarians, archivists, domain experts and members of the public * Build easy-to-use and well documented APIs * Design and publish reproducible tools, software, and workflows to allow the flourishing of other Space/Time Directories to public, open access repositories * Communicate your work to the world through blogging, conferences, and hack events and workshops hosted by NYPL Labs * Advocate and facilitate a broader public conversation around this project and and how it fits into the new definition of what libraries can be Your office will be NYPL's flagship library and architectural landmark, the Stephen A. Schwarzman Building on 42nd St. (also known as The One With The Lions, or The Library From Ghostbusters). The work is on a roughly 9-5 schedule (flexible), with periodic evening engagement activities, a bit of travel, and the very occasional weekend commitment. But we take the life/work balance very seriously, and the Library provides and excellent benefits and vacation package. It's a great place to work. This position is supported by a generous grant from the Knight Foundation (https://www.newschallenge.org/challenge/libraries/feedback/nyc-space-time- directory-community-driven-urban-history-with-the-ease-of-google-maps) and is guaranteed for two years. There is a strong desire to continue the project beyond that, and the Library has a track record of moving grant-incubated projects into core operations. Qualifications: * Comfortable building a large, scalable data infrastructure * Extensive expertise in web back-end technologies such as Python, Ruby, PHP, or Node.js, Go * Experience collaborating closely with front-end developers and designers * Appetite for engagement with a community of contributors, technical and nontechnical alike, beyond the institution's walls * Ability to write excellent prose as well as code * Aptitude for learning and teaching new technologies * Comfortable in both collaborative and self-directed environments Bonus Points: * Contributor on a large open-source project * Experience working
[CODE4LIB] Job: Health Sciences Librarian at University of Texas at Arlington
Health Sciences Librarian University of Texas at Arlington Arlington The Health Services Librarian serves as the Libraries' liaison to various libraries users and potential users within the health sciences disciplines. Primary responsibilities will be to support faculty issues relating to scholarly communication; collaborate with faculty to integrate information literacy into the curriculum; promote the use of Libraries services and resources; and connect members of the UT Arlington community to each other to increase collaboration and knowledge sharing. ESSENTIAL DUTIES AND RESPONSIBILITIES: 1. Scholarly Communication a. Develops evidence-based collection strategies in assigned discipline areas b. Assesses the scholarly communication climate and information resource needs in assigned discipline areas c. In partnership with the Director of Scholarly Communication, provides publication consultation services to faculty and students d. Collaborates with key stakeholders on the implementation, management, and promotion of the campus institutional repository e. Develops and maintains tools, resources, and education programs to increase awareness of scholarly communication issues, such as publishing options, agency specific requirements, author rights, and copyright/fair use concerns f. Works with the Department of Digital Creation and Director of Scholarly Communication to support scholarly communication 2. Instruction and Research Services a. Collaborates with faculty to promote the integration of Libraries' resources and information literacy into the curriculum b. Develops curriculum that incorporates creation and iterative design c. Connects faculty to hands-on teaching opportunities in the Libraries' creative spaces d. Develops and maintains online teaching materials and guides and participates in digital learning initiatives e. Works closely with other disciplinary liaison librarians to plan, develop, maintain, and assess instruction and outreach programs f. Provides research assistance and instruction in locating and evaluating information in a variety of formats g. Extends services through office hours, embedded librarianship, and social media 3. Other Liaison Services a. Develops and maintains a working, interactive, and dynamic relationship with faculty, students, and staff in assigned disciplines b. Provides a vehicle for expression of faculty opinions, concerns, and advice relating to the Libraries c. Conducts periodic service resource needs assessments in collaboration with the Libraries' assessment librarians d. Promotes Libraries' services and resources in collaboration with the Libraries' Marketing Department e. Participates in and facilitates the relationship between health sciences faculty members and students and the Libraries' cross-discipline professionals, including the Director of Scholarly Communication, the Off- Campus Services Librarian, and the First Year Student Success Librarians. f. Participates in grant or research partnerships in collaboration with the Libraries' Director of Grants and Research 4. Community Building a. Assesses collaboration needs of assigned discipline areas b. Develops mechanisms for students and faculty to connect with each other and address common research and professional interests c. Develops opportunities for distance education students to connect to on- campus UT Arlington students, staff, and faculty. d. Connects faculty to community building techniques and supports the integration of these strategies into curricula 5. Other Duties a. Serves on library, university, and professional committees b. Attends training and professional seminars to maintain and increase knowledge and to keep up with current trends c. Completes other projects and duties as assigned MINIMUM QUALIFICATIONS: • Master's degree in library and/or information science from an ALA-accredited program • Current knowledge of print and electronic resources within the health sciences disciplines and of the application of technology to the design and delivery of research services and instruction • Strong capacity for working enthusiastically, flexibly, and creatively in a student-centered environment • Strong affinity for UTA Libraries' core values PREFERRED QUALIFICATIONS: • Advanced degree in a relevant health sciences discipline • Experience assisting faculty with scholarly communication issues • Experience promoting scholarly communication support services • Experience providing library instruction services • Knowledge of information literacy theory and practice, various teaching methodologies, and learning styles • Experience with current and emerging technologies and their application in academic libraries, including Springshare products, integrated library systems, ILLiad, and teaching tools • Creativity and experience designing instructional/informational materials, both in print and online • Experience with outreach
[CODE4LIB] Migrating a Yahoo group's messages?
All, I belong to a listserv that, unfortunately when it was established back in 2007, was set up as a yahoo group. m looking for a way to archive the group's email and move it to another platform, something that will be searchable and will NOT be a yahoo group. Has anyone here ever had to do something like this? This group was Neo-izedhttp://yahoogroupedia.pbworks.com/w/page/68466246/Yahoo%20Groups%20Neo#History along with the others back in 2013 and Im having trouble finding any tools to export the messages. There seems to be a solutionhttp://www.personalgroupware.com/ but this software dumps the messages into a proprietary data base that can't be read any other way. There is another perl scripthttp://archiveteam.org/index.php?title=Yahoo!_Groups that looks good, but may not work with the newer style of yahoo group. Any suggestions or assistance would be most appreciated. Thanks Chris -- Chris Edwards Head, Digital Services Getty Research Institute 310.440.6648