PR #177, ambiguity only in marks

Hello,

There’s an interesting thread of discussion in PR #177, but it seems to
have tapered off.

I’m interested in the discussion, but I’d like to focus for the moment
on whether or not the test case is correct and can be merged. The
grammar is:

  S = A, B, C | A, @B, C .
  A = 'a' .
  B = 'b' .
  C = 'c' .

The input is “abc”.

The test asserts that two results are equally valid:

This one:

<S xmlns:ixml="http://invisiblexml.org/NS" ixml:state="ambiguous">
  <A>a</A>
  <B>b</B>
  <C>c</C>
</S>

and this one:

<S xmlns:ixml="http://invisiblexml.org/NS" ixml:state="ambiguous"
   B="b">
  <A>a</A>
  <C>c</C>
</S>

Does anyone disagree that both of those results are acceptable[*]?
If not, I think we should accept the PR and merge it.

[*] The spec leaves open the possibility that an implementation might
not report this parse as ambiguous and much of the commentary on the PR
was focused around whether or not it *is* ambiguous.

An implementation might, therefore, return either of the parses above
but without the ixml:state attribute. That’s not a special feature of
this test case. We have lots and lots of tests that assert the
ixml:state where it might not be provided. Test driver authors beware.

                                        Be seeing you,
                                          norm

--
Norm Tovey-Walsh
Saxonica

Received on Tuesday, 25 July 2023 13:10:29 UTC