Re: [Xsltforms-support] 1.5beta testing
Brought to you by:
alain-couthures
From: Tim T. <tim...@gm...> - 2020-02-28 03:16:39
|
Hello, Alain, Thanks again for the latest updates! I have another test for you. Here is my use case: I want to display an ephemeral "Loading" message when I trigger a submission. To achieve this, I have an instance: <instance id="state"> <data xmlns=""> <status loading="false" ready="false">...Loading...</status> </data> </instance> When the submission is triggered, I call xf:setvalue to change the @loading attribute to "true." This causes the loading message to display. When the submission completes, the @loading attribute is set to "false" again. For the value change to take effect, I find that I have to call xf:refresh, or else the binding won't be registered. In the latest version of beta1.5, if I call xf:refresh from within an xf:submit element, the following error is thrown. This does not occur in XSLTForms 1.4. XSLTForms Exception -------------------------- Incorrect Javascript code generation: XsltForms_abstractAction.prototype.init@ https://www.tat2.io/basex2/static/xsltforms.js:11252:35 XsltForms_dispatch@https://www.tat2.io/basex2/static/xsltforms.js:11462:7 anonymous@https://www.tat2.io/basex2/static/xsltforms.js line 5740 > Function:3:181 schback/<@https://www.tat2.io/basex2/static/xsltforms.js:5759:125 schback@https://www.tat2.io/basex2/static/xsltforms.js:5759:66 schloader@https://www.tat2.io/basex2/static/xsltforms.js:5780:11 XsltForms_class.activateAll@ https://www.tat2.io/basex2/static/xsltforms.js:5815:11 xsltforms_init@https://www.tat2.io/basex2/static/xsltforms.js:16516:22 TypeError mainaction.hasAttribute is not a function However, if I call xf:refresh from within an xforms-submit action, no error is thrown. See examples: *1. xf:setvalue with xf:refresh inside xf:submit (1.5beta)*: https://www.tat2.io/basex2/static/xsltforms_setvalue_refresh_test_2020-02-27_1.5beta.xml *2. xf:setvalue inside xf:submit, xf:refresh inside xforms-submit action (1.5beta):* https://www.tat2.io/basex2/static/xsltforms_setvalue_refresh_test_2020-02-27_1.5beta_v2.xml *3. xf:setvalue with xf:refresh inside xf:submit (1.4):* https://www.tat2.io/basex2/static/xsltforms_setvalue_refresh_test_2020-02-27_1.4.xml Best regards, Tim -- Tim A. Thompson Discovery Metadata Librarian Yale University Library On Mon, Feb 17, 2020 at 4:56 PM Tim Thompson <tim...@gm...> wrote: > Thank you, Alain! > > If you don't mind, I have another test form that works in XSLTForms 1.4 > but not 1.5beta. > > This one is testing xf:var again. > > In 1.5beta, an error is thrown: > Assertion failed: Binding evaluation didn't returned a nodeset but '1' for > XPath expression: count(ancestor::item) > > https://www.tat2.io/basex2/static/xsltforms_var_test_2020-02-17_with_var_1.5beta.xml > > In 1.4, the form works as expected: > > https://www.tat2.io/basex2/static/xsltforms_var_test_2020-02-17_with_var_1.4.xml > > Best regards, > Tim > > > -- > Tim A. Thompson > Discovery Metadata Librarian > Yale University Library > > > On Mon, Feb 17, 2020 at 3:54 PM Alain Couthures < > ala...@ag...> wrote: > >> Hello Tim, >> >> This issue is now fixed (and some more actually...). >> >> The new build can be downloaded at the same URL: >> www.agencexml.com/1.5beta/xsltforms.zip >> >> Thank you again for your contributions! >> >> --Alain >> >> Le 15/02/2020 à 01:15, Tim Thompson a écrit : >> >> Hello, Alain, >> >> Another test for you: >> >> In XSLTForms 1.5beta, the DOMActivate event is not being evoked for input >> controls. See this test form: >> >> >> https://www.tat2.io/basex2/static/xsltforms_DOMActivate_test_2020-02-14_1-5beta.xml >> >> Pressing "enter" in the input field does nothing, whereas clicking the >> button triggers the event. >> >> Compare this to a form running XSLTForms 1.4: >> >> >> https://www.tat2.io/basex2/static/xsltforms_DOMActivate_test_2020-02-14_1-4.xml >> >> Here, the DOMActivate enter works in both the input field with the >> "enter" key and with the button. >> >> All best, >> Tim >> >> -- >> Tim A. Thompson >> Discovery Metadata Librarian >> Yale University Library >> >> On Wed, Feb 12, 2020 at 5:51 PM Tim Thompson <tim...@gm...> wrote: >> >>> Great! Works perfectly now. Looking forward to the XML Prague >>> proceedings and video for your presentation with Steven Pemberton. >>> >>> Thanks again, >>> Tim >>> >>> >>> -- >>> Tim A. Thompson >>> Discovery Metadata Librarian >>> Yale University Library >>> >>> >>> >>> On Wed, Feb 12, 2020 at 4:00 PM Alain Couthures < >>> ala...@ag...> wrote: >>> >>>> Hello Tim, >>>> >>>> (1) The xf:group processing was not correct: in the new approach, an >>>> xf-bound attribute has to be automatically added to each xforms-* element >>>> when xf-ref (or xf-bind) is evaluated as a non empty nodeset. CSS attribute >>>> selectors are, then, used to display/hide xforms-* elements accordingly. >>>> >>>> (2) The xf:var processing was not functional: it should now work, at >>>> least, outside of actions. >>>> >>>> (3) The profiler is actually just another external form: I have added >>>> the corresponding file into the updated .zip file at >>>> www.agencexml.com/1.5beta/xsltforms.zip >>>> >>>> Thank you very much for your contributions! >>>> >>>> --Alain >>>> >>>> Le 09/02/2020 à 20:51, Tim Thompson a écrit : >>>> >>>> Hello, Alain, >>>> >>>> I've been testing an existing form with the new release and have some >>>> feedback. First, the performance improvement seems impressive, and CSS >>>> styling with Bootstrap now seems much easier. Thank you! >>>> >>>> I did notice some issues after testing, however. >>>> >>>> (1) >>>> There seems to be a bug with XPath predicate filtering in xf:group >>>> elements. For example, a group binding such as <xf:group >>>> ref="instance('response')/response[*]">...</xf:group>, where the response >>>> element should initially be empty (before a submission is executed) does >>>> not seem to work. >>>> >>>> See the test form copied below. Example form at: >>>> https://www.tat2.io/basex2/static/xsltforms_test_2020-02-09.xml >>>> >>>> (2) >>>> I see that the xforms:var element is not currently supported. When >>>> loading a form with an XForms variable defined, I get an error message: >>>> >>>> Error initializing: >>>> >>>> xforms:var is not supported >>>> >>>> (3) >>>> I also see that the XSLTForms Profiler does not seem to be available. >>>> When I try to open it, I get an error: >>>> >>>> File not found (404): >>>> https://www.tat2.io/basex2/static/xsltforms_profiler.xhtml >>>> >>>> >>>> *--Test form for XPath predicate bug--* >>>> >>>> <?xml-stylesheet type="text/xsl" href="..."?> >>>> <html xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd=" >>>> http://www.w3.org/2001/XMLSchema" xmlns:xf=" >>>> http://www.w3.org/2002/xforms" xmlns:h="http://www.w3.org/1999/xhtml" >>>> xmlns:ev="http://www.w3.org/2001/xml-events" xmlns=" >>>> http://www.w3.org/1999/xhtml"> >>>> <head> >>>> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >>>> /> >>>> <title>XForms/XPath Predicate Test</title> >>>> <style type="text/css"/> >>>> <model xmlns="http://www.w3.org/2002/xforms" id="m"> >>>> <instance id="default"> >>>> <data xmlns=""> >>>> <default/> >>>> </data> >>>> </instance> >>>> <instance id="response"> >>>> <data xmlns=""> >>>> <response/> >>>> </data> >>>> </instance> >>>> <instance id="response-test"> >>>> <data xmlns=""> >>>> <response> >>>> <testing>Testing</testing> >>>> </response> >>>> </data> >>>> </instance> >>>> </model> >>>> </head> >>>> <body> >>>> <div class="container-fluid"> >>>> <hr class="blue" /> >>>> <h1>XForms/XPath predicate test</h1> >>>> <xf:group ref="instance('response')/response[*]"> >>>> <h2 style="color: red;">This should not display!</h2> >>>> <xf:output value="concat('Value of "serialize(.)": ', >>>> serialize(.))"/> >>>> </xf:group> >>>> <xf:group ref="instance('response-test')/response[*]"> >>>> <h2 style="color: blue;">This should display.</h2> >>>> <xf:output value="concat('Value of "serialize(.)": ', >>>> serialize(.))"/> >>>> </xf:group> >>>> </div> >>>> </body> >>>> </html> >>>> >>>> >>>> >>>> -- >>>> Tim A. Thompson >>>> Discovery Metadata Librarian >>>> Yale University Library >>>> >>>> On Sun, Feb 9, 2020 at 11:06 AM Tim Thompson <tim...@gm...> >>>> wrote: >>>> >>>>> Hello, Alain, >>>>> >>>>> Congratulations on this milestone! I am very eager to try and test the >>>>> new release. Is XSLTForms now using Fleur for XPath parsing? Does this mean >>>>> that XPath 3.0 functions are now supported? I guess I can test this myself >>>>> :) >>>>> >>>>> It's quite amazing to see the xsltforms.xsl file down to just over 500 >>>>> lines. >>>>> >>>>> Thanks again for all your work. >>>>> >>>>> Best regards, >>>>> Tim >>>>> >>>>> >>>>> -- >>>>> Tim A. Thompson >>>>> Discovery Metadata Librarian >>>>> Yale University Library >>>>> >>>>> On Wed, Feb 5, 2020 at 3:16 PM Alain Couthures < >>>>> ala...@ag...> wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> Please find a new release for XSLTForms at >>>>>> www.agencexml.com/1.5beta/xsltforms.zip >>>>>> >>>>>> It has not yet been fully tested because a lot of changes have been >>>>>> made and you are welcome to locate remaining issues with your own forms. >>>>>> >>>>>> The XSLT part has been reduced to minimal for better performance. >>>>>> Instead of parsing the XPath expressions and transforming all the XForms >>>>>> elements into HTML elements, it basically just transposes the non-HTML >>>>>> elements into sort-of custom elements: xforms:* elements become xforms-* >>>>>> elements with xf-* and ev-* attributes. >>>>>> >>>>>> Have a look with your favorite browser debugger! Actually, authors >>>>>> could even prefer to directly write/generate forms with this new notation >>>>>> and forget about the XSLT step. You can compare two sources for the same >>>>>> form: hello.xml and hello.htm >>>>>> >>>>>> XSLTForms Javascript classes constructors are obtaining their >>>>>> properties directly from xf-* attributes and XPath parsing is then >>>>>> performed. >>>>>> >>>>>> No ids are automatically added as previously. >>>>>> >>>>>> Extra xf-* attributes and extra xforms-* elements are used to embed >>>>>> effective HTML rendering elements, for example, xforms-body or >>>>>> xforms-repeat-item while, before, span or div elements where used. >>>>>> >>>>>> XSLTForms classes for xforms:select and xforms:itemset had to be >>>>>> partially rewritten. >>>>>> >>>>>> SVG support has been basically tested too. >>>>>> >>>>>> CSS styling is not anymore based on xforms-* classes but on custom >>>>>> element names and attribute selectors. For example, the extra xf-bound >>>>>> attribute, when present, says that the XForms control is bound to a node, >>>>>> eventually a not relevant one, and the extra xf-notrelevant attribute can, >>>>>> then, be checked... >>>>>> >>>>>> Thank you for your contribution! >>>>>> >>>>>> --Alain >>>>>> _______________________________________________ >>>>>> Xsltforms-support mailing list >>>>>> Xsl...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/xsltforms-support >>>>>> >>>>> >>>> >> |