Unique-witnesses-within-app

In general, a given witness should only be referred to once within an (either on the   of  or of  ).

This snippet of ODD code may be included in the for app to test the collection of pointers to witnesses within a given  for duplicates.

This test is insufficient for a variety of reasons. First, the TEI Guidelines explicit permit the specification of witnesses (on ) for one reading to be omitted. (See 12.2.3 The Parallel Segmentation Method.)

Second, this code only tests the string value of a given pointer, not what it points at. Thus the value of  is not taken into account, and the values &amp;  will incorrectly be considered as different. Similarly, this code will consider it OK when two pointers point two two different elements that list the same MSS. (Arguably bad encoding, but not technically incorrect.)

This also means that a repeated pointer to a witness (also bad encoding, but not technically incorrect) will be flagged as an error.

And, perhaps most importantly, it means that this test does not check that the pointers on  actually point to es, as opposed to, say,  s.

   Duplicate witness within 'app' 