In fact, in the latest rev, we wired it right into the grammar.
> By the current definition any XMLDecl and EncodingPI is also
>a valid PI. In a prolog an XMLDecl is optional, and is followed
>by Misc, which includes PI.
> Ok, so I have can have an XML file with no XMLDecl
>(it's optional) followed by "<?xml version="blah" encoding=5?>" which
>matches PI, in my Misc*. And this is legal?
Nope. And the grammar will getcha, because this no longer matches PI.
>Shouldn't [19] PI have an S? at the end before '?>' ?
No, because Char includes S
>[17] PCData ::= [^<&]+
>rather than the current:
>[17] PCData ::= [^<&]*
>In my recursive descent parses to:
It can't be +, because the empty string must match PCData. You'll just
have to figure out how to stop descending.
-Tim