Good to go on Wednesday.
I've sent the 1800 decade XML data file to SD for an initial proofing. Stewart did the bulk of the raw-to-XML transformation using a series of GREP statements. For this final transformation, I used XSLT to convert raw text to 'normalized' values that match against the RNG validation file. Here's how the validation currently breaks down:
- The XML file has 41535 lines
- 116 of these lines (0.003%) do NOT validate
- Of these errors, nearly all of them (100 / 116) are either empty jury_type elements or empty crime_text elements
- The rest of the errors are mainly due to crimes or outcomes that didn't fit into any category (at least, to my untrained eye)
The remaining errors will need a 'trained' eye to be fixed on a case-by-case basis. Once SD is happy with the data then he'll return it and I'll perform a further transformation that will import the data into the MySQL database (for which the XSLT spreadsheets have, luckily, already been written).
I've also been spending some time this morning ensuring that the XSL files used in the transformation are well-documented.
A CyberMystère user notified me that some links weren't working (here: http://www.mysteryquests.ca/quests/20/indexfr.html#support).
I found the pdfs in the $homedir/www/quests/20/support/ directory - rather than moving them I copied them to the folder referred to by the link ($homedir/www/quests/20/evaluations/).
Posted presentation in the form of PDF, and linked to it, on DR's instructions.
2.5.2 - ok
2.5.3 - ID1251, Hercules bring in the Cerynitian hind (correct spelling to "Hercules brings in…"?) "event/character/citation"
- ID423, ibid "event/place"
2.5.4 - ok
2.5.5 - Augeas (1) is son of the Sun (Helios) (add relationship?) "character/character/citation"
2.5.6 - ok
2.5.7 - ID2007, Amphion dies (does not belong in 2.5.7) "event/character/citation"
- ID1289, ID1754-1755, bull carries Europa for Zeus… (event is mentioned twice, but ID1754-1755 also cite 3.1.1, remove ID1289?)
2.5.8 - ID1304, Home of Abderus (character involved is "Abdera", is this correct or is the character supposed to be "Abderus"? Text says "…Abderus, who was a son of Hermes, a native of Opus in Locris…", please clarify) "event/character/citation"
2.5.9 - ID1801, Poseidon is god father of Mygdon (is this correct? please verify) "character/character/citation"
- ID1310-1316, Hercules as some volunteers, on their way to get Hippolyte's belt… (change to "Hercules and some volunteers…"?) "event/character/citation"
- ID459, ibid "event/place"
- ID1317-1320, Hercules and crew help Lycus in a battle against King Mygdon of the Bebryces (add Mygdon to this event?) "event/character/citation"
- ID1326-1328, Hercules rescues Hesione (Hesione is mentioned twice, is one of these citations supposed to be Laomedon instead? He is not mentioned but he participated in this event) "event/character/citation"
- ID1329-1331, Apollo and Poseidon fortify Troy (should we change this so as to avoid confusion "Apollo and Poseidon fortify Pergamum (Troy)", wikipedia and Herodotus 7.43 state that Pergamum was the ancient citadel of Troy and Laomedon was a Trojan king, the text is a little confusing here since it uses them interchangeably)
- ID464, ibid "event/place"
- ID458, blank (blank event with character "Thermodon", erase this?) "event/place"
2.5.10 - ID1989/2214, Echidna and Poseidon are god parents of 'an immortal dragon' (if this is referring to Orthus, then can we delete these 2 records? There is no specific mention in 2.5.10 of a dragon borne to Echidna and Poseidon) "character/character/citation"
- ID1342, Hercules puts up pillars (would it be ok to be more specific here, "at the boundaries of Europe and Libya [is this modern day Gibraltar-ish area?]") "event/character/citation"
- ID2622-2623, A bull from Geryon's herd escapes Hercules (Apollo and Hyacinth (1) are mentioned as being involved in this event, but I cannot find them in the text, please clarify) "event/character/citation"
2.5.11 - Typhon and Echidna are god parents of the 'immortal dragon' with a hundred heads (add relationships?) "character/character/citation"
- ID450, Emathion is son of [blank] (change father to "Tithonus"?) "character/character/citation"
- Should we add an event "Hercules is ordered to do an eleventh labor, fetching golden apples from the Hesperides, since Eurystheus did not acknowledge two of Hercules' labours"?
- ID1395, Phrasius advises the Egyptians to make human sacrifices to Zeus (should this be changed to reflect that in particular strangers were sacrificed, and that Phrasius himself was the first to be sacrificed?) "event/character/citation"
- ID1396, Hercules steals a cow and eats it (text says he sacrificed a bullock, or young bull, should this say "bull" instead?) "event/character/citation"
2.5.12 - ID1418-1419, Hercules goes to be initiated (Hercules and Eumolpus (1) are noted, should we also add Pylius? Text says "since [Hercules] proposed to be initiated as the adoptive son of Pylius") "event/character/citation"
2.6
2.6.1 - ok
2.6.2 - Add event "Hercules gets an oracle by himself, which declares that to be free of disease he must be sold, and serve for three years"?
2.6.3 - ID1461-1462, Tmolus rules Lydia, Omphale takes over after he dies (text says "…Omphale, daughter of Iardanes, queen of Lydia, to whom at his death her husband Tmolus had bequeathed the government", change to say "Tmolus rules Lydia with Omphale, after her father Iardanes dies and bequeathes Lydia to Tmolus"?) "event/character/citation"
- ID523, ibid. (change location of event to "Lydia"?) "event/place"
- ID1471, Hercules buries Icarus (Hercules is involved in this event, add Icarus also?) "event/character/citation"
- ID1475, Hercules musters a group of volunteers to sail to Troy (doesn't belong in 2.6.3, move to 2.6.4) "event/character/citation"
- ID532, ibid. "event/place"
2.6.4 - Add Podarces as son of Laomedon (1)? Also, Podarces is referred to as Priam in the text, add Priam as son of Laomedon (1) also?
- ID85/499, Hercules' expedition to Ilium (Oicles and Telamon are part of this group, but not Hercules, add?) "group/character/citation"
- Hercules thanks Telamon by giving him Hesione as a prize, does this mean that she is his spouse? Please clarify, also for future references of spoils of war if humans are taken does that make them spouses or slaves, or both? I suppose context will be very important in issues like this.
2.7
2.7.1 - ok
2.7.2 - ok
2.7.3 - ID547, Hercules attacks the Lacedaemon with Cepheus… (change to "Hercules attacks Lacedaemon…"?) "event/place"
2.7.4 - ID554, A bull from Geryon's herd escapes Hercules (does not belong in 2.7.4) "event/place"
2.7.5 - ok
Leaving early.
The same thing that happened at the beginning of last year, which I blogged here, has happened again. All data in the doc_to_docTypes_id field was set to null between August 16 and August 17 last year. I've restored it using the INSERT statements in the preceding backup, processed using Transformer 3 in my Win7 VM, using a sequence that builds UPDATE statements. However, I still have no idea how this could possibly be happening. I need to take a close look at the db itself. Googling reveals nothing....
I've set up the dev version of the new db, and passed the URL to JW for a quick test before copying it to create a live version:
- Checked out copies of the AdaptiveDB code into the live and dev trees.
- Created creds.php files.
- Set up .htaccess files.
- Created a local_classes.php file.
- Modified the instructions.inc and the other includes for the new project name ("Manifestoes").
- Uploaded the dev version and briefly tested it.
While writing the XSLT stylesheet for the Bailey project XML data, I stumbled across a misleading 'gotcha' when using the XPath function empty(). Basically, empty() will ALWAYS return false as long as the element being tested exists. So, if your XML chunk looks like this:
<alias />
And your XPath looks like this (in this case, within XSLT):
<xsl:when test="empty(./alias)">
That test will always return false since <alias> exists. To test whether an element is empty, use the string() function. For example, if we want to determine whether <alias> is empty (which it is):
<xsl:when test="not(string(./alias))">
string() will return the string value of the element, which, in this case, is empty (but not empty() - hah).
P.S.: Martin reminded me that empty() is actually for sequences, which explains the weirdness when used with an element. But that, of course, leads one to wonder why empty() doesn't throw an error when used with a non-sequence...