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