- From: <tangui.lepense@free.fr>
- Date: Fri, 7 Aug 2009 14:35:44 +0200 (CEST)
- To: www-forms@w3.org
Hi WG, following advice from this post ( http://groups.google.com/group/mozilla.dev.tech.xforms/browse_thread/thread/0738c4954dc70c80# ), I post here since I have not been able to solve an issue about the output element. I have been trying to build a form showing a live SVG chart. http://svground.free.fr/test.xhtml is my last attempt and it does not work since the instance of the use element is not refreshed (and I don't think it should). My initial idea was to use the output element to display SVG, doing something like that : <xf:model> <xf:instance xmlns="http://www.w3.org/2000/svg"> <svg version="1.1" baseProfile="full" width="100%" height="100%" xml:lang="fr" viewBox="0 0 400 300" preserveAspectRatio="xMidYMid meet" xmlns:xlink="http://www.w3.org/1999/xlink"> <rect id="rect" x="100" y="20" width="30" height="120" fill="lightblue"/> </svg> </xf:instance> <xf:bind nodeset="/svg/rect/@width" type="xs:decimal"/> </xf:model> and further <xf:range start="10" end="300" incremental="true" ref="/svg/rect/@width"> <xf:label>Modify rectangle's width</xf:label> </xf:range> <xf:output ref="/" mediatype="image/svg+xml"> <xf:label>Live chart</xf:label> </xf:output> However, it seems that the ref attribute can only target text content. Example : <xf:instance xmlns="http://www.w3.org/2000/svg"> <![CDATA[ <svg version="1.1" baseProfile="full" width="100%" height="100%" xml:lang="fr" viewBox="0 0 400 300" preserveAspectRatio="xMidYMid meet" xmlns:xlink="http://www.w3.org/1999/xlink"> <rect id="rect" x="100" y="20" width="30" height="120" fill="lightblue"/> </svg> ]]> </xf:instance> To my mind, this is an important restriction since this feature would allow to build live charts and live html tables thanks to repeat features, and more, all without scripting. Is there a way to do this in the current state of the XForms spec in a declarative way (with no script) ? Another solution would be to extend the output attribute so that it handles updating attribute, for example something like that : <rect id="rect" x="100" y="20" width="30" height="120" fill="lightblue"> <xf:output type="attribute" attributeName="width" ref="/instance/value"> </rect> Please excuse me if this issue has already been treated on this list and for my low English skills. Regards, Tangui Le Pense
Received on Monday, 10 August 2009 08:15:12 UTC