Trying to keep the regular projects moving forward while also making progress with QT...
Made some progress today, getting the XML declaration highlighted, and also simple XML tags. For XML tags, the simplest approach seems to be to treat the tag start (< + optional slash + tag name) as one match, and the tag closer (optional slash + >) as another; this allows for highlighting of the tag contents separately, and also handles the problem of multi-line opening tags (pattern matching in the syntax highlighter component is through QRegExp, which seems to work line by line).
I still haven't figured out how to get the DTD declaration to highlight (it's on two lines); it looks as though I might have to take the same approach as with comments, and I'll need to figure out how to handle two different highlighting requirements using that approach. Handling attributes and their values is going to be a bit more complicated, because I'm not sure that I can definitively say whether an att+value combination is inside a tag or not; QRegExp supports lookaheads (but not lookbehinds). Finally, one remaining problem is specifying with accuracy the XmlName pattern for tags, which I haven't bothered to do yet (I'm just using an ascii model for the moment).
Had a couple of conversations with Greg, and meeting with RS. The home1t file-system is reaching its capacity of 4 TB (can only be expanded by outlay of $6000 to $8000 for more drives). To facilitate maintenance and ease of recovery, we want to get that down to less than 2 TB.
ETCL occupies about 3/4 of that and grows faster than all other projects combined. So we plan to move the ETCL tree to its own filesystem. We've recently been working to create a 4 TB filesystem for INKE. That project has little data now but will have more coming. Considered putting ETCL and INKE into one filesystem, which could be expanded later fairly painlessly (sys-admins approving). RS prefers to have two separate filesystems, and not have to worry about expanding either for a long time. Getting an addition filesystem will require the RS request it. I sent an email summarizing situation which RS may wish to use in support of any such request.
Worked most of the day on the rendering of editorial articles (modern content). The tricky part has been figuring out how best to re-use a lot of the rendering functionality we already have (such as reference and footnote popups) while still separating out the article rendering so that it can be differentiated where necessary from the anthology content, without duplicating code. I have a new XSLT file called article_p5_to_xhtml.xsl, which is not long, but takes control of the processing at a crucial point, and a new rendering @mode attribute in the XSLT which can be used to fork the processing at various points. All documents still commence their processing with index.xsl, though, and inherit all the main site components at that point.
The basics:
- Articles are retrieved from the URL
/article.htm?id=whatever. - Bibliography items and lists which are fully defined in the original document are rendered visibly in the output, before the footnotes; they're also available as popups from links in the main body.
- Bibliography items which are referred to, but which reside in the main collection bibliography, are retrieved into the document but hidden; they are shown when the reference link is clicked on.
- Footnotes are rendered at the bottom of the document, but also shown as popups from buttons in the text.
- References should work like main-collection biblio items, although there are none in this article anyway.
- Links to anthology documents can go to the document, or to a page in the document (if there are pages with numbers captured by the appropriate tags), or to annotations in image markup documents.