00:02:01 John_Boyer: what about the second attribute 00:03:01 nvdbleek: it is a node set and the nodes get added to the newly created node, the nodeset can contain attributes and nodes (text, or other elements) 00:03:25 nvdbleek has joined #forms 00:03:53 John_Boyer: what about the order of the child elements 00:04:31 nvdbleek: Like said before, in XPath 1.0 it is document order, which is not defined in XPath 1.0, so it could be implementation defined 00:04:40 klotz has joined #forms 00:08:54 ebruchez: [presents an example of the why you want to create complex content] 00:11:37 http://www.ibm.com/developerworks/java/library/j-jdom/ 00:12:08 Zakim has left #forms 00:16:04 nvdbleek: you don't want to do this because then you can change the instance data, and this breaks the assertions needed by our custom functions. And XPath is designed to work on an immutable document 00:18:52 John_Boyer: We should note this in our spec, otherwise people reading the spec wouldn't know why we did it this way 00:19:54 nvdbleek: aggreed, it is important that we keep our data model unmutable during the evaluation of an XPath expression 00:23:44 John_Boyer: Shouldn't we add serialize if we have parse 00:23:56 nvdbleek: OK 00:24:16 s/aggr/agr/ 00:32:00 ebruchez: An example is an textarea that stores it in string in the instance and wants to parse that XML 00:36:47 Steven: I would like to have a second parameter that is the grammer 00:41:43 mkay on using XSLT2 to parse arbitrary string grammars: http://www.saxonica.com/papers/ideadb-1.1/mhk-paper.xml 00:41:57 s/grammer/grammar/ 00:47:02 John_Boyer: Serialize options: should it prune non-relevance? 00:49:24 ebruchez: the serialize function is more light way, then submission. But the serialize function can use the same mechanism of submission 00:50:01 Leigh: xforms-submit-serialize? 00:50:05 John_Boyer: We need a lot of parameters on the serialize 00:50:37 John: Right now xforms-submit-serialize doesn't include submission data in the event context. 00:50:51 ebruchez: We could let the second parameter let it point to an element simular to the submission element 00:51:55 John_Boyer: the parse will only parse a subset (dtd,..) 00:52:02 Does parse() have to resolve any URLs? 00:52:15 s/dtd/no dtd/ 00:53:40 unl: it could be a security issue that the entity references are resolved during parsing 00:56:22 nvdbleek: we already have this with submission and load 00:56:57 ebruchez: yes submission returns XML 01:03:49 nvdbleek: we have the doc() in XPath 2.0, here you can parse an arbitrary XML 01:05:17 nvdbleek: a processor can decide not to let doc() parse the XML, parse() could also not resolve uri's 01:05:55 ebruchez: we validate the data that is entered when filling in the form 01:06:47 there's a subtle but important difference: as a form author you can control what resources are accessed through xf:submission, xf:load, or fn:doc(), but can never control what a user types into a textarea (whose content is then passed to fn:parse()) 01:15:59 nvdbleek: you CAN control what is passed to the parse function by first checking the input passed the parse function 01:16:54 seems we should be saying whether all occurrences of parsing currently performed by XForms processor (e.g. instance/@src and submission results) should resolve external URLs 01:17:18 I had always assumed (for security) that the null url resolver was used 01:19:21 ... ... 01:21:15 klotz has joined #forms 01:27:03 unl: we should look at submission and instance 01:27:33 John_Boyer: If we could provide the grammer as a paramater 01:27:48 John_Boyer: then we could support JSON,... 01:28:46 parse as json and serialize as json gets json interaction while still having the xml at the core 01:28:49 nvdbleek: With a constant to identify it would be easier for the author 01:30:15 unl: this should be a IANA-registered media-type 01:31:05 ebruchez: element() and attribute() are more important then parse() 01:31:21 klotz has joined #forms 01:32:24 xslt2 json transformation http://www.bramstein.com/projects/xsltjson/ including "Badgerfish" convention (round trip) 01:32:34 parser=new DOMParser(); xmlDoc=parser.parseFromString(text,"text/xml"); 01:33:19 "For security reasons, modern browsers do not allow access across domains." 01:41:50 John_Boyer: We will have a Module element() and attribute() and another module with parse and serialize 01:42:47 nvdbleek: We should handle dynamic error in a recoveral way 01:43:34 xslt2 json transformation http://www.bramstein.com/projects/xsltjson/ including "Badgerfish" convention (round trip) 01:45:49 nvdbleek: shouldn't it be a cancelable error event 01:55:45 well, I think that the above is written from the standpoint of data that starts life as XML, becomes JSON, then possibly you want to get it back to XML 01:56:20 But it is more important, for us, to consider connectivity, i.e. connecting to a json data source 01:56:42 So the data starts life as json, we import to XML for Xforms processing, then convert back to json for return to a service. 01:56:59 adjourn for today 01:57:04 rrsgagent, make minutes 01:57:10 rrsagent, bye 01:57:10 I see 1 open action item saved in http://www.w3.org/2009/11/05-forms-actions.rdf : 01:57:10 ACTION: Charlie to write the module for 'import with src/resource for model-only content resolved once during model-construct with error on cyclic import as a direct child of model' [1] 01:57:10 recorded in http://www.w3.org/2009/11/05-forms-irc#T22-47-19 16:58:50 RRSAgent has joined #forms 16:58:50 logging to http://www.w3.org/2009/11/06-forms-irc 16:58:55 rrsagent, make log public 16:59:49 Agenda: http://www.w3.org/MarkUp/Forms/wiki/FtF_2009_11_Palo_Alto_Agenda 16:59:54 Chair: John 17:00:02 Date: 06 Nov 2009 17:00:30 Meeting: Forms WG Face-to-Face Meeting 17:00:41 Regrets: Charlie 17:00:54 klotz has joined #forms 17:02:44 unl has joined #forms 17:09:09 Steven has joined #forms 17:10:32 klotz has joined #forms 17:10:55 ebruchez has joined #forms 17:12:00 scribe: ebruchez 17:12:04 Topic: Rechartering 17:15:23 Steven: Defining our mission for the new charter. 17:17:16 John: Are we doing "XML apps on the web" rather than just forms? Our focus on XML is clear. 17:17:22 nvdbleek has joined #forms 17:18:36 Erik: The term "XML application" is confusing: taken as XML vocabulary by some, and even so it is unclear. 17:19:18 Leigh: I would just describe the layers: data, logic, and UI. 17:20:04 John: Submission is the most powerful thing we have. How do we reflect that? 17:23:20 John: We agree on less f2f meetings, but we could prefer extended ones like this one (4 days). 17:28:11 Erik: I don't like the term "next generation". It's just a claim. 17:30:38 Leigh: Let's just focus on the bullet points. 17:36:08 John: Do we actually "monitor" implementations? 17:36:21 Steven: I think it would be good to do more there. 17:37:04 markbirbeck has joined #forms 17:44:05 Steven & all: (discussing charter items) 17:47:30 John: Between LC and CR, XForms 1.0 took 11 months. XForms 1.1 took 10 months. 17:49:24 John: What is a realistic timeline for XForms 2.0 given our history? 17:51:32 CR to PR on XForms 1.1 was 20 months 17:51:52 klotz has joined #forms 17:51:53 John: So we plan to get to LC of XForms 2.0 within the timeframe. 17:57:09 John: We could look at March 2010 as a deadline: whatever features are in FPWD by that date will be in 1.2. 17:58:34 Leigh: What about unpublishing 1.2 modules from 1.1. E.g. XForms 1.2 has an XPath module. We would republish 1.1 without those modules that have been taken out. 17:59:11 Nick: ... 17:59:30 John: No issue: we would say the XPath 2.0 support module is optional. 17:59:51 unl has joined #forms 18:01:24 Erik: Problem solved by this approach? 18:04:42 Leigh: We need an 1.2 core document. When we are done publishing 1.2 modules, we produce 1.2 core by subtracting what's in the modules. 18:05:06 Erik: Good as long as we don't unnecessarily try to modularize, since our experiencen the past has shown that was too time-consuming. 18:05:16 John: We do opportunistic modularization. 18:06:04 Steven: How many LC comments for 1.1? 18:06:17 John: 144, and we did over 160 diffs to the spec. 18:07:05 Leigh: In the timeline, let's talk about XForms 1.2 Modules to clarify. 18:08:46 Steven: For CR -> PR, let's look at 1.1 history. So 9 months. 18:11:20 Steven: We might need a requirements doc for 2.0. 18:11:24 John: What about 1.2? 18:11:39 Erik: It's just rather small stuff implementors want to see standardized. 18:11:47 Steven: It was the same for 1.1. 18:12:40 klotz has joined #forms 18:16:55 Nick: If we start with a wiki page for the requirements, I am happy to convert that to specxml. 18:19:58 Nick: We should add XSLT working group for XPath feedback. 18:38:54 unl has joined #forms 19:04:33 All: (Discussing liaison with other W3C groups) 19:07:09 John: Voice guy said interesting stuff about the notion of focus. Not sure if that has impact on us. 19:08:25 Steven: XML Events comes to us. 19:22:06 All: Reviewing rest of charter proposal. 19:31:08 John: We need to add a timeline for XML Events 2. 19:32:50 John: XForms 1.2 would rely on XML Events 2, right? 19:37:49 http://www.w3.org/MarkUp/Forms/2009/charter2010.html 19:37:56 Steven has joined #forms 19:38:09 http://www.w3.org/MarkUp/Forms/2009/charter2010.html 19:42:36 ebruchez has joined #forms 19:45:46 +1 19:45:50 +1 19:45:56 +1 19:45:56 +1 19:46:05 +1 19:46:37 +1 19:47:23 RESOLUTION: Submit recharter document at http://www.w3.org/MarkUp/Forms/2009/charter2010.html 19:49:55 Yay! 19:51:18 break for lunch 21:26:08 John_Boyer has joined #forms 21:26:19 rrsagent, make minutes 21:26:19 I have made the request to generate http://www.w3.org/2009/11/06-forms-minutes.html John_Boyer 21:27:17 unl has joined #forms 21:29:13 nvdbleek has joined #forms 21:29:24 scribe: Uli 21:29:29 scribenick: unl 21:29:48 Topic: New Features 21:30:11 John_Boyer: what would you like to talk about? 21:30:19 ... submission targeting? 21:30:34 ... architectural mismatch of ui events? 21:30:53 unl: optional model? 21:31:16 nvdbleek: events would be good topic 21:31:46 John_Boyer: there seems to be implementation experience already 21:32:39 ... we should also fix some problems in new dot releases instead of solely adding new features 21:32:55 Topic: UI Events 21:33:18 ebruchez has joined #forms 21:33:21 http://wiki.orbeon.com/forms/doc/developer-guide/xforms-refresh-events 21:34:31 Erik: *explains the problems he found during implementation of ui events* 21:36:08 ... processing model is confusing for form authors 21:36:48 ... e.g., getting xforms-value-changed even if the value didn't change and vice versa 21:37:18 John_Boyer: even more confusing for xforms-invalid and friends 21:38:03 Erik: just want to have xforms-value-changed when the value of the control changed, etc. 21:42:26 John_Boyer: do you expect another xforms-invalid event for a control changing value, which is already invalid? 21:42:30 Erik: no 21:42:37 unl: no 21:42:50 s/Erik:/ebruchez:/ 21:47:48 John_Boyer: maybe adding mip status information to event context info helps 21:51:37 events like invalid happen on startup on form 21:52:09 Erik discussing how UI events could be different 21:52:44 Erik: xforms-enabled/xforms-disabled event should happen before any other 21:53:35 Erik: control lifecycle is bracketed by xforms-enabled and xforms-disabled 21:53:41 so disabled should be last 21:53:46 and enabled should be first 21:53:59 s/Erik:/ebruchez:/ 21:55:13 ebruchez: all other mips have sensible defaults, so events upon init happen only if a value differs from default 21:55:47 John_Boyer: so a control being inserted into a repeat first receives xforms-enabled? 21:55:55 ebruchez: yes 21:57:41 ebruchez: context info receives iteration numbers for all repeats in which a control is nested 22:06:23 http://www.w3.org/TR/2009/REC-xforms-20091020/#ui-repeat-processing 22:07:44 ebruchez: three root causes for control creation: initial creation, repeat insert, change to relevant 22:09:07 ... non-default mip events are dispatched, xforms-value-changed apparently not 22:10:30 on initialization, why not just have xforms-enabled and use context info for the remaining MIP info 22:18:33 all: *discuss non-relevance issues* 22:21:47 klotz: are non-relevant select-items still able to respond to hint? 22:30:11 Erik: for a non-relevant control, it won't get an initial xforms-disabled because it is as if it does not exist to the form author 22:32:21 s/Erik:/ebruchez:/ 22:32:28 We were trying to avoid having form author ephemeral messages from displaying on startup in response to xforms-invalid messages 22:36:15 if the initial xforms-enabled simply indicated valid or not in context info, then that would work 22:36:44 Uli: I think there should be an xforms-invalid on initialization 22:37:31 Uli: The default on init is valid 22:40:40 Leigh: You need a function you can call on the control that tells whether the control is in the initial state or whether the user has changed the value 22:49:42 Uli: Not against context info in each of the MIP events, just against omitting xforms-invalid event dispatch because some other event e.g. xforms-enabled, has validity MIP info 22:51:34 Erik: controls update their mips and value, and then the events are dispatched to the control 22:56:24 s/Erik:/ebruchez:/ 22:57:13 unl: first thing is: controls maintain their state, then we can figure out how events are supposed to work 22:57:51 John_Boyer: which state do they maintain in case of inherited non-relevance? 22:58:05 ebruchez/unl: the computed state 23:00:34 John_Boyer: we need more event context information then 23:00:49 ... wonder what that might be 23:02:36 scribe: John_Boyer 23:03:44 Seems the context info for the events leading up to xforms-disabled (in destruction case) should have relevant bit set off, and relevant bit should represent control relevance, not just data relevance 23:08:40 Leigh: there is no law of excluded middle. A non-relevant control could be neither valid or invalid 23:10:51 Erik: if you have a control that has received xforms-invalid, and then it receives xforms-disabled, and then later it receives xforms-enabled plus xforms-invalid, then it has received xforms-invalid twice 23:11:09 Erik: We seem to need to listen for xforms-disabled to remove a control from an "invalid" list 23:12:23 Nick: If you receive xforms-enabled with context info on validity, but not xforms-invalid event, then that synchronizes with something becoming xforms-disabled then xforms-enabled again. 23:13:29 Nick: The form author listens for enabled/disabled for validity trackging on create/destroy, and listen for xforms-valid/xforms-invalid for state change during the lifetime of the form. 23:14:54 s/trackging/tracking 23:16:12 Uli: I think it is confusing for form authors to listen for enabled/disabled for validity. I think the controls validity state should be reused when it becomes relevant again. 23:17:23 Nick: If you have a repeat with 5 rows, then the parent becomes non-relevant, the repeat stops updating 23:18:43 ... so then node insertions or deletions may change what the repeat operates over, but the repeat isn't operating over it because it is non-relevant 23:43:08 Need to choose from among the following: 23:43:37 1) On enable/disable, context info contains valid/invalid info 23:44:17 2) On enable, xforms-invalid dispatched if needed, and on disable, xforms-valid gets dispatched even if control *was* bound to an invalid control 23:45:55 In case #1, the form author has to listen to enable/disable as part of tracking valid/invalid controls 23:46:49 In case #2, the form author only listens to valid/invalid events for trackging valid/invalid controls, but when a control becomes disabled, it receives a valid event even if it *was* bound to an invalid node 23:47:32 s/trackging/tracking 23:48:22 s/bound to an invalid control/bound to an invalid node 23:58:55 John/Leigh/Nick: If the control is non-relevant, we don't have to say it's valid, therefore we don't have to send an xforms-valid event when the control is about to become non-relevant.