ebeshero / Amadis-in-Translation

a project to apply TEI markup to investigate early modern Spanish editions of Amadis de Gaula and their translations into English and French from the 1500s to the early nineteenth century.
http://amadis.newtfire.org
GNU Affero General Public License v3.0
4 stars 6 forks source link

new ODD schema ready and running #66

Closed ebeshero closed 7 years ago

ebeshero commented 7 years ago

@setriplette @HelenaSabel I hope all is well with you both, with Stacey completing the book and Helena finishing the dissertation! I wasn't expecting to work on Amadis all day today, but I've had one of those days where I started thinking I'd check something small in our project, and then realized I'd better fully finish an epic task before I abandon it to chaos. The epic news is that I have finished preparing our ODD file, and I've been outputting and checking and debugging it all day. The output is now, I'm happy to say, running just about exactly as our original Schematron file did.

I've associated the schema with all of our Montalvo and Southey TEI files, and along the way I made a few spot repairs to those files (nothing major). There was just one rule that couldn't find a home in our ODD and that was my Roman numeral checker, which relies on an embedded xsl variable for a special attribute that converts a number to a Roman numeral. You can't write that with a Schematron variable, and the TEI ODD right now just doesn't allow anything other than sch: elements in its Schematron constraints. My workaround is one supplemental Schematron file which runs ONLY on the Montalvo files. It contains just one rule, the Roman numeral checker--which works just fine in tandem with our ODD-generated schema.

Anyway, you'll both want to pull in the changes from the master branch here. All the Montalvo and Southey project files have their new schema associations in place. Let me know if anything looks buggy to you.

Cheers! Elisa of the Helistaceans

HelenaSabel commented 7 years ago

Hello, fellow Helistaceans, Great work, @ebeshero! I’ve pulled all the new stuff and messed up the files so as to look for any validation issues. All the tests were successful, so nothing seems buggy.

P.S.: My dissertation is currently on hold: my predoc contract ended up before I had the time to finish it. I am currently working for a very interesting project thanks to which I’m learning a lot about the Sematic Web. Meanwhile, I try to find the time to work on my thesis on my free time (which it isn't much).

ebeshero commented 7 years ago

@HelenaSabel @setriplette I've now updated the ODD to include Helena's Schematron for our feature structures markup (for classifying the translation types). It took me a little while--I'm learning that ODDs are tricky in the way they incorporate Schematron rule contexts, and each rule needs to be sharply contextualized on the rule element. Things like current() and dot (.) to indicate the current context node or the self:: axis, or if () else to walk through a set of predicates just misfire spectacularly when processed in an ODD, so I've rewritten the syntax to simplify it. (It wasn't hard when I figured out what the ODD needed).

There's one new wrinkle for your Feature Structures processing: Now that we're working in a TEI environment, I found I couldn't easily muck with the content model of the <f> element to allow more than one <string> child. We've been outputting two <string> children sometimes to set a note next to main text (when processing Southey). There's a simple solution in TEI: just wrap the two strings in <vColl> (which appropriately means, collection of values). I'll leave a note on this over on the Tables issue.