14:20:09 RRSAgent has joined #ixml 14:20:09 logging to https://www.w3.org/2022/05/31-ixml-irc 14:20:37 rrsagent, make log public 14:20:44 scribe: cmsmcq 14:21:13 Meeting: ixml community group 14:21:18 John has joined #ixml 14:21:23 chair: Steven 14:21:52 present: JL, cmsmcq 14:22:05 agenda: https://lists.w3.org/Archives/Public/public-ixml/2022May/0095.html 14:22:36 previous meeting: https://www.w3.org/2022/05/24-ixml-minutes 14:23:35 rrsagent, make minutes 14:23:35 I have made the request to generate https://www.w3.org/2022/05/31-ixml-minutes.html cmsmcq 14:23:38 Steven has joined #ixml 14:23:56 rrsagent, make minutes public 14:23:56 I'm logging. I don't understand 'make minutes public', cmsmcq. Try /msg RRSAgent help 14:24:05 rrsagent, make log public 14:24:23 present+ Steven 14:24:29 rrsagent, make minutes 14:24:29 I have made the request to generate https://www.w3.org/2022/05/31-ixml-minutes.html cmsmcq 14:25:10 present+: Steven 14:25:28 norm has joined #ixml 14:25:53 present+: Norm 14:28:02 s/runs out for coffee, brb/prepares to scribe./ 14:30:46 regrets: BTW 14:32:44 Topic: Previous actions 14:33:06 Steven has contacted Prague, will announce at the time of his talk. 14:33:19 Prolog syntax has been rewritten. 14:33:25 Insertions have been rewritten. 14:33:32 NDW's action completed. 14:34:28 Topic: Status reports 14:34:41 JL reports whitespace sensitivity in the test catalog 14:39:02 Topic: Test suite status 14:40:37 JL has offered new tests for insertions and the prolog. 14:41:13 MSM will make a pull request. 14:41:41 JL asked how many test cases there actually are. NDW will count them. 14:42:06 Topic: Issue #89, what are the conformance requirements for XML grammars? 14:47:28 Action: Steven to add "after removal of namespace-qualified elements and attributes" to the description of xml grammar conformance 14:48:05 After removing namespace qualified elements and attributes, the grammar can be derived from... 14:49:14 We had consensus that extension elements and attributes should be allowed in conforming XML-form grammars. 14:50:43 Topic: #26 ambiguity 14:50:59 Action: Steven to replace "including" with "include" as needed in Parsing section. 14:51:20 Topic: issue #63 Optional version declaration. 14:51:23 Can be closed. 14:51:30 Topic: issue #80 Clarify that attributes names xmlns are forbidden. 14:51:32 Can be closed. 14:51:40 Topic: issue #83 tmark on charsets (forbid ^ or +? change grammar?) 14:51:43 Can be closed. 14:51:50 Topic: pull request #84 version declaration 14:51:53 Can be closed. 14:52:28 Topic: issue #90 flaws in ixml schemas 14:52:31 Can be closed. 14:53:18 Topic: pull request #91 additional tests 14:53:41 Topic: pull request #56 (close as overtaken?) 14:53:44 Should be closed. 14:53:58 Topic: issue #94 integrating error codes into tests 14:54:15 JL suggested putting this off until we are confident the error codes are stable. 14:54:20 Topic: Release plan. 14:54:30 SP said: we need the web page to be ready. 14:54:54 Announcement of the spec, pointer to specification, pointers to implementations and other resources. 14:55:07 Action: Norm to draft new splash page for invisiblexml.org 14:55:14 ... Pointers to grammars. 15:01:09 An ixml grammar in XML form conforms to this specification if, after removal of namespace qualified elements and attributes, it can be derived from an ixml grammar in ixml form by parsing as described in this specification, and it satisfies all the other requirements specified for ixml grammars. 15:02:58 rrsagent, make minutes 15:02:58 I have made the request to generate https://www.w3.org/2022/05/31-ixml-minutes.html cmsmcq 15:03:27 regrets: BTW, TH 15:04:27 s/runs out for coffee, brb/ 15:04:32 rrsagent, make minutes 15:04:32 I have made the request to generate https://www.w3.org/2022/05/31-ixml-minutes.html cmsmcq 15:05:03 s/in the test catalog/in the test catalog./ 15:05:54 i/pull request #56/Can be merged./ 15:05:57 rrsagent, make minutes 15:05:57 I have made the request to generate https://www.w3.org/2022/05/31-ixml-minutes.html cmsmcq 16:22:05 I wonder if cmsmcq is still paying attention 16:32:31 I'm usually (well, some weeks) here, but since no one ever says anything the window is typically buried. 16:33:59 Hello. 16:34:08 hello 16:34:20 I'm trying to answer John's question "how many tests are there". 16:34:22 It's fun 16:34:55 I want to test if we have the same understanding of two cases. 16:35:03 Yes; the irregularities of test-set and test-set-ref complicate it a bit. 16:35:12 OK, what are the two cases? 16:35:13 Consider error/test-catalog.xml, the last test invalid-range. 16:36:09 Yes, got it. 16:36:17 That is a test set with four tests. Test that the grammar is wrong (and eventually give the correct error code). Then three "run" tests that all have to fail because the grammar is invalid, but might incorrectly succeed if the implementation failed to detect the grammar error. 16:36:36 At least, that's my interpretation. 16:36:46 And mine. 16:37:20 Next, consider hygiene/test-catalog.xml, the test "multi-1" near the top. 16:37:35 My test harness currently does not run those test-case elements, because it says "I don't have a grammar to parse with". 16:37:57 But I could just return a report of reported-not-a-grammar for each of them. 16:38:16 The complication here is all those app-infos. 16:38:45 I try the grammar, it fails to parse, I was expected to get not-a-grammar. PASS. 16:38:50 The app-infos have no effect on the canonical interpretation of the test catalog. 16:39:17 Right, you pass. 16:39:28 I recognize "ap:multiple-definitions=silence" so I set that option and run again. This time I get a grammar. So I PASS again. 16:40:04 OK 16:40:17 This single test generates 8 passes. 16:41:07 This is my explanation for a report of "301 reports for 270 tests, 301 pass, 0 fail, 0 skip, 0 inapplicable." 16:41:20 I guess you can count it that way. 16:41:29 I don't know how else to count it. 16:41:56 I could say there are 301 tests, I guess, but that seems misleading because if there's an app-info in there I don't recognize, I think I just skip it. 16:42:35 I have not yet implemented the no-error-on-multiple-definitions option (or any options, tbh), but I think I was imagining that I would run the entire test suite with a particular set of options 16:42:48 so no test more than once. 16:43:03 But I can't say your result is wrong. 16:43:04 Ah. Okay. 16:43:13 But I am puzzled. 16:43:19 270 tests? 16:43:28 I'm looking at your PR 16:43:35 I think you must be including ... right, the PR. 16:44:11 and possibly other stuff? I count 170 test-case elements and 60 grammar-test elements for 230. 16:44:12 On the master branch, I get 261 reports for 230 cases. 16:44:27 Does the PR have 40 test cases? Yow, more than I realized. 16:44:48 So a test-case or a grammar-test count as a test. There are 230 of them in the master branch. And then maybe different results with app-info. 16:45:01 Right. I think that makes sense. 16:45:16 Okay. Thanks for helping me talk that through. 16:46:08 I think I know what needs to be done to support insertion. Change the grammar-compile step, the scanner, the parse-forest generator, and the tree extractor. 16:46:45 I rewrote that this morning, my previous approach was a spectacular mess. 16:46:49 But I think I am first going to see if I can replace or augment the basex-specific test-harness code so Saxon can run the test harness. 16:47:02 I generate a unique nonterminal that matches epsilon and is not optional. I annotate it with the text to insert. 16:47:20 That turns up in the parser forest and I know when I serialize it that I just output the insertion text 16:47:21 Formally, I think that's the way to go. An annotated nonterminal. 16:48:23 I was about to say I think my scanner will treat it as a special terminal, but I need to make sure it gets into the parse forest grammar. 16:48:53 So before I do anything I should walk through an example on paper. 16:49:18 My previous attempt was to make a magic terminal. I managed to shoe-horn that into Earley but it weren't gonna go in GLL. No sir. 16:49:19 But before I do that I am going to merge the pull requests and make a pull request for John's tests. 16:49:28 Fab. Thank you! 17:00:52 I see we both answered the "how many tests question". Glad you wrote the query to count them, I couldn't be bothered. :) 17:16:23 Test-catalog question. 17:16:53 The spec says "If the input was processed as a different version of ixml than that required by the prolog, the ixml:state attribute must include the word version-mismatch." 17:17:17 Mmhmm 17:17:31 it does not say "on the parse tree result", and I expect at least some processors will want to signal a version mismatch in cases of no-parse results. 17:18:02 So I'm going to put ixml:state="version-mismatch" on all the test-cases I am adding to John's prolog tests, unless they read "1.0" 17:18:23 Or don't have a version at all. 17:18:24 so we'll have 17:18:32 (right) 17:18:46 (right, wrt no version at all) 17:18:50 Yeah, that sounds reasonable to me. 17:19:15 OK. I have no idea how I will score it in a test harness, but the info is there if/when we want it. 17:19:50 Right. 17:21:05 Actually, I'll do that only for syntactically correct version declarations. ixml version P:['B'-'D']. does not have an identifiable version string 17:21:32 Okay. 17:24:33 Now I have made enough changes to JL's prolog test catalog that I should re-run it locally before checking it in. 17:25:00 Seems reasonable. 17:28:00 It would be nice to make a set of web pages out of the tests. 17:28:55 Yes. cmsmcq/ixml-tests has a first-cut test-catalog-to-HTML stylesheet 17:29:11 Not tonight. Time to go sort out dinner. 17:29:15 L8r! 17:29:37 but I have not been maintaining it, since XSLT doesn't run in the browser when browsing in github 17:29:45 ciao 17:30:06 norm has joined #ixml