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]> 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]> 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
>> [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