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 &quot;serialize(.)&quot;: ', serialize(.))"/>
      </xf:group>
      <xf:group ref="instance('response-test')/response[*]">
        <h2 style="color: blue;">This should display.</h2>
        <xf:output value="concat('Value of &quot;serialize(.)&quot;: ', 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 <[email protected] <mailto:[email protected]>> 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
    <[email protected]
    <mailto:[email protected]>> wrote:

        Hello,

        Please find a new release for XSLTForms at
        www.agencexml.com/1.5beta/xsltforms.zip
        <http://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
        [email protected]
        <mailto:[email protected]>
        https://lists.sourceforge.net/lists/listinfo/xsltforms-support


_______________________________________________
Xsltforms-support mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xsltforms-support

Reply via email to