The other online validator I tried is
http://codebeautify.org/xmlvalidator
I now see that it isn't complaining about an invalid declaration, but it is complaining about 'xml' being the first letters in a processing instruction. And that goes back to 'xml' being reserved.
(After reading more of the W3C Recommendation) Isn't it the case that 'xml' is reserved but only for processing instructions?
If that is the case then the W3Schools page on xml tag name rules has got it completely wrong (regarding point 3).
And Firefox (Expat Parser) is either mis-handling the processing statement validation or deliberately ignoring this rule.
I realize this issue is of little importance. I am just trying to better understand what is correct.
If you were writing an XML Parser would you:
A. Allow the letters 'xml' to preface either processing instructions or tag names.
B. Invalidate only processing instructions prefaced with the letters 'xml' (allow them for tag names).
C. Other
Again, I thank you for your time answering my questions.