Are you reading the same spec as me? My version of production 16 doesn't
mention "data" at all; all it says is that if there are characters after the
PITarget, the first one must be white space. As it doesn't mention data, I
don't see how it can tell me whether or not the white space is part of the
data. Actually I think the notion of "data" in a PI is a SAX notion, not an
XML one.
Meta-comment: we're suddenly getting a spate of comments that point to
little inconsistencies or ambiguities in the spec, reflecting the fact that
it is written very informally. I think the problems are particularly acute
when the spec tries to talk about the actions of "XML processors" or
"applications" because these notions are very fuzzy. There's good scope for
a researcher to add value by producing a formal spec of XML+SAX which tells
me definitively which documents are well-formed, which are valid, and what
the SAX calls will be for any given document (or non-document). Anyone who
is spending time writing yet another XML parser would be adding a lot more
value to the community if they spent their time on producing a formal
specification instead.
Mike Kay