<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Hi Jaime,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Completely agreed, and I’d love to hear more about your process of migrating to ArchivesSpace.  I’m just starting on a similar project, but I don’t think that
 we’ll be ingesting too much EAD directly into ArchivesSpace at this point, so I’m still very unfamiliar with that process.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">In the meantime, if you’re importing EAD files into ArchivesSpace, do you also have an XML editor like oXygen?  If so, then you could validate these documents
 against a Schematron file that would tell you exactly where those errors occur. <o:p>
</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I have honestly never written a Schematron file until just now (but I was very inspired at the EAD Hackathon!), but using the following example file (which
 I just hastily put together) with oXygen will show you exactly where those problems occur:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#8B26C9"><?xml version="1.0" encoding="UTF-8"?></span><span style="color:black"><br>
</span><span style="color:#000096"><schema</span><span style="color:#F5844C"> xmlns</span><span style="color:#FF8040">=</span><span style="color:#993300">"http://purl.oclc.org/dsdl/schematron"</span><span style="color:#F5844C"> queryBinding</span><span style="color:#FF8040">=</span><span style="color:#993300">"xslt2"</span><span style="color:#000096">></span><span style="color:black"><br>
    </span><span style="color:#000096"><ns</span><span style="color:#F5844C"> uri</span><span style="color:#FF8040">=</span><span style="color:#993300">"urn:isbn:1-931666-22-9"</span><span style="color:#F5844C"> prefix</span><span style="color:#FF8040">=</span><span style="color:#993300">"ead"</span><span style="color:#000096">/></span><span style="color:black"><br>
    </span><span style="color:#000096"><pattern></span><span style="color:black">
<br>
        </span><span style="color:#000096"><rule</span><span style="color:#F5844C"> context</span><span style="color:#FF8040">=</span><span style="color:#993300">"ead:unitdate[contains(@normal, '/')]"</span><span style="color:#000096">></span><span style="color:black">
<br>
            </span><span style="color:#000096"><assert</span><span style="color:#F5844C"> test</span><span style="color:#FF8040">=</span><span style="color:#993300">"number(substring-after(@normal, '/')) gt number(substring-before(@normal, '/'))"</span><span style="color:#000096">></span><span style="color:black">Date
 normalization is invalid (end date occurs before begin date)</span><span style="color:#000096"></assert></span><span style="color:black">
<br>
        </span><span style="color:#000096"></rule></span><span style="color:black">
<br>
    </span><span style="color:#000096"></pattern></span><span style="color:black"><br>
</span><span style="color:#000096"></schema><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#000096"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">In this case, I’m assuming that you have schema-valid EAD files, but if you’re using the DTD instead, you should be able to just delete that “ead:” piece of
 text or replace it with “*:”.</span><span style="color:#000096"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">I hope this might help.  Obviously you could turn this example into a much more robust Schematron file, and test for a lot of other things, too.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Mark<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> archivesspace_users_group-bounces@lyralists.lyrasis.org [mailto:archivesspace_users_group-bounces@lyralists.lyrasis.org]
<b>On Behalf Of </b>Steven Majewski<br>
<b>Sent:</b> Wednesday, February 05, 2014 4:48 PM<br>
<b>To:</b> Archivesspace Users Group<br>
<b>Subject:</b> Re: [Archivesspace_Users_Group] Import Error Message Suggestion<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">… or if not the line number, at least the enclosing element or some context to indicate where the missing item is missing from. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">We’re getting lots of errors ( on validated EAD) like:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<pre style="mso-margin-top-alt:7.5pt;margin-right:0in;margin-bottom:7.5pt;margin-left:0in;line-height:15.0pt;background:#333333;word-break:break-all;border-top-left-radius: 4px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;border-bottom-left-radius: 4px;word-wrap: break-word;white-space:pre-wrap;border:rgba(0, 0, 0, 0.14902);overflow:auto" id="logSpool"><span style="font-size:9.0pt;color:#33EE33">Error: #<:ValidationException: {:errors=>{"dates"=>["one or more required (or enter a Title)"], "title"=>["must not be an empty string (or enter a Date)"]}}><o:p></o:p></span></pre>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<div>
<p class="MsoNormal">It seems to be saying it’s expecting a date or title somewhere but it doesn’t indicate where. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">( If it’s difficult to get this context info on import, an acceptable alternative would be to provide <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">a tighter version of the EAD schema that more closely corresponds to what the ArchivesSpace<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">importer accepts.  )<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">— Steve Majewski<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">On Feb 5, 2014, at 4:16 PM, Jaime Margalotti <<a href="mailto:jmargalo@udel.edu">jmargalo@udel.edu</a>> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<div>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">The error message currently driving me crazy is "archival_object/dates/0/ end must not be before begin."  I understand what it means, but finding the single incorrectly typed normalized date in the container
 list of a long finding aid is nearly impossible.  If error messages could include which line in the finding aid caused them to fail to import, it would be an enormous help. 
<o:p></o:p></p>
</div>
<p class="MsoNormal">Many thanks,<o:p></o:p></p>
</div>
<p class="MsoNormal">Jaime<o:p></o:p></p>
<div>
<p class="MsoNormal"><br>
-- <o:p></o:p></p>
<div>
<pre>Jaime L. Margalotti<o:p></o:p></pre>
<pre>Senior Assistant Librarian<o:p></o:p></pre>
<pre>Manuscripts and Archives Department University of Delaware Library<o:p></o:p></pre>
<pre>Newark, DE  19717-5267<o:p></o:p></pre>
<pre>302-831-0554<o:p></o:p></pre>
<pre><a href="mailto:jmargalo@udel.edu" target="_blank">jmargalo@udel.edu</a><o:p></o:p></pre>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>