Supravalidation
SupraSGML validation, or supravalidation for short, is a process we run on our completed files to identify errors and inconsistencies that are not caught by the validation process. Supravalidation reports both actual errors and things it thinks are suspicious; it offers you a report on the encoded text which you can use to decide whether anything needs to be fixed. To run supravalidation on your file, have the file open in emacs, and type Control-c Control-x. The output will appear in a second buffer. To go to the location of a given error message, type Control-x `. After you’ve fixed the errors reported, run supravalidation again to make sure that you haven’t overlooked anything or accidentally introduced new errors.
Below is a list of the different messages you may see in the supravalidation report, and information on how to interpret the results. Some parts of the supravalidation process are a little out of date and these can be ignored as noted.
- Line may be too long to print: this message means that some of the lines in your file are long enough that they may cause problems for our printing routines. Lines typically get long for two reasons: either you forgot to insert an <lb> element (and accompanying carriage return), or there’s a lot of extra markup in the line. Check each line reported; insert any missing <lb> elements. For lines with extensive markup, insert carriage returns where necessary between elements or between words. Don’t insert carriage returns inside tags.
- target= of [element name] points to itself!?!: Supravalidation will identify cases where an IDREF points to an ID on the same element (in effect, a circular reference). Usually this will be an error. If no genre information has been encoded in your TEI header, the default <catRef> element is initially set to point to itself; you can fix this by adding correct genre information.
- The library is unknown; make sure to remind Julia that we should find out what it is: this is a flag indicating that the supravalidation routine does not recognize the library code in the TEI header. If you get this message, please send Julia email letting her know.
- No whitespace between...: Supravalidation checks for common whitespace errors, such as missing spaces between phrase-level elements (such as <persName> and <emph>) which are easy to miss when you’re encoding. It will often flag cases which are not errors, but check each one to make sure it’s correct.
- Whitespace ... immediately before P start/end tag: We prefer to have elements hug their contents tightly rather than having spaces before the end-tag or after the start-tag. Supravalidation reports such spacing errors so that you can find and fix them.
- It is unusual to have a NOTE type=authorial anywhere but HYPERDIV or endnotes; please check: Supravalidation checks the location of all <note> elements to make sure they’re in the right place. There are occasionally notes which must be encoded in the main flow of the text (but this is rare). Check with Syd or Julia if you’re not sure where a note should go.
- No catchwords?: Supravalidation checks for the presence of <mw type="catch"> and reports a possible error if it doesn’t find any. If your document has no catchwords in it you can ignore this message.
- Here are your idealized signatures; check them by eye: Supravalidation extracts the values of the n= attribute from the <milestone> elements and displays them as a chart so that you can easily check and spot discontinuities in the sequence. Check for missing or duplicated signatures and make sure that the alternation of “r” and “v” is accurate. If the list is very long it may help to widen your window so that they all line up evenly.
- Here are your printed signatures; check them by eye: Supravalidation also displays the contents of <mw type="sig"> so that you can check for errors and omissions. Since these reflect what was printed on the page they may be more irregular than the idealized signatures, but check them carefully for errors.
- Here are your rendition ladders; check their syntax yourself or have someone help you: Supravalidation prints all of the values of the rend= attribute from your encoding, grouping together those that are identical. This listing allows you to pick out the ones that are unique (which may be because they have an error) and also lets you easily scan the list to make sure that all of the values are correct. The first few times you do this, check each keyword and argument against the documentation to make sure you have it right. The supravalidation report shows entity references (such as accented characters, ornaments, ruled lines, and dashes) as numeric strings (for instance, #8213; for a ruled line), so don’t be alarmed if these show up. [an error occurred while processing this directive]