Pathological situations in XML external DTD subsets

The following examples each show code snippets of external DTD subsets that define a general entity B whose replacement text is "foo".

The examples were tested with the help of a minimal XML document that includes the appropriate DTD files and displays the entity B, using various well-known software tools.

Below the results of these tests are shown.

Software usedCritical passages in external DTD file
<!ENTITY % A "B 'foo">
<!ENTITY %A;'>
<!ENTITY % A "B 'fo">
<!ENTITY %A;o'>
<!ENTITY % test "foo">
<!ENTITY % A "&#37;">
<!ENTITY   B "%A;test;">
<!ENTITY % test "foo">
<!ENTITY % A "st;">
<!ENTITY   B "%te%A;">
<!ENTITY % test "foo">
<!ENTITY % A "B '&#37;test;'">
<!ENTITY %A;>
<!ENTITY % test "foo">
<!ENTITY % A "&#37;test;">
<!ENTITY   B "%A;">
MSXML 3–6 (e.g. in MS Internet Explorer) OK OK OK ';' was expected '>' was expected “internal error”
.NET XML parser PE replacement text must nest properly within markup declarations PE replacement text must nest properly within markup declarations unexpected end of file parsing NAME ';' was expected OK OK
RXP parser (e.g. at this online validator) Quoted string goes past entity end Quoted string goes past entity end Expected name, but got <EOE> for PE Expected ';'. but got '%' OK OK
Stylus Studio (proprietory software) built-in validator partial markup in entity value partial markup in entity value parameter entity name expected PE reference "%te;" must end with ';' OK OK
Java XML API error OK OK unterminated entity reference 'te' OK OK
Validome online validator unexpected premature end of file OK OK PE reference "%te;" must end with ';' OK OK
“xmlvalidation” online validator file ended OK OK PE reference "%te;" must end with ';' OK OK

Which of these software implementations are probable to be conforming to the XML standard according to these examples, or, how would a correctly implemented validating XML parser have to react to each of the examples?