- From: Philip Fennell <Philip.Fennell@marklogic.com>
- Date: Thu, 12 May 2011 04:02:32 -0700
- To: "Leigh L. Klotz, Jr." <Leigh.Klotz@Xerox.com>, "public-forms@w3.org" <public-forms@w3.org>
All, RE: Transform function module > Kurt: In . you pass an XML node that contains the parameters > ... you could store the parameters in the instance > klotz: we do that for headers to We can reference values for a header in an instance but the definition of the individual headers is done in-line within the xf:submission. Although you cannot deny how concise the currently proposed transform function is: <xf:insert origin="transform(instance('source'), '/resources/schemas/schematron/atom-feed.xsl')" position="after" nodeset="." context="instance('svrlReport')"/> I think it would be hard to ever achieve the necessary level of control that an xf:transform action would allow you to define with regard to location and type of transforms, declaring parameters and handling of errors. The following examples have only been sketchily thought-out and they are based upon the xf:insert action. <xf:transform ref="instance('compiledSchema')" origin="instance('source')" position="after" nodeset="." context="instance('svrlReport')"/> <xf:transform resource="/resources/schemas/schematron/atom-feed.xsl" origin="instance('source')" position="after" nodeset="." context="instance('svrlReport')"/> <xf:transform origin="instance('source')" position="after" nodeset="." context="instance('svrlReport')" media-type="application/xslt+xml"> <xf:resource value=" some xpath expression "/> <xf:transform> <xf:transform ref="instance('compiledSchema')" origin="instance('source')" position="after" nodeset="." context="instance('svrlReport')"> <xf:param> <xf:name>foo</xf:name> <xf:value>bar</xf:value> </xf:param> <xf:transform> <xf:transform ref="instance('compiledSchema')" origin="instance('source')" position="after" nodeset="." context="instance('svrlReport')"> <xf:action ev:event="xforms-transform-error"> <xf:message level="modal"> Problem: <xf:output value="event('error-type')"/> Message: <xf:output value="event('error-message')"/> </xf:message> </xf:action> <xf:transform> Although I think that the binding of multiple result documents to instances could prove complex, seeing as they're defined with a URI in the transform and that URI can be constructed at run-time if XForms were to adopt the concept of primary and secondary output result ports, like XProc, then that would help cover both XProc and XSLT 2+ transformations. The 'secondary' output port would have to accommodate a sequence of results but how you'd un-pick them I'm not quite sure. <xf:transform ref="instance('compiledSchema')" origin="instance('source')" position="after" nodeset="."> <xf:output type="primary" ref="instance('foo')"/> <xf:output type="secondary" ref="instance('bar')"/> </xf:transform> Personally I think there's room for both the function were conciseness is desired and the action were control, extensibility and expressivity is required. Regards Philip Fennell Consultant MarkLogic Corporation One Kingdom Street Paddington Central London W2 6BD United Kingdom Mobile: +44 (0) 7824 830 866 Tel: +44 (0) 203 402 3619 email Philip.Fennell@marklogic.com web www.marklogic.com -----Original Message----- From: public-forms-request@w3.org [mailto:public-forms-request@w3.org] On Behalf Of Leigh L. Klotz, Jr. Sent: Thursday, May 12, 2011 6:28 AM To: public-forms@w3.org Subject: IRC Minutes for 2011-05-11 Thanks to Nick van den Bleeken: http://www.w3.org/2011/05/11-forms-minutes.html
Received on Thursday, 12 May 2011 11:06:25 UTC