PAB came with a case in which one document was correctly showing a keywords while three were not, although they appeared identical. It turned out that the one that was working was doing so accidentally because elsewhere in it, there was a correctly-configured reference to the item, while the others had only the keyword entries which crucially were name elements lacking the @type attribute. Let PAB know; when she's fixed all such instances, I'll add a trap to the Schematron for this.
Category: "Activity log"
I'm now in the process of adapting the XQuery and XSLT from the Cocoon-based site to create static versions of the pages, and I'm making steady progress. One issue is that I'd like to avoid the use of the custom Java collation for sorting, just for the sake of simplicity, so I'm wondering about implementing the same thing in XSLT; it may not be worth it, though. We've been having discussions with PS about how the redesign might work, and I think the best approach right now is to generate something similar to what we have, and implement the JS-based search functionality, then worry about the actual design when PS has some more time.
Starting work on the Ending-ization of the project, I've written the process that expands the XML into standalone pages, added validation for those pages into the system, and started a reorganization of code to make the build process easier.
In preparation for Endings-izing this project, I've set up a Jenkins build job, and reworked the schema build and the validation process completely, following the model of DVPP. In the process I discovered a useful thing worth documenting. I had a Schematron rule which required the reading of an XML file, whose location was specified relative to the ODD file/RNG file location. However, when compiled Schematron was created elsewhere, this didn't work. Therefore I rewrote the rule so that it resolves a relative URI against the context file, like this:
<constraintSpec ident="biblCorrespPointsToBibl" scheme="schematron">
<constraint>
<sch:rule context="tei:bibl[@corresp]">
<sch:let name="biblId" value="substring-after(@corresp, 'bibl:')"/>
<sch:assert test="doc(resolve-uri('../biblio/biblio.xml', base-uri(.)))//tei:bibl[@xml:id=$biblId]">
ERROR: The @corresp value should point to the @xml:id of a bibl element
in the biblio.xml file (<sch:value-of select="$biblId"/>).
</sch:assert>
</sch:rule>
</constraint>
</constraintSpec>
Did a lot of work on schema and documentation, implemented some code changes using prefixDef structures, normalized a bunch of inconsistencies, and built a project file for both of us. Then PAB came in and we got her set up with svn and checked out the repo.
Met today and officially moved the XML over to svn, although PAB won't edit at all till next week; meanwhile, I'm fixing and constraining:
- The ODD file, which was huge and generic, is now much tighter, allowing only used elements, and including fixed valLists and Schematron to help editing.
- Inconsistencies in linking, ids, naming and so on have been fixed as a result of the much tighter schema and enhancement of diagnostics. Many improvements there.
- Began the process of changing full path links to prefixDefs; more to do there.
- Fixed XSLT and XQuery to take account of changes in markup to bring in line with 2018 TEI.
Next steps: Finish prefixDefs and processing implications, add more and fiercer diagnostics, add documentation for SVN to the ODD file, build ODD file documentation generation into the process, then train PAB with svn and hand back the process to her. The start writing the static build process.
Met with PAB and discussed our previous plan; decided not to create smaller versions of images. I will proceed with the rest of the plan as previously outlined (basically making it an Endings project) when time permits.
PROJECT PLANS, MAY 2017
Preliminary stuff Trish does first:
- creating all the multiple-size versions now allowed following agreement from Danish National Library.
Stage 1: Specification for the new site menu and image array:
- Main menu must work on all devices.
- Thumbnail array should use grid layout and be flexible for all devices.
Display all images in grid layout.
Each image has a descriptive caption (currently @title).
When an image is clicked on, the grid disappears, and is replaced by a button for "Show thumbnails".
The record appears.
When you click on "Show thumbnails", all the images appear again above the current record.
Stage 2: Move data into svn (XML, not images).
Stage 3: Redesign pages in HTML5.
Stage 4: Write build process to create pages.
Stage 5: Implement Jenkins build.
Stage 6: Implement XAR creation in build process.
Stage 7: Roll out new eXist and test.
Stage 8: Replace original app.
Per PAB, added a new caption to the search results pages.
I've simplified the build process so that it just rsyncs a backup from the db into the repo, rather than trying to figure out whether it needs to or not. I've finished the diagnostics process, which reveals a highly-consistent and well-managed dataset, and sent the one or two little inconsistencies to PAB to fix. I think I'm done with work on this now until we know for sure that all full-size images can be shown, in which case PAB needs to finish creating the displaysize versions, and I then need to turn the displaysize image into a link to the full-size one.
I've written a couple of the diagnostics procedures and forwarded some early output to PAB.
Met with PAB to discuss tweaks to the application, archiving, and future work. I've set up a new SVN repo with just the key data in it (no images), and I'll pull the XML from eXist into that periodically; I have the beginnings of an ant task to do this, and to run some diagnostics which I've yet to write.
The title "Óðinn Riding Sleipnir" was showing up twice in the list of titles, even though the list is created from distinct values with space normalized. It turned out that character 2028, an invisible line break character, was present in two of the three documents concerned, and normalize-space does not seem to remove that character, so that was the cause of the duplicate value. PAB will fix the source XML. Noted here for future reference.
Trying to abstract the combined keyword/text search into a separate library yesterday was very problematic, but I took a simpler approach this morning and simply copied and adapted the code from search.xq into advanced_search.xq. The result seems to be working perfectly -- the keyword/text search is done first to retrieve a set of @xml:ids, then the search is done on those ids, with additional filters provided by the other form controls.
PAB wants to combine the simple search (which is actually very complicated behind the scenes, since it does keyword lookups and combines them with supplementary text-searching) with the advanced search filters. This is proving virtually impossible, partly because it's just too messy -- you'd need to retrieve a document set from the keyword search in a separate step, and then filter it -- and partly because I just don't have time to implement it properly before the launch. I'll have a couple more shots at it, but things aren't looking good so far.
Made a few other changes and fixes requested with PAB, and hid the text search box, since it's doing what it says on the box (a text search), and not what PAB wants (a complicated keyword search).
I've implemented the advanced search as a separate page, and got it basically working, although some missing bits in the encoding mean that it's not finding everything it should (e.g. dates are missing @whens sometimes).
Met with PAB and made a number of fixes:
- Created a new copy of all the images in a folder called displaysize, and resized some of them to comply with owners' requests; the webapp now draws from that folder.
- Made changes to menu captions, and added a new menu item and placeholder page for it ("In progress").
- Removed authentication by commenting the relevant bits of the webapp's web.xml file, and restarting the webapp in the Tomcat manager. The Tomcat config still has the user set up, but it's no longer being used for anything.
- Fixed a couple of layout bugs.
We also made a plan for an advanced search, which I'll document in more detail here before I try to implement it.
Following PAB's instructions based on a request from her supervisor, the MyNDIR project has been temporarily password-protected. To do that, I followed my own instructions here. One wrinkle worth documenting:
After making the required changes, I tried restarting the webapp in the Tomcat manager. This appeared to work; however, when I tried to access it, I was challenged for authentication, but the authentication was not accepted. It seems that Tomcat perhaps does not re-read its tomcat-users.xml file unless it's restarted, so although Cocoon knew authentication was required, Tomcat was unable to process it. So we tried restarting Tomcat (in this case, tomcat-dev), logged on as me using sudo on the init script as documented elsewhere. This generated a problem we have seen before: the running instance of tomcat-dev failed to stop, and when a new process was started, we ended up with two running. The only way we could find to solve this was to su to hcmc (under which the processes run), and kill both of them. The first (the new one) was effectively killed with just kill, but the other required kill -9. Once both were stopped, we were able to run the init script (as me, using sudo), and Tomcat restarted. Greg is asking sysadmin to figure out what the problem might be here; we've encountered it several times now.
In the changes we rather hurriedly made last week, I neglected to update the JavaScript that handles the related items links. That was still pointing at index.htm instead of doc.htm. Now done.
PAB came by and we made the following changes:
- Standard document display is now handled by doc.htm rather than index.htm. All XSLT which outputs links and menu items has been changed.
- index.htm now redirects to page.htm?page=home. PAB will create a home.xml page in a home folder, analogous with "About".
<head>elements in<list>s and<listBibl>s are now formatted as<h3>tags in text.- Note: in order to inherit site page styling (correct margins in particular), a page such as
about.xmlmust have an@typeattribute on its main content<div>(the first<div>in<body>). It doesn't matter what the value of the@typeattribute is, but it must be present.
Met with PAB and made the following minor tweaks:
- Added illustrator's name to the mouseover title in the sliding array of thumbnails.
- Added XSLT handlers for bulleted list content in the Contact and Links pages.
Met with PAB and made these changes:
- Moved the XML source link down to the bottom of the document metadata field list.
- Added handling for Research Notes (stored in
<notesStmt>in the<teiHeader>). - Added more sophisticated handling for the
<ref>tag so that one item can link directly to another in this wise:<ref target="Nks1867-098v.xml"></ref>
while preserving the normal functionality for external links.
Meeting with PAB, during which we:
- Figured out a couple of typos in the XML that were causing odd behaviour.
- Reconfigured the page header so that it includes a header graphic (one of the images, resized and recoloured).
- Modified some XQuery, XSLT and CSS so that any images with status="restricted" are bordered in red, and have a warning message in the title attribute.
PAB wanted to change some labels in the site, so we did that, and in the process discovered that the main site menu had hard-coded captions rather than drawing them from the strings.xsl file, so I fixed that. We want strings to be centralized in case they need to be translated. I also fixed a rendering bug with <persName>, and then we tested the site on IE8 and IE9 beta (it works fine). It's looking good.
Second meeting to discuss changes yesterday:
- Menu layout and appearance has now been updated.
- A problem with a "creature" item being referred to with
<persName>has been diagnosed. - Bibliography entries with the same author name as the preceding item now render as "---" automatically.
I've now implemented all the features from our plan this morning:
- The old pipeline for biblio.xml has now been generalized into a single pipeline for handling all non-document pages; this is based on a URL like this:
page.htm?page=about, which causes a lookup in the database like this:collection(concat('/db/myndir/', $sitePage, '/'))//TEI[@xml:id=$sitePage], where$sitePagecomes from thepageURL parameter. - The keyword menu has now been fixed so that it works on all these pages.
- The bibliography for individual documents is being correctly retrieved and rendered; to save space on the page, it's not displayed until you click on a button next to its caption.
- There's an additional main menu in the page title box, which links to all the site pages.
Then went onto bug-fixing, and one obvious bug was in the popups, in which all the text appeared to be a link to something irrelevant. After an hour of trying to figure this out, I realized it was caused by there being an empty self-closed link in the keywords box; this turned out to be caused by the fact that PAB had invented a new class of thing called "nouns" in the names.xml file (which she let me know about back in May), and then commenced linking to them using the <term> element. My code knew nothing about either of these things, because I had neglected to implement the handling code, so the relevant "noun" was not being retrieved, hence there was no text to form the link in the keywords box. Fixed now, but mighty puzzling for a while.
AJAX is cool and all, but in this particular case, staying on the same index.htm page and retrieving documents into the body of it was causing navigation problems; state would be lost if you navigated away to another site. I've now reworked the site so that when you call up a document, you get a hard distinct link to that document (using URL parameters), so that you can navigate away and then come back using the browser's Back button. This required ensuring that the find and kwId parameters used for searching were also preserved across pages, so that the retrieved subset of images is retained as you move from image to image.
Meeting with PAB to finalize the remaining work for phase 1:
Bibliography:
- Many image documents contain references to items in the main bibliography. These are in the
<back>matter of the file. The back contains<div type="bibliography">, containing one or more<listBibls>, each with a head and some<bibl>s. These need to be expanded into working lists. A Bibliography heading should appear after "Rights", and there should be a little button after it with the caption "View", which expands the biblio in place. - On the main biblio page, the alphabetic menu is not working. Fix it.
Search/navigation:
Currently, when you click on an item in the image array, the item is retrieved by AJAX and dumped into the current page. This is not ideal, because if you navigate to another page, the Back button takes you back to index.htm without your selection. It is possible instead to navigate to the XHTML view of the document, including the search parameters, by using a URL like this: index.htm?id=SAM66-074v&kwId=auger01. This should be the default behaviour, removing the need for the "XHTML" link on the document view, and making browser navigation more intuitive.
Menu
This should go inside the title box, and have the following links:
- Home (replacing the link on the full title).
- About
- Contact
- Bibliography
- Links
About, Contact and Links all correspond to pages in subcollections in the db, so these will need one or more rendering pipelines and probably some XSLT.
I have been away on a research trip for the past month and returned on Sunday evening. In the past two days, I have:
- revised the items in bibl.xml and did away with
<biblStruct>so that they are all<bibl>now. This will simplify rendering the code. - revised my bibliography to follow the MLA 7th edition Style Guide which now requires adding the medium of publication as the last item of the citation so I have tagged it as a note
- revised the description in Nks1867-110r.xml to reflect the research discoveries that I made this summer and added Hyrrokkin to names.xml
- added Link to E-manuscript in
<availability>for the sites for Nks1867 and SAM66. I would like to have these links open in a new window so that closing or using the back arrow would take the viewer back to the original MyNDIR page.
Note - I created a new schema on May 26th that includes @global.linking in order to enable <availabilitycorresp> on each bibliography item. Will update MH's when we meet today.
PAB updated the biblio and a couple of other documents, and sent some queries which I've answered. The biblio display seems to be working OK -- some formatting tweaks are needed, but those are in the XML. It's now standardized on <bibl> rather than <biblStruct>, which is a relief. PAB has more plans for a JavaScript image viewer, which I took a look at, but this was not in the original plan, and unless it's dead simple I don't think there'll be time for it. I don't see any value added from it either, at the moment, given the standalone nature of each of the images in this project.
Noticed a validation error due to the use of @corresp on <bibl>, and traced it to the fact that the schema I have doesn't include the Linking module. Checking whether PAB's does; if not, we can generate another one tomorrow.
Wrote the XQuery to retrieve the biblio file (one line, basically), and added some new handlers and modifications to tei.xsl, as well as two new pipelines to sitemap.xmap, so that the bibliography XML and XHTML can be retrieved and rendered. This is working down to the individual items, but the items themselves are not being rendered yet because PAB hasn't decided whether to use <bibl> or <biblStruct> (currently both appear in the file); and once that decision is made, we need to know what style guide to target.
I came across a bug due to competing template matches in the XSLT for titles, when clicking on the XHTML link for individual documents. This was presumably caused by my quick ad-hoc fix for the previous <title> problem. I've now simplified the handling of <title>s, dividing them into those which have @ref attributes (which need to be turned into links), and those which don't. The former are handled as part of a larger template that deals with the whole class of elements which need to be linked from their @ref attributes, and the latter handles all other <title> elements.
I've also added retrieval code for the bibliography in each document -- for each <bibl> in the bibliography in back, the the XQuery now pulls back the corresponding <biblStruct> element from biblio.xml. These are not yet being rendered, though; I'm waiting for PAB to tell me where and how they should be displayed.
I worked yesterday and today on:
- DnKrn-1898-UVic-bk07-297-01
- AtLnTc-1939-309-02
- AtLnTc-1939-310-01
I uploaded the xml files, the full images and the thumbs for all of the above. The image count now stands at 94.
I am considering taking the titles of resources out of the names.xml file and making the biblio.xml file into an annotated bibliography.
Did a couple of ad-hoc fixes so that the default message explaining that an image is unavailable has now been replaced by the appropriate text content from the <availability> tag in the header. Also implemented formatting for titles (m, j and a), but this is only working in a limited way because default handling for style conflicts with other templates elsewhere which are picking out specific titles for special handling (linking etc.). This will have to be dealt with in more detail later.
I marked up and uploaded Jakob Sigurdsson's "Deluding of Gylfi" illustration from IB 299 and linked all four of his illustrations of this scene to each other.
I also marked up and uploaded Louis Moe's illustration of Thor from Danmarks Kronige.
The image count stands at 91 items. The last 9 will include 5 more illustrations of "The Deluding of Gylfi" from different sources; 3 more illustrations from IB 299; and 1 more from Danmarks Kronige.
Louis Moe's work will not be in the public domain until 2015. I need to revise the message on MyNDIR for unavailable images. It currently states: This image is only available from the Arni Magnusson Institute in Iceland" which at the moment is only relevant to the illustrations from SAM 66.
I removed the keyword item for Thor from SAM66-078v. He is not identifable in this illustration but is in the related image in Nks1867-098v
Images from Danmarks Kronige have to include a book number in their ids because the pages begin at the start of each book, i.e. chapter. For example the id for Thor is: DnKrn-1898-UVic-bk03-070-01
I used <relatedItem> to link the 3 Deluding of Gylfi images in SAM66 and Nks1867, all of which will link to IB299 when I finish it tomorrow.
I also started on the illustration for Gestum Blindi from Nks1867 and will finish it tomorrow.
I created and uploaded rudimentary files for Links, Contact, and About to add to the bottom of the page.
I uploaded files, images and thumbs for 7 ABE, 1 RkHt, and 1 Oslo. The total is now 88 so there are 12 left to do.
MH fixed the linking so that name in desc to <listEvent> in names.xml now displays correctly.
I made a template and started on the markup for the images from SKng-1900 today. I won't upload them until they are all completely finished. These are the illustrations that were created or revised for the second edition of Kongesagaer. Consequently many of them will link to SKng-1899, and vice versa, in <relatedItem>.
I am also going to start working on a manual for MyNDIR.
N.B.: The <name> for an event item in <desc> in each file must have a type="event" attribute. This is not the case for any other item such as artifact, animal, plant etc. which have attributes in the names.xml file but not in <desc> in individual files.
PAB reported a problem with two events which were not being linked correctly in document output on the site. After investigating, I discovered that the cause was the same as it had been when we had looked at the same problem last week: the <name> elements in the document file like a type="event" attribute. Let PAB know how to fix it.
I finished updating all the SKng files which means that all of the current 79 images files have been done. Every file now has a bibliography <div> in <back> and the empty elements in the list link to biblio.xml
I commented out the <div> for contributed resources. I will either do them late or else describe what I intend to do in my dissertation.
I added a keyword for Samuel Laing in all the files for Gerhard Munthe's vignettes. Every file now has a keyword for Snorri but that won't always be the case when I expand my sources for images.
I generated a new Roma schema in order to include linking so that I can use corresp in my bibliographies.
I updated <projectDesc> in Nks1867 and SAM66 and added keyword item for Snorri Sturluson.
I worked on divs in back in Nks1867 and SAM66 by:
- commenting out resources from contributors and reinstate at a later date
- creating entries for biblio.xml
- created empty bibl elements in files to link to bibl.xml
I got started on doing the above tasks in SKng1899.
Reduced the number of items in the drop down list by doing away with numbering the English spelling variations except for Thor and Odinn. Also combined the NKS, SAM, and SKng entries for Thor, Odinn and Gefjon in order to obtain all returns for each name rather than splitting them into mythological and prehistorical. Will do the rest tomorrow.
Got rid of Hel as a place and will explain the ambiguity between Hel as a person and Hel as a place in the <note> in the names.xml file. Fixed other minor errors and glitches.
Created patronyms for the two Eysteinn entries in order to avoid double entries in the drop down list.
Almost finishied the revisions to SKng1899. Still fine tuning the names.xml file. Will reduce the number of items in the drop down lists by eliminating the English equivalents of names containing the letter "eth" with the exception of Odinn. Will do the same with the letter "thorn" with the exception of Thor.
Met with MH and discussed searches and linking individual pages to the bibliography file.
The search from the textbox is basically working now, combining hits found through searching the names file then looking for documents linking to the hits found there with a text search of the <decoDesc> and <provenance> elements in the <teiHeader>s of the actual documents. This involved substantial index configuration, but it seems to be pretty quick. One issue is that hits are not highlighted in the individual documents when they're retrieved; this might be achieved by passing the search string back to the AJAX call which pulls up a document, and then using ft:query to retrieve the document. That should result in exist:match elements for the hits, which we can process into highlighted spans.
Also met with PAB and we worked through a set of fixes and changes, mainly relating to items not showing up on the menus (usually because key markup was missing), and items not completely showing (because I wasn't processing child elements of keywords, just the first-level text children, now fixed).
Update to the post below: this problem was solved on advice from JW on the eXist list, to move the tei xmlns attribute in collection.xconf from the root <collection> element to the child <index> element.
Began working on the Search textbox, which I was going to base on the Lucene index, but after setting up the appropriate collection.xconf and re-indexing, I was unable to make it work. After trying to debug this for a while, I ended up posting a message to the eXist list, which I'll reproduce here because it explains the problem clearly:
When I run this query:
declare default element namespace "http://www.tei-c.org/ns/1.0";
declare namespace ft = "http://exist-db.org/xquery/lucene";
for $p in collection('/db/myndir/names/')//person[ft:query(., "killed")]
return $p
I get no results, but when I run this:
for $p in collection('/db/myndir/names/')//tei:person[contains(., "killed")]
return $p
I get 11 results, as expected. Can anyone suggest what the problem might be?
This is the setup:
eXist was built with Cocoon, with Lucene enabled in build.properties:
include.index.lucene = true
The exist-lucene-module.jar file is present, and Lucene is enabled in conf.xml:
<module id="lucene-index" class="org.exist.indexing.lucene.LuceneIndex" buffer="32"/>
<modules>
<module id="lucene-index"
class="org.exist.indexing.lucene.LuceneIndex" buffer="32"/>
...
</modules>
...
<builtin-modules>
<module id="lucene-index"
class="org.exist.indexing.lucene.LuceneIndex"/>
...
</builtin-modules>
I have the following collections.xconf file at /db/system/config/db/myndir/names/:
<?xml version="1.0" encoding="UTF-8"?>
<collection xmlns="http://exist-db.org/collection-config/1.0"
xmlns:tei="http://www.tei-c.org/ns/1.0">
<index>
<!-- Old full text index configuration. Deprecated. -->
<fulltext default="none" attributes="no">
</fulltext>
<!-- New full text index based on Lucene -->
<lucene>
<analyzer class="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
<analyzer id="ws" class="org.apache.lucene.analysis.WhitespaceAnalyzer"/>
<text qname="tei:person"/>
</lucene>
<!-- Range indexes -->
<create qname="tei:person" type="xs:string"/>
</index>
</collection>
and I have re-indexed the collection. eXist does not appear to be writing any logs, other than a large binary file called "0000000043.log" which is in WEB-INF/data. Cocoon's log doesn't show anything useful.
I have no idea why logging isn't working here. That's something we probably want to tackle, but I have no idea where to start. We also should probably consider building another eXist-1.4 + Cocoon using our build script, in case anything major has been fixed since December, but I'll wait for the response on the eXist list to see if that might help; we have so many projects already using our original build that the time investment in porting would be considerable.
I finished the vignettes and started on the illustrations in SKng.
I put "n" on all the names in the names.xml file that I want to show up in keywords and the drop down list.
I checked all the <term> tags in the names.xml file. Some of them aren't working at the moment. I will figure it out tomorrow.
These were my steps for getting a keyword menu working:
- Wrote a Java class to create a custom collator, reproduced here in full:
package ca.uvic.hcmc.myndir; import java.text.ParseException; import java.text.RuleBasedCollator; public class MyndirCollation extends RuleBasedCollator { public MyndirCollation() throws ParseException { super(myndirRules); } //This is the order we need: //AÁBCDÐEÉFGHIÍJKLMNOÓPQRSTUÚVWXYÝZÞÆÖ private static String ucAAcute = new String("\u00C1"); private static String lcAAcute = new String("\u00E1"); private static String ucEth = new String("\u00D0"); private static String lcEth = new String("\u00F0"); private static String ucEAcute = new String("\u00C9"); private static String lcEAcute = new String("\u00E9"); private static String ucIAcute = new String("\u00CD"); private static String lcIAcute = new String("\u00ED"); private static String ucOAcute = new String("\u00D3"); private static String lcOAcute = new String("\u00F3"); private static String ucUAcute = new String("\u00DA"); private static String lcUAcute = new String("\u00FA"); private static String ucYAcute = new String("\u00DD"); private static String lcYAcute = new String("\u00FD"); private static String ucThorn = new String("\u00DE"); private static String lcThorn = new String("\u00FE"); private static String ucAsh = new String("\u00C6"); private static String lcAsh = new String("\u00E6"); private static String ucOUml = new String("\u00D6"); private static String lcOUml = new String("\u00F6"); //This is the order we need: //AÁBCDÐEÉFGHIÍJKLMNOÓPQRSTUÚVWXYÝZÞÆÖ private static String myndirRules = ("< a,A < " + lcAAcute + "," + ucAAcute + " " + "< b,B < c,C < d,D < " + lcEth + "," + ucEth + " " + "< e,E < " + lcEAcute + "," + ucEAcute + " " + "< f,F < g,G < h,H < i,I < " + lcIAcute + "," + ucIAcute + " " + "< j,J < k,K < l,L < m,M < n,N < o,O < " + lcOAcute + "," + ucOAcute + " " + "< p,P < q,Q < r,R < s,S < t,T < u,U < " + lcUAcute + "," + ucUAcute + " " + "< v,V < w,W < x,X < y,Y < " + lcYAcute + "," + ucYAcute + " " + "< z,Z < " + lcThorn + "," + ucThorn + " < " + lcAsh + "," + ucAsh + " " + "< " + lcOUml + "," + ucOUml); }This is based on this explanation, and it worked first time, out of the box. Used NetBeans to create it. - Added it into
WEB-INF/libin Cocoon. - Created a new XQuery function to pull out all the relevant items from
names.xmland include them in the output to the main page rendering code. - Wrote a new XSLT library to create the drop-down menu, using the custom collation like this:
<xsl:sort collation="http://saxon.sf.net/collation?class=ca.uvic.hcmc.myndir.MyndirCollation"/>
- Set up the menu CSS so that it works with mouseovers. Since we have a search box into which you can type any of these items as well, I don't know whether we need keyboard access to this menu; that might be overkill. But I'll think about it.
- Tested and uploaded.
Finished SAM66 and all of the vignettes in SKng1899.
I finished SAM66 and started on Gerhard Munthe's vignettes in SKng1899. I added <bibl> with a <ptr> and "target" for the verses from Samuel Laing's translation of Ynglingatal.
Finished updating Nks1867 and six files in SAM66
Started updating the code in Nks1867 for the new search critera.
Started changed dashes in ids and attributes:
- changed Loki’s type from “giant-god” to “giantGod” in names.xml
- changed "HrMd-Ride" to "HrMdRide"
Changed xmlids for "Hel" to "HelPerson" and "Helplace"
Changed "Edda" to "PrEdda" for Snorri’s prose Edda in names.xml and in the individual files. (The Poetic Edda will be "PoEdda".)
Changed <rs> to <title> for myths.
Uploaded names.xml and ten Nks1867 files.
I added another category in names.xml for simple nouns. These words are all related to the proper nouns that I have used for keywords.
I couldn't add an xml:id to an <item> in the keyword list in the
individual xml files, and I didn't want to use <name>, so I am using
the <gi> <term> for these words.
I made minor revisions to xml:ids and tags in names.xml. and in individual files.
Met with MH re: search box, keywords, and related items display.
Met with PAB and made the following immediate changes:
- Keywords are now drawn from the
names.xmlfile, and where there are multiple items in a keyword with@nattributes, all are listed in the keyword list; otherwise the first element is taken. - Keyword searching now works by passing a
kwIdparameter containing the@xml:idof the item from thenames.xmlfile. - Related item display has been tweaked to show the
@xml:idof the item rather than the title, because titles are often duplicated. - A handler has been added to the XSLT for
<ref>elements which will be used for external links.
Also firmed up the plans for the Search system and the menu:
- Search will now be a complete search: first it will do a text search of
names.xml, for a list ofxml:ids, and get a list of documents which have those ids in keywords; then it will do a text search of the documents themselves, looking for the search term. It will combine the results into a single list. - The menu will be sorted using a custom Java library I'll write (as I did for Moses and Mariage). The menu will be populated with all the terms in
names.xmlwhich have@nattributes.
I tried several times to upload my files to pear but kept getting an error message. Will try again tomorrow.
I fixed xml:ids where necessary in individual files.
I added new names to names.xml where necessay.
I changed attributes in <birth> and <death> in names.file to "when"
I change <rs> for myths in names.xml into <title>
I fixed other minor errors in individual files
I changed the keyword items in Nks1867-092r and in SAM66-76r into empty elements and also fixed the myth titles and dates. Tomorrow I will work on the keywords, myth titles, and dates in the other 77 files.
PAB reported not being able to use the admin client. I tried myself, and was able to launch it, but couldn't navigate through the collections. Meanwhile, the site itself was not responding. Went into the Tomcat manager and stopped then restarted it. This took a while, but seems to have done the trick for the moment.
This is the plan that's emerging for handling the keywords:
- Keywords will be supplied without content, simply with a pointer to elements in the names.xml file.
- For display on the page, the system will look up the item in names.xml, and if it finds a child element with an attribute value
n="1", it will use that item for display in the keyword box on the page. If it doesn't find an @n attribute, it will use the first child element in the linked item. - Clicking on the keyword in the page should submit a different kind of search parameter, kwId, to the search page; this can be used to search very efficiently in the keywords for any instances of the item.
- The question remains as to how the text search engine is supposed to work. If searches are based on keywords, and keywords are essentially just xml:id attributes, then how can a user conduct a search? This needs some feedback from PAB.
I've hooked up all the various types of list that are retrieved from the names.xml file to the tags that link to them in the documents, and the majority of the popups are now working. Since some tags are not yet finished (e.g. <placeName> elements don't yet seem to have an xml:id, and many elements have ids that don't point to anything yet, or point to the wrong thing, so I've added some traps that help to point that out by highlighting the problems.
Today:
- Integrated retrieval of reference information into
search.xq(which is used to create the index page, and which may have a document id specified for display). Previously I had only got this working initem.xq, which is used for AJAX retrieval of a document for insertion into the existing page. The two XQuery files draw on the same core code inmdhUtils.xqm, but they construct their documents slightly differently. - Added processing for all elements that can contain @ref attributes pointing to reference information, so that they turn into spans with dotted underlines, and clicking on them calls a
showReferenceJS function. - Added a reference popup (HTML in the XSLT, JS and CSS to match), added to the bottom of the page, modelled on the Mariage popup (but simpler because it never retrieves info by AJAX; all info is already in the page, added through XQuery).
- Added rudimentary processing for some of the back matter references, in particular
<listPerson>/<person>, to test the popup. It's working.
Next I need to add handlers for all the other kinds of lists that are being retrieved, and also some processing for basic TEI tags to improve the display of the popup.
...based on postings below from PAB.
<role> and "role" and <roleName>
1) <role>
- I did not have any use for this element because it signifies "the name of a dramatic role, as given in a cast list."
2) "role" in <person>
- I used this attribute in the names.xml file because it "specifies a primary role or classification for the person."
3) I used <roleName> within <persName> when it was part of the name in Old Norse, i.e. Sigurðr jarl for which I provided the translation "Earl Sigurd"
4) I revised the names.xml elements and attributes within the names.xml in order to be consistent with the tag usage described above. However, I think that there is a problem in my other xml files because I used King in <roleName> - with xml:lang="en" - outside of and prior to <persName> for kings in <desc> in my TEI Header. I did this because Old Norse kings are frequently referred to simply by their forename in Ynglinga Saga, and I did not want to mix xml:lang attributes within the <persName>. I am going to have give further thought to this and will likely have to do more revising. I am not sure if <roleName> can be used outside of <persName> in this manner.
I changed <persname> to <name> in desc for Huginn in SAM66-077r and in Nks1867-094r
I took the accent off of the A in Asynur in the subtype for goddesses in names.xml
I changed the title in my <fileDesc> for Melsted Edda to SÁM 66
I deleted author and editor in msItem in Nks1867-092r and SAM66-076r because the set of 16 illustrations forms a separate item from the text of the Eddas in both of the manuscripts.
I updated my <editorialDesc> in the names.xml file, and in Nks1867-092r.xml and in the file for the related illustration in SAM66-076r.xml. However, I will have to update these three again to include that I used "role" as well as "type" and "subtype" attributes in the <gi>list<gi> elements.
Attributes for my <gi> list<gi> elements are:
<name> attributes:
- type="animal" subtype="cow"
- type="monster" subtype="wolf"
- type="bird" subtype="raven"
- type="monster" subtype="serpent"
- type="animal" subtype="horse"
- type="animal" subtype="goat"
- type="artifact" subtype="horn"
- type="artifact" subtype="fetter"
- type="artifact" subtype="gloves"
- type="artifact" subtype="belt"
- type="artifact" subtype="hammer"
- type="artifact" subtype="mead"
- type="artifact" subtype="idol"
- type="tree"
<persName> attributes:
- type="giant-god"
- type="giant"
- type="giantess"
- type="god" subtype="Æsir"
- type="Odins-heiti"
- type="goddess" subtype="Asynjur"
- type="person"
<placeName> attrbutes:
- type="realm"
- type="mountain"
- type="hall"
Within <person> in the lists in the names.xml file I used the attributes:
- role="king"
- role="queen"
- role="warrior"
- role="seeress"
- role="earl
I will explain the reasons for this in my next post.
N.B: I have only changed <persname>, <name> etc. to empty elements linked to the names.xml file in two files so far, i.e. Nks1867-092r.xml and SAM66-076r.xml.
I added type and subtype attributes for the elements in the lists in names.xml
I also added n="1" attribute for Old Norse items that contain an "eth" or "thorn" or an <addName> that requires a translation. Only the first entry for keywords will be displayed if there is not an n="1" but the first and second entries will be displayed if n=1" is present on the first entry.
The next task is to itemize my use of <persName> and <name> as <gi> tags in my <encodingDesc>, and then get on with changing <persName> and <name> into empty elements in all the files.
Created the type attributes for the names.xml file:
- 1. list type="creatures"
- 2. list type="artifacts"
- 3a. listEvent type="mythical"(with 3b. for historical)
- 4. listPerson type="anomaly"> (this one is for Loki who fits in both giant and god categories. He was born a giant but counted as one of the gods. However, there is no evidence that he was ever worshipped. e.g. place names.)
- 5. listPerson type="giants" (includes giantesses)
- 6. listPerson type="gods" (includes goddesses)
- 7. list type="myths" (titles for myths)
- 8. listPerson type="humans" (Odinn is tagged as here as person xml:id="OdiN02 because he is a human chieftain in Ynglinga Saga, the first saga in Heimskringla. Snorre was determined to establish that the origins of the pagan gods was due to the process known as euhemeristism.
- 9. listPlace type="mythical"( with 9b. for historical)
- 10. list type="plants"
- 11. type="sources"
- 12. listPerson type="creators"
- 13.listOrg type="archives"
I missed two files recently when I was fixing the problem created when I added the xml:id attribute to the TEI root element:
- SKng-1899-Oslo-025-01-vgNet.xml
- SKng-1899-Oslo-026-01-vgNet.xml
I fixed these two files listed above and re-saved all of the other 77 files while I was checking the files. I uploaded them all again to the server.
I fixed the misplaced xml:id for Hel as a <placeName> in the names file.
I couldn't find a problem with Huginn (the raven) tagged with a <persName>. I think that I must have fixed it already but hadn't uploaded the file yet because there were other changes to be make. I looked in both SAM66-77r.xml and Nks1867-94r.xml where Huginn occurs in the illustrations, and also in the names.xml file.
In the new biblio.xml file, I created xml:ids for:
- xml:id="SKng-1899-ed-1"
- xml:id="SKng-1900-ed-2"
- xml:id="SAM-66-4to"
- xml:id="Nks-1867-4to"
The xml:ids listed above in the biblio.xml file are different than the xml:ids for these items in the names.xml file.
I added comments in the names.xml file to make sure that it is clear that the xml:ids are different than in the biblio.xml file. These editions and manuscripts, as well as others such the Eddas, are in the names.xml file because I want to write about the circumstances of their creation. For example, the two manuscripts are hand-copied seventeenth-century paper manuscripts because the Church was in control of Iceland's only printing press for a very long time and would not print secular material. As for the editions of Kongesagaer, part of the motivation for creating the deluxe first edition in the first place was to provide a national genesis narrative to aid in Norway's attempts to gain independence from Sweden, and the second edition was actually subsidized by the Norwegian parliament. The second edition was such a success that Kongesagaer became known as Norway's "second Bible."
I should have blogged yesterday about the work that I did on the biblio.xml file. I have added that hour into today's time. I will not neglect blogging in the future. I am using <biblStruct> for articles and monographs and biblio for manuscripts.
Today I wrote the XQuery code which goes through all the linked people, places, names etc. in the document files and retrieves the appropriate entry from the names.xml file, then adds it to one of several lists in the <back> element of the document, before passing the document on. This includes people (and people-like entities such as gods). plants, artifacts, organizations, animals, birds, monsters and events. This is tested and working on the db. The next stage is to write a popup system and the XSLT to render these in such a way that clicking on one of the linked items pops up the info.
In the file Nks1867-092r.xml
- I changed "The Royal Library" to "Det Kongelige Bibliotek"
- I changed all
<persName>and<names>to empty elements that refer to names/names.xml -
I changed
<resp>for editor, author etc. to<resp key="edt"/>etc. - in
<encodingDesc>I added:<tagsDecl><namespace name="http://www.loc.gov/marc/relators/relacode.html"><tagUsage gi="resp">Used to supply editor, author, illustrator, compiler, translator etc.</tagUsage></namespace></tagsDecl>
I created a biblio file and began on the entries
I finished adding brief notes that can be expanded later to the notes element in the names file.
In order to be consistant and only mark up proper nouns:
- I changed berserks to a simple keyword item without xml:id etc. in: SKng-1899-Oslo-040-01-vgNet.xml
- I changed valkyries to a simple keyword item without xml:id etc. in: SKng-1899-Oslo-138-01-vgNet
I added a patronym to the title in: SKng-1899-Oslo-163-01.xml
I almost finished entering material in the note element in names.xml
I made some minor spelling revisions in:
- SKng-1899-Oslo-032-01.xml
- SKng-1899-Oslo-163-01.xml
- SKng-1899-Oslo-294-01.xml
I continued to work on the notes element in the names file.
I made minor changes and corrections in:
- Nks1867-096r.xml
- SAM66-075r.xml
- SKng-1899-Oslo-016-01.xml
- SKng-1899-Oslo-020-02-vgNet.xml
- SKng-1899-Oslo-030-01.xml
- SKng-1899-Oslo-036-01-vgNet.xml
I uploaded all of the above.
Continued working on the names file:
- finished entering spelling variants
- deleted unnecessary comments; also deleted type and subtype attributes
- started making brief entries in the notes element
I made the same changes to all of the SKng files today that I made to NKS1867 and SAM66 yesterday. I uploaded the SKng files.
I revised the names file to the point where it validates with the new schema. I will work on the variant spelling for the names next.
Created a new Roma schema to replace the broken one and started fixing the errors that the old one allowed. Deleted old comments while I was at it and also the stylesheet from the TEIVeiwer Project that never worked. Made the corrections in the 33 files for Nks1867 and SAM66 and uploaded them. Will tackle the 46 files for SKng tomorrow.
Added the collapsing/expanding box for the Provenance data, and also handlers for line-group and line.
Long meeting with PAB during which we discovered that her schema is somehow borked, and validation hasn't been working for her for ages; so there are hundreds of markup errors in the files, such as duplicate xml:id attributes, attributes used in the wrong places, and others. Tried to fix some of them mechanically, but the duplicate ids prevent the XSLT processor from building a proper DOM, so it can't work properly. However, most are the same small number of errors, so they'll be easy to fix.
Still no word from sysadmin with regard to the character encoding issue on Pear.
I entered all of the Norse items today and half of the English versions of the names. I uploaded the file.
I revised SKng-1899-Oslo-040-01-vgNet.xml and uploaded the file.
- corrected a missing xml:id in surrogates in: SKng-1899-Oslo-020-01.xml
- corrected the xml:id and the jpg in facsimile in: SKng-1899-Oslo-020-02-vgNet.xml
- added Yngl to the jpg file name in facsimile in: SKng-1899-Oslo-026-01-vgNet.xml
- corrected a typo in: Nks1867-094v.ml
- corrected: SAM66-078v and SAM-79r
- entered 95 (out of 133) items into the names file with a note element to fill in later
- uploaded the names file
Met with PAB. She wants the following enhancements:
- Provenance to be truncated with an ellipsis and a click-to-expand function, at 300 characters.
- Line groups and lines in TEI code to be handled.
She's still working on the names file.
- Added support for the keyword list, which shows up at the bottom of the item data.
- Made keywords clickable, invoking a search on that keyword.
- Enhanced the CSS with some gratuitous drop-shadows.
- Reworked the footer, so that it doesn't obscure anything (it was position: fixed, which is problematic, so now it's not).
- Made the site title a link to the default find-everything search.
I also investigated how much work it would be to put authentication in place. After copying over the framework that I'd originally created years ago for the Devonshire project, I realized that we have purposely excluded the authentication framework code from our Cocoon build, because it has multiple dependencies and swells the size of Cocoon significantly. If I were to put authentication in place, it would require a complete rebuild of eXist+Cocoon just for this project. I don't really want to go there.
Decided to make the related-item linking more sophisticated, so it can use the title of the target document to create the link; that's more meaningful than the xml:id. I've put this code in a separate module which I can use for a range of utility functions later on, to avoid code duplication, and I've also added a link to view the original XML of the document as well as the HTML link -- this is handy for debugging as much as anything else.
Uploaded all of PAB's latest changes to the db, tested, and found a couple more errors in the files, which we fixed. Then I added links to related items, based on new <relatedItem> tags added by PAB.
Then, while testing, we discovered that character encodings are getting garbled in form submissions on the server; although all of the Cocoon setup is using UTF-8, Tomcat seems to be stuck on 8859-1. This doesn't happen on my local machine, so it's something specific to the server setup of Tomcat. I confirmed that this happens both with Tomcat-dev (hosting MyNDIR) and Tomcat-stable (hosting Graves and ACH). Did some research on our blog, and found a couple of possible causes, both of which I reported to RE:
I organized the xml:ids for 133 vocabulary terms for the names file which I will start work on tomorrow. I have divided the list into thirteen groups:
- Animals, Birds, and Monsters
- Artifacts
- Events (mythical and historical)
- Giant-god
- Giants and Giantesses
- Gods and Goddesses
- Myths
- Persons (mythical and historical, i.e. from the Eddas, Heimskringla, sagas etc.)
- Places (mythical and historical)
- Plants
- Source Materials - mss. and books
- Source Persons - authors, illustrators, editors, collectors
I revised the projectDesc in NKS and uploaded the xml files.
1. took f. out of biblScope for SAM66 and NKS1867, and added the attribute type="ff"
2. added a relatedItem element and a target attribute to SAM66 and NKS1867 for the 15 illustrations that are very similar in the two manuscripts in their groups of 16 Edda illustrations
3) deleted: scale="000" from the graphic attributes in SAM66 and NKS1867
4) revised my projectDesc in NKS1867 and SAM66
5) uploaded the revised NKS1867 and SAM66 files
6) uploaded new SKng files which already have images and thumbs in place: SKng-1899-Oslo-020-02-vgNet.xml; SKng-1899-Oslo-138-01-vgNet.xml; and SKng-1899-Oslo-163-01.xml
I've revisited the web view of the documents, after realizing that it would be a good idea to allow URL access to specific items in the db, so that you can (for instance) bookmark a particular image. You can now pass the id of a document on in the URI as well as a search string, and get the results of the search as well as a single document, and I've added a link in the display of the item which is a "permanent" link to enable bookmarking.
- Met with PAB and worked out where all the info in the item display panel should come from.
- Implemented this in the XSLT, and tested it.
- Added blocking for images which are currently restricted and can't be shared on the web.
- Figured out fixes required for two remaining images not displaying.
- Added HTML anchors to the scrolling image menu, so that the whole thing can be navigated via the keyboard, for accessibility.
- Added some little GUI tweaks so that the selected or focused image is smaller and has a border, making it clear which image is selected.
- Added PAB as a user on the eXist db, with upload permissions to the data collections.
- Had a long discussion about the purpose of the centralized names file, and how it should be implemented, and then used to generate the site menu.
- Deployed the app to tomcat-dev on Pear, and confirmed it's working.
- Let PAB know how to access it.
Spent an hour correcting six individual problems in file names identified by MH and going through the rest of the 79 xml files looking for other occurrences. Didn't find any more.
Decided in the end that there isn't enough time to re-implement the scrolling picture menu myself, so I've brought JQuery into the project. I'm also using it for AJAX, since it's already there. We'll see how robust it is these days. The menu is working, and the AJAX retrieval of item data is working. I've also rewritten the search so that it reloads the page, which is simpler than using AJAX for each search.
I still don't have info from PAB about the locations in files from which specific bits of metadata need to be drawn, and I've also noticed some duplication of data which is making me a bit confused, so I've had to stop for the moment until I can get definite info from her. I think I'll also need to get the names.xml file, and that means the item retrieval will have to be much more complicated than it currently is, because I'll have to draw in data from the central repository file.
I inserted the xml:id attributes for file names and the TEI version number for SKng.
I added the affix 01 to ids for gods, giants, persons, monsters, artifacts etc. in SKng.
I corrected the Mime type from "digital/JPG" to "image/jpeg" in all the files.
I uploaded 79 thumbnails and the revised xml files for NKS 1867, SAM66, and SKng.
Made some progress today:
- Reorganized images and XML on the server, and wrote rsync scripts to bring down changes from there to my machine so it's easy to keep up to date with PAB's changes. Also wrote script to update my local copy of the Cocoon project from my working directory.
- Added a collection.xconf file specifying some index parameters for the db.
- Wrote the search.xq file, and confirmed that it can return results from searches as XML. I still need to add an override so that it only includes the full TEI wrapper document when there's no actual search (or do I? right now, it can handle a search done through GET without AJAX, which might be a good idea).
- Began working on the thumbnail-scrolling banner for the search results. I have it showing what I want -- the images show up from the search results -- but now I have to make it scroll. There's a really nice scrolling component made with JQuery here; I think I'll take that idea, unpack it from its JQuery, and implement it in native code. I really want to avoid JQuery if I can.
I inserted the xml:id attributes for file names and the TEI version number into the headers for the NKS 1867 and SAM 66 xml files. I will do this for the SKng files tomorrow.
I added the affix 01 to ids for gods, giants, persons, monsters, artifacts etc. in NKS 1867 and SAM 66. There are some duplicate names in SKng and more duplicates will likely turn up in the long run.
I realized that I had used a different idno (i.e. SAM66-f.73r) rather than the correct idno (i.e. SAM66-073r.) in the files for the two manuscripts NKS 1867 and SAM 66. I renamed the files for NKS 1867 and SAM 66 in order to be consistent and entered the corrected xml:id file names into the files. This is not a problem in the SKng files.
I proofed the NKS 1867 and SAM 66 files and corrected typos while I was making the changes listed above.
I resized 79 images from NKS 1867, SAM 66, and SKng and then cropped them to 100 x 100 and saved them as thumbnails.
I inserted the xml:id attributes for file names and the TEI version number into the headers for the NKS 1867 and SAM 66 xml files. I will do this for the SKng files tomorrow.
I added the affix 01 to ids for gods, giants, persons, monsters, artifacts etc. in NKS 1867 and SAM 66. There are some duplicate names in SKng and more duplicates will likely turn up in the long run.
I realized that I had used a different idno (i.e. SAM66-f.73r) rather than the correct idno (i.e. SAM66-073r.) in the files for the two manuscripts NKS 1867 and SAM 66. I renamed the files for NKS 1867 and SAM 66 in order to be consistent and entered the corrected xml:id file names into the files. This is not a problem in the SKng files.
I proofed the NKS 1867 and SAM 66 files and corrected typos while I was making the changes listed above.
I resized 79 images from NKS 1867, SAM 66, and SKng and then cropped them to 100 x 100 and saved them as thumbnails.
Created a basic application framework, based around a home page which is also the search page:
- / forwards to index.htm
- index.htm calls search.xq. It may or may not provide a parameter "find" (usually not).
- search.xq provides either search results only, or (if there's no "find" parameter), all items as results, along with a welcome.xml bit to be used as a "splash".
- search.xq is processed through site_page.xsl, which will provide all the basic stuff (style and JS linking, titles, search box, footers etc.). It then depends on search.xsl to process the search results into the two main components (image band and alphabet menu) used for browsing images.
- site_page.xsl also depends on tei.xsl for rendering of basic items, and on strings.xsl for paths to images, captions, and so on.
- If search.xq is called directly by the browser, this is assumed to be an AJAX request, so the results of it are processed only by search.xsl, sending back a new version of the search result browser controls to the page for insertion.
- If item.xq is called, a single item is retrieved by id, and processed through item.xsl, for display in the main content area of the page. This would be invoked by the user clicking on one of the images in the banner across the top.
I've built this basic framework, and started on the XQuery and XSL. What's explained above is of course much easier to understand if you just read the sitemap.xmap file. That's as far as I can easily go for now, because I need from PAB:
- Square (100x100?) images for thumbnails of all the images in the set.
- @xml:id attributes to be added to the document files.
Note for myself and Trish: in addition to images, biblio, and names, we also need a collection called "docs" which contains the actual document images. We don't want them to sit in the root collection, because it'll be a bit harder and more time-consuming to search only those documents. I'm writing my XQuery and XSLT on the assumption that this is the structure.
I've met with PAB, and got XML files and images from her; the images have been uploaded to the myndir account. Next steps:
- Run mogrify -resize x120 to get thumbnails 120px high, for the browse page.
- Write XSLT to take the idno element content and add it to the root TEI element as the xml:id value (makes retrieval faster and easier in eXist).
- Create the site layout plan.
- Implement the plan in the sitemap file.
I've created a Cocoon/eXist setup for the MyNDIR project, based on our regular eXist 1.4 build. I've set up the following structure inside the eXist db:
- myndir
- biblio
- names
- vocab
according to PAB's specification in the December posting. I now need to get some data from her to start building the webapp.
Meet with Martin regarding xml files. The file tree will be: project - MyNDIR - repository.
The repository file contains the xml files for each illustration and also files for:
- images - which contains individual images files plus an image archive file
- biblio - which contains biblio.xml
- names - which contains names.xml
- vocab - which contains vocab.xml
biblio.xml will consist of <listBibl><biblStruct xml:id="blah"></biblStruct></listBibl>
In doc xml:
-
<ref target="biblio/biblio.xml#blah"> -
<bibl corresp="biblio/biblio.xml#blah"> -
<persName ref="names/names.xml#blah">
I marked up all the illustrations for SAM 66 and NKS 1867 in two files before I left at the end of July. However, I have since decided that it would be better to mark up each illustration in an individual file. I am using a full teiHeader, with msDesc in the sourceDesc, and am using msItem to describe one illustration per file.
I created templates for the illustrations in the two manuscripts and have completed the initial mark up. I met with Martin today and we discussed fine-tuning the mark up to avoid tag abuse and to facilitate mapping to Dublin Core.
I am going to:
- add the Linking Module to my schema so that I can change “facs” attributes to “corresp”
- use the “when” attribute in dates that are certain, and “not-before” and “not-after” otherwise
- change the dates for revisions to read year-month-date
- put file size into “extent” for the size of the digital image
- use the attributes: “decls” “height” and “mimeType” in the graphic element to describe the image file and to supply “type” and “format” for mapping to Dublin Core
- use a note element inside persName of contributors in the Resources div to list contributions to the scholarship regarding the individual illustrations
- change “facs” to “xml:id” in the facsimile element
When I create the file for names of contributors, I will:
- create listPerson within the particDesc
- persName will include a “role” attribute to indicate authors, illustrators, etc.
When I create the file for names of gods, giants, monsters etc., I will use a simple list with name placeName etc. within each item
MDH and PAB looked at markup produced so far, discussed some possible changes, and looked at how to map metadata from TEI to DC.
- 1
- 2