Marked up the rest of the document (in-text tables, and appendices), and added a few new features and tweaks to the table rendering code. You can now do:
To create a table which has no borders, for layout-only purposes, and you can control the width of individual columns in a table (in the PDF output) by setting a rend attribute in the appropriate cell in the first table row:
<table> <row> <cell rend="column-width: 20em;">...</cell> <cell>...</cell> </row> [...] </table>
This forces a width of 20em on the first column in the PDF. This is important because otherwise, the PDF renderer does no intelligent table-column width calculation; it just distributes the width equally across the cells. It's not so important with the XHTML output because browsers do a good job of calculating and laying out cells, so the setting is ignored in the XHTML output.
I'm looking forward to being able to integrate FOP 0.95 into a new Cocoon/eXist build, so we can get around some of the keeps-and-breaks problems with the ancient FOP we have. RVDB's recent Cocoon-building scripts should help a lot with that.
Four of the figures in this document are actually tables, so I'm now marking those up. The first one throws up something we haven't dealt with before, notes below tables; I've now added handling for those, and in the process I also realized that we've been processing the heading for a figure which is a table in the wrong place; in APA, Chicago and MLA, the figure heading goes below the figure, UNLESS it's actually a table, in which case it goes above. I've now revised the XHTML and PDF rendering to make that work properly.
There's more work to do here, but once it's done, I can document table markup properly.
Only the two appendices to go, and I've laid out the structure for them (they live in the
<back>, before the bibliography).
The structure of the main document (the
<text> element) looks like this:
<body>(main text content)
<body> element are one or more
<div>s, which can be nested. Each
<div> may begin with a
<head> element containing its heading, followed by a series of paragraphs (
<p> tags) or other
<div>s. A typical structure looks like this:
<div> <head>Introduction</head> <p>Intro paragraph...</p> <p>Intro paragraph...</p> </div> <div> <head>Section 1</head> <div> <head>Section 1.1</head> <p>Para in section 1.1</p> <p>Para in section 1.1</p> </div> <div> <head>Section 1.2</head> <p>Para in section 1.2</p> <p>Para in section 1.2</p> </div> </div> <div> <head>Section 2</head> [...] </div> [...]
The formatting of headings will be handled automatically, according to the APA styleguide, based on the level of nesting.
The first section, a review of the literature, is very dense with references, so it's quite time-consuming to mark up. Found one missing reference, and wrote to the author.
It was huge (52 items). Grr.
Perhaps this is one of those articles where the author includes everything s/he has ever read in the biblio, even if it's not referenced in the text...
... expanded the instructions for biblio entries, and also added an item on marking up abbreviations.
All abbreviations need to be tagged, so the system can provide an appropriate mouseover hint to help readers who aren't sure what they mean (and to help populate our abbreviation index). This is how to do it:
<choice> <abbr>CAIN</abbr> <expan>Computer Anxiety Index</expan> </choice>
The system will be able to look back in the text to find the expansion for each instance of the abbreviation, taking it from the first, fully marked-up version.
Marking up the bibliography of an article can take as much as half the entire markup time for the article. This is because the information in a biblio reference is quite detailed, and in order to be harvestable and useful it needs to be marked up carefully. The bibliography also needs to be marked up before the text itself, because the text will be full of links to items in the bibliography, so their
@xml:id attributes must be known before we can mark up the text.. The bibliography of the article appears in the
<back> element of the
<text> element, and it looks like this:
<back> <div type="bibliogr"> <head>References</head> <listBibl> <bibl>[...]</bibl> <bibl>[...]</bibl> </listBibl> </div> </back>
Each item in the bibliography is contained by a
<bibl> element, which looks like this:
<bibl xml:id="aida_1994"> <author> <name><surname>Aida</surname>, <forename>Y.</forename></name> </author> (<date when="1994">1994</date>). <title level="a">Examination of Horwitz, Horwitz, and Cope’s construct of foreign language anxiety: The case of students of Japanese.</title> <title level="j">The Modern Language Journal</title>, <biblScope type="vol">78</biblScope>, <biblScope type="pp">155-168</biblScope>. </bibl>
The original reference in this case looked like this:
Aida, Y. (1994). Examination of Horwitz, Horwitz, and Cope’s construct of foreign language anxiety: The case of students of Japanese. The Modern Language Journal, 78, 155-168.
<bibl>element must have a unique
@xml:idattribute, created from the lower-case surname(s) of the author(s), followed by an underscore and the year of the document. In the case of multiple documents from the same year, add a suffix such as a, b, c etc. The
@xml:idattribute is what will be used to link references in the text to the bibliographical items they refer to.
<title>tag, with the
@levelattribute showing the kind of title it is. These are the values for the level attribute:
<author>tag, which contains a
<name>tag; inside the
<forename>are tagged. For multiple forenames or initials, just use a single
<forename>tag, like this:
<author><name><surname<Holmes</surname>, <forename>Martin David</forename></name></author>Any punctuation (such as a comma between surname and forenames) should be left outside the
<date>tag, and the value of the date is added in the
@whenattribute of the date tag. Normally, in the case of a year, this will be identical to the content of the tag:
<date when="1994">1994</date>but the
@whenattribute takes a formal ISO date in the form YYYY-MM-DD, with optional MM and DD, so in some cases the
@whenattribute will be different from the tag content, like this:
<date when="1994-01">January, 1994</date>
<biblScope>tags, with the appropriate
<ref>tag, with the URL in the
@targetattribute; whatever you would like to show as the linked text (usually the URL itself) should be inside the
Here are some more real-life examples:
<bibl xml:id="chun_plass_2000"><author><name><surname>Chun</surname>, <forename>D. M.</forename></name></author> & <author><name><surname>Plass</surname>, <forename>J. L.</forename></name></author> (<date when="2000">2000</date>). <title level="a">Networked multimedia environments for second language acquisition.</title> In <editor><name><forename>M.</forename> <surname>Warshauer</surname></name></editor> & <editor><name><surname>Kern</surname>, <forename>R. G.</forename></name></editor> (Eds.), <title level="m">Network-Based Language Teaching: Concepts and Practice</title> (pp. <biblScope type="pp">151-170</biblScope>). <pubPlace>Cambridge</pubPlace>: <publisher>Cambridge University Press</publisher>.</bibl>
<bibl xml:id="daly_1991"><author><name><surname>Daly</surname>, <forename>J.</forename></name></author> (<date when="1991">1991</date>). <title level="a">Understanding communication apprehension: An introduction for language educators.</title> In <editor><name><forename>E. K.</forename> <surname>Horwitz</surname></name></editor> & <editor><name><forename>D. J.</forename> <surname>Young</surname></name></editor> (Eds.), <title level="m">Language Anxiety: From Theory and Research to Classroom Implications</title>. <pubPlace>Englewood Cliffs, NJ</pubPlace>: <publisher>Prentice Hall</publisher>.</bibl>
<bibl xml:id="blake_2000"><author><name><surname>Blake</surname>, <forename>R.</forename></name></author> (<date when="2000">2000</date>). <title level="a">Computer-mediated communication: A window in L2 Spanish Interlanguage.</title> <title level="j">Language Learning and Technology</title>, <biblScope type="vol">4</biblScope>, <biblScope type="pp">120-136</biblScope>. Retrieved <date notAfter="2004-03-05">March 5, 2004</date> from <ref target="http://llt.msu.edu/vol4num1/blake/default.html"></ref>.</bibl>
teiJournal is a project to create a scholarly journal publishing system based on TEI P5 XML, using Cocoon and eXist.
|<< <||> >>|