We will address the following topics, in roughly the order listed here. The time required for each topic will depend on the materials I can find or create and on your own learning process. We will operate on a “no-student-left-behind” basis and move on only when everyone gets it. We can contract or expand the unit on “Doing things with XML,” depending on how much time we have left in the course.
Guest speakers will visit our class as/when their professional schedules permit. I have extended invitations to staff at the Queen’s Printer and at the Legislature, an open-data expert, a writer of software documentation, a metadata librarian, humanities programmers, research assistants in the humanities, and a lawyer who built a tool for tracking changes in XML-encoded legislation.
- What is markup?
- History of Markup
- Computer Markup languages before XML (snow-day cancellation)
- Brief history of XML, its development, and its uses (snow-day cancellation)
II. Principles of XML and Sample XML Languages
- Principles of XML (XML_WellFormedness)
- The basics of XML markup: elements, attributes, and values
- XML editor (oXygen by Syncrosoft)
- Make up our own language (in a basic XML file)
- Parsing other XML documents (a cookbook with five recipes)
- XML languages or specifications
- XML guidelines for selected languages (My Cookbook, CBML, MEI, TEI)
III. Encoding Data and Documents
- XML compliance versus validation
- Opening a template document in oXygen
- 2020-01-27 and 2020-01-30. Encoding a document with the help of the TEI-Lite schema
- 2020-01-30. Sneak peek at Hansard
- What is Hansard? https://www.thecanadianencyclopedia.ca/en/article/hansard
- House of Commons Debates: https://www.ourcommons.ca/documentviewer/en/house/latest/hansard
- XML file from January 29, 2020: https://www.ourcommons.ca/Content/House/431/Debates/010/HAN010-E.XML
- 2020-02-03, 2020-02-06, and 2020-10. Encoding a document with a project-based schema (Map of Early Modern London). You will need:
- 2020-02-13: Construction of an XML project
- MoEML’s repository: https://revision.hcmc.uvic.ca/svn/london/
- MoEML in oXygen (demonstration)
- MoEML’s databases
- Ontologies and controlled vocabularies (sneak preview of Unit IV)
- 2020-02-13: Namespaces
WYSIWYG editors and web-based platforms[no time]
- 2020-02-24: Tools to help you. OxGarage: https://oxgarage.tei-c.org/
- 2020-02-24: Editing HTML (BONUS feature of class — and a reminder of how XML and HTML are different)
- Survey of other XML editors [I’ll do this survey by handout]
- 2020-02-27: Quiz #3.
IV. Compliance, customization, and documentation
- The XML Specification vs XML languages (which must comply with the XML specification) vs Customization of an XML language
- Document modelling (a key step before you make up an XML language or customize an XML language)
- Schema: Schemas for XML languages versus schemas for projects. What is it? Who makes it? How do you associate a document with a schema?
- Schema versus schematron (.sch). (Schema determines your elements, attributes, and values. Schematron can police aspects of your text node.)
- Looking at various types of schema: https://en.wikipedia.org/wiki/List_of_types_of_XML_schemas
- Documentation: What is it? Who is it for? What does it do? How do you write it? Where do you keep it?
- MoEML’s Praxis Documentation
- Women Writers Project (WWP) Internal Documentation
- An XML language for writing documentation: DocBook. See DocBook’s documentation: https://tdg.docbook.org/tdg/5.2/
- Make your own XSD file (see https://www.w3schools.com/xml/schema_howto.asp).
- Ontologies and controlled vocabularies (we’ve already mentioned this briefly)
V. Doing things with XML
- Styling it (with CSS)
- Inspecting it (with Inspector tools)
- Doing research with it (with XPath and XQuery)
- Transforming it (with XSLT)
- Publishing it (use XSLT and CSS)
- Preserving it (with a nod to the Endings Project)
- Learn GitHub