EntityDef v/s PEDef

james anderson (mecom-gmbh@mixx.de)
Wed, 17 Dec 1997 14:12:49 +0100


greetings,
todays question from out of the blue:

do i follow PR-XML-19971208 correctly, that the only difference between
a general entity definition and a parameter entity definition
(syntactically modulo the '%') is that the general entity definition
permits a notation?
[70] EntityDecl ::= GEDecl | PEDecl
[71] GEDecl ::= '<!ENTITY' S Name S EntityDef S? '>'
[72] PEDecl ::= '<!ENTITY' S '%' S Name S PEDef S? '>'
[73] EntityDef ::= EntityValue | ExternalDef
[74] PEDef := EntityValue | ExternalID
[75] ExternalDef ::= ExternalID NDataDecl?
[76] ExternalID ::= 'SYSTEM' S SystemLiteral
| 'PUBLIC' S PubidLiteral S SystemLiteral
[77] NDataDecl ::= S 'NDATA' S Name

(nb. spurious (?) '|' removed from [72])
what is the significance of ExternalDef? i found it referenced nowhere
else in the document.
wouldn't
[73'] EntityDef ::= EntityValue | ExternalID NDataDecl?
[74'] PEDef := EntityValue | ExternalID
[75x] <elimnated>
make the similarity clearer?