Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

When needing to create spreadsheets for batch ingesting Variations files.

Variations XML Files

 

Step-by-step guide

 

  1. Open an SSH Client.
  2. Log into magnolia.dlib.indiana.edu
    1. Log in with your username and password.
  3. Create xmlingest_sort.xsl using the code found below.
  4. Run this command: 

    xsltproc xmlingest_sort.xsl ../srv/variations/content/access/audio/files.xml >> batchingest.txt
    
    
    1. You'll need to replace "files.xml" with the Variations xml files you wish to ingest.

 

Create a spreadsheet

  1. Add column titles with the following:
    1. Bibliographic ID
      1. The Bibliographic ID will be the Variations XML file name (i.e. "VAA5239" from the file VAA5239.xml).
    2. Bibliographic ID Label
      1. The XSL will fill this column with the word "other".
    3. Title
      1. This information will be overwritten by the information that the Bibliographic ID pulls in, but it is required.
    4. Creator
      1. This information will be overwritten by the information that the Bibliographic ID pulls in, but it is required.
    5. Date Issued
      1. This information will be overwritten by the information that the Bibliographic ID pulls in, but it is required.
    6. Label
      1. The XSL will fill this column with the word "other".
    7. File
      1. The file name(s) will be in the format of: vaa1234a.192k.mov
      2. You'll need a File column for each file associated with a Variations item.
    8. Label
      1. Leave this column blank.


Importing the Data into the Spreadsheet

  1. Import the data from the batchingest.txt file

    1. The separator character is: ^

    2. Using a comma as the separator character causes problems (since commas are used in some of the Variations titles).

  2. Edit the dates in the Date Issued column.
    1. The format of the dates vary (i.e. "[1934]")

 

xmlingest_sort.xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
<!--
Bibliographic ID
Bibliographic ID Label
Title
Creator
Date Issued
Label
File
-->
<xsl:variable name="publisherTest"><xsl:value-of select="//Publisher"/></xsl:variable>^<xsl:variable name="yearTest"><xsl:value-of select="//PublicationDate"/></xsl:variable>^<xsl:variable name="variationsName"><xsl:value-of select="//RecordSet/MediaObject/Label"/></xsl:variable>^<xsl:value-of select="substring($variationsName,1,7)"/>^other^<xsl:value-of select="//DisplayTitle"/>^<xsl:if test="$publisherTest != ''"><xsl:value-of select="//Publisher"/></xsl:if><xsl:if test="$publisherTest = ''">unknown</xsl:if>^<xsl:if test="$yearTest != ''">^<xsl:value-of select="//PublicationDate"/></xsl:if><xsl:if test="$yearTest = ''">uuuu</xsl:if>^<xsl:for-each select="//RecordSet/MediaObject"><xsl:sort select="Label" data-type="text" order="ascending"/><xsl:if test="string-length(Label) = 8">assets/<xsl:value-of select="translate(Label, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>.192k.mov^^</xsl:if></xsl:for-each><xsl:for-each select="//RecordSet/MediaObject"><xsl:sort select="Label" data-type="text" order="ascending"/><xsl:if test="string-length(Label) > 8">assets/<xsl:value-of select="translate(Label, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/>.192k.mov^^</xsl:if></xsl:for-each>^ 
</xsl:template>
</xsl:stylesheet>

 

 

  • No labels