Print

Print


David Megginson wrote---
 
|   The most serious problem in current usage is that the following three
|   examples are all actually different (though closely-related) DTDs,
|   masquarading under the same public identifier (note that in the
|   absence of standard TEI public identifers, I have supplied my own -- I
|   could also have written SYSTEM "tei2.dtd" for each example):
|
|     <!DOCTYPE tei.2 PUBLIC "-//local//DTD TEI P3//EN" [
|       <!ENTITY % TEI.prose "INCLUDE">
|     ]>
|
|     <!DOCTYPE tei.2 PUBLIC "-//local//DTD TEI P3//EN" [
|       <!ENTITY % TEI.verse "INCLUDE">
|     ]>
|
|     <!DOCTYPE tei.2 PUBLIC "-//local//DTD TEI P3//EN" [
|       <!ENTITY % TEI.drama "INCLUDE">
|     ]>
 
David, you seem to be saying that "-//local//DTD TEI P3//EN" is a
public identifier that points to each of these identifiers, though the
actual DTD that results is different because of the different subset
in each example.  But "-//local//DTD TEI P3//EN" points to an external
file---it isn't there to identify these DTDs themselves.  All other
things being equal, the public identifier does mean the same thing in
each case.
 
If you are suggesting that this notation is confusing, I can see the
point, but it doesn't seem to me to justify a change in practice.  I'd
also agree wholeheartedly on the problem of not having any public
identifiers for TEI DTDs.  I don't see that the meaning of a public
identifier is getting changed by a DTD subset, though.
 
John