Meeting minutes
Accept the minutes of the previous meeting
Accepted.'
Review of open actions
2024-03-05-c: SP to prepare pull request to resolve issue #139 (new grammars, new README)
Steven: Do I have to recheckout everything.
Norm: Re-clone it and fork it.
2026-03-03-b: Bethan to try making the title screen
Continues
2026-04-14-a: Norm to nudge people who haven't supplied slides yet.
Completed.
2026-04-14-b: Bethan: write discussion document on ambiguity
Bethan: Would like to pause that until after Amsterdam, assuming my submission is accepted.
Steven: We can have the discussion when the document is ready.
Bethan: We wanted to move some issues into an umbrella on ambiguity.
Norm: I think some things to keep us going would be good.
2026-05-12-a: Everyone send Codeberg login IDs to Norm
Completed.
2026-05-12-b: Norm to send pointers to RELAX NG redefines
Completed.
Status reports
Norm: I implemented a feature to detect when all ambiguous parses produce the same serialization.
John: How?
Norm: It detects suppressed nonterminals and renamed nonterminals.
Steven: I'm going to the student results tomorrow; I've been using their implementation. It's implemented round-trippping, modularization, and the "not" construct.
… Looks good and it's nice and fast.
… I will, with their permission tomorrow, send around the report.
… I'm encouraging them to write some sort of presentation at Declarative Amsterdam.
John: How close to the goal of passing all the tests did they get?
Steven: I'll be able to tell you tomorrow!
Steven: On my own implementation, I'm experimenting with error messages for what happens if the document doesn't parse properly.
… I'm trying to do better than just printing the set of allowed characters.
… At the point where it fails, I collect all unfinished tasks and serialize the tree in a different way and then after the serialization, report the characters that were expected at that point.
… At the moment, I'm happy with the direction.
… I don't necessarily go all the way from the top of the tree, I work from a section of the tree. And I note that there are lots of similarities at the beginning. Maybe that can be cleaned up and made more understandable.
John: The way I do that is, once you've failed, you have a whole set of pending results. You know exactly what the expectation was and where it came from. So you can roll that back.
Steven: The path I take is the same as serialization, just in a different way.
User group meeting
Bethan: Just what I said on the list really; something to fill the every-other-week slot and chatting with folks at XML Prague suggested that something informal would be ideal.
… My plan is to have a sort of loose agenda; I have a couple of folks who say they'd like to discuss things. But I think it's also important that there's some free time.
Norm: That kind of format really works for the XProc User Group meeting.
Bethan: I've got a couple of things; I'll send out an agenda the day before and we'll see how it goes.
General consensus: a casual meeting would be really good.
Colocating 2nd International iXML Symposium
Steven: XML Prague asked the question: would anyone be interested in an XML Prague in February next year.
… I filled in the questionairre but I thought that we could also be a possibility to have the symposium there.
… Jirka says he should know if it's going to happen by September.
… I said we'd talk about it today.
John: I think the nice thing about the one we did is that it was very informal and lightweight and only virtual.
… If it runs with the Prague thing, it becomes hybrid and that's a bit more awkward.
David: XML Prague has never been hybrid friendly; it's scheduled on Prague time so those who are far away have trouble.
… That's not the case for conferences like Balisage that tries to make a hybrid event time-friendly.
Steven: This is not fixed; we're certainly able to change it. I'm thinking of this as a separate event that just happens to be colocated with Prague.
John: It seems like it would be difficult to schedule.
Norm: I'd consider it, but I'm very worried about making remote participants feel unwelcome or less welcome.
Some discussion of a face-to-face meeting of the iXML Community Group at Prague.
Steven: Next topic?
Steven: We have some implementations with "not" so there's room for testing some of these things.
Norm: So we have two implementations?
John: Mine is more restricted; it's the subtraction version.
Norm: I'd like to see some tests.
Steven: I've created a directory in my test suite for negations; once I've got the final version, I'll publish them.
Steven: Which semantics do you have for subtraction?
John: A - B succeeds if A fails and B does not succeed at the same time.
John: It's effectively a set subtraction.
John: It works on terms or nonterminals.
… It's like an "or" except that when the first one succeeds, I check if the second one has succeeded at the same point. It passes only if the second has failed.
John: So I can match "iff" and not "if" or "iffa".
… The best example is for the XPath grammar where there's a set of keywords that can't be the names of functions.
Some discussion of whether this is lookahead or something else.
Bethan: I think it's a form of lookahead.
… My concern is that a lot of these constructs provide hacky ways to do "something else" and it would be cleaner to provide "something else" properly. For example, proper lookahead.
… Would we be better of just implementing lookahead?
John: I'm strictly using an Earley parser and nothing else; so it's about the fact that these are matched in parallel.
Steven: Sounds like an action item to start collecting some grammars using these features.
Norm: And from that we can work out if there's a more general thing.
ACTION: Steven (and others) to collect examples of the disambiguation construction.
Steven: I propose we look closely at modularization next time.
Next meeting
7 July at 15:00 BST
Steven: We should also discuss holiday periods.
ACTION: Norm to put vacation planning on the agenda for next time.
Adjourned.