The Guidelines, at http://www.tei-c.org/release/doc/tei-p5-doc/en/html/TC.html#index-body.1_div.12_div.4, say that:
An omission in one witness may be encoded using an empty rdg,
The use of “may” leaves me uncertain about whether an empty <rdg> is consisted Best Practice, and I don’t find any discussion of whether an empty <rdg> elements is preferable to omitting a <rdg> element for a particular witness at a particular location, or about whether the two treatments are supposed to indicate different semantics.
In the absence of explicit semantics or Best-Practice guidelines, it’s tempting to use both methods and invent and impose a difference. For example, in some editions a witness may be used only in certain places, but not throughout the entire collation. Perhaps, for example, Witness B is not usually included because it is secondary to Witness A, but Witness A is missing pages, and Witness B is used as a surrogate for Witness A at those locations. In that case we might use an empty <rdg> in places where Witness A has been included in our collation within a specific <app> and it omits a reading there, while the absence of a <rdg> that points to Witness A would indicate that Witness A has not been part of the collation in that <app>. That treatment would be specific to a particular edition, and could be documented in the header. I don’t see anything in the Guidelines that either recommends or discourages this approach.
The temptation to include an empty <rdg>, instead of omitting a <rdg> for a particular witness, looks as if it may have been motivated by tabular output. Specifically, in a table where rows are witnesses and columns are locations in the continuous tradition, every witness intersects every moment, and if the witness is silent in one place, the table nonetheless must have a cell. (Whether the cell should be empty or should say something like “omitted” is a separate question.) But TEI parallel segmentation isn’t a table; for example, it combines shared readings in a single <rdg> element, and the combinations may be different inside different <app> wrappers.
My reservation about local semantics and the absence of explicit Best-Practice recommendations arises because I’m looking at the moment at the automated export of TEI output from a collation tool. The collation tool knows which witnesses have readings at which locations, but it will not have access to information about possible different reasons for the absence of a reading suggested in the hypothetical local practice described above. When I transform the collation information into TEI parallel segmentation, then, either I can omit a <rdg> where a witness otherwise in the collation is not attested within a particular <app> or I can include an empty <rdg>. The Guidelines, at the location cited above, say that the empty <rdg> is permitted (“may”), but not that it is recommended, and I see nothing that prohibits, or even discourages, the alternative of omitting the <rdg> for that witness entirely. Users who have implemented one or the other behavior can transform either output into the other automatically, so from an engineering perspective the choice in this context may be arbitrary. But before I flip a coin, I would be grateful for guidance from the Community about whether one or the other representation should be considered Best Practice.