XForms' transform function
Philip Fennell <[email protected]> Tue, 10 May 2011 08:55:39 -0700
| Newsgroups | gmane.comp.web.xforms |
|---|---|
| Message-ID | <[email protected]> |
--_002_D20C296D14127D4EBD176AD949D8A75A67612F6EEXCHGBEmarklogi_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable I have been experimenting with demonstrating Schematron validation within X= Forms by the use of the proposed transform function. I have been using XSLT= Forms beta3 and have a rather limited example which uses the textual result= from the XSLT 1.0 skeleton implementation. Seeing as XSLTForms' transform = function returns a string serialization of the result of the transform I ca= nnot use the SVRL representation of a Schematron report which would, if ava= ilable as an XML tree, provide more options for presentation and logic/beha= vior than the basic text report. However, it does prove that it can work al= l be it that the 'complied' schema can only be accessed via a URI. I am still looking for an implementation that'll firstly let me store the c= ompiled schema in an XForms instance and ultimately allow me to daisy-chain= the compilation transforms, across an number of instances, so that I can c= reate a Schematron rules editor in XForms and have the schema compiled and = applied to a test source document upon DOMSubtreeModified events dispatched= from the schema instance. The nearest option I can currently see working i= s to use Orbeon's xxforms:call-xpl() function and implement the Schematron = compilation pipeline externally to XForms but that's not what I'm after. I have attached the fledgling form so that you can see the string of instan= ces I'll in order to compile the schema. It's all rather a hack at the mome= nt but I'm planning on making it look a bit more presentable. Regards Philip Fennell Consultant MarkLogic Corporation One Kingdom Street Paddington Central London W2 6BD United Kingdom Mobile: +44 (0) 7824 830 866=20 Tel: +44 (0) 203 402 3619 email=A0 [email protected] web=A0=A0=A0 www.marklogic.com --_002_D20C296D14127D4EBD176AD949D8A75A67612F6EEXCHGBEmarklogi_ Content-Type: text/xml; name="schematron.xml" Content-Description: schematron.xml Content-Disposition: attachment; filename="schematron.xml"; size=3351; creation-date="Fri, 06 May 2011 11:52:15 GMT"; modification-date="Tue, 10 May 2011 08:51:24 GMT" Content-Transfer-Encoding: base64 PD9veHlnZW4gTlZETFNjaGVtYT0iLi4vLi4vc2NoZW1hcy9udmRsL3hodG1sLXhmb3JtczExLm52 ZGwiPz4NCjw/eG1sLXN0eWxlc2hlZXQgaHJlZj0iL3Jlc291cmNlcy94c2x0Zm9ybXMveHNsdGZv cm1zLnhzbCIgdHlwZT0idGV4dC94c2wiPz4NCjxodG1sIAl4bWxucz0iaHR0cDovL3d3dy53My5v cmcvMTk5OS94aHRtbCIgDQoJCXhtbG5zOmF0b209Imh0dHA6Ly93d3cudzMub3JnLzIwMDUvQXRv bSIgDQoJCXhtbG5zOmV2PSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL3htbC1ldmVudHMiIA0KCQl4 bWxuczppc289Imh0dHA6Ly9wdXJsLm9jbGMub3JnL2RzZGwvc2NoZW1hdHJvbiIgDQoJCXhtbG5z OnN2cmw9Imh0dHA6Ly9wdXJsLm9jbGMub3JnL2RzZGwvc3ZybCIgDQoJCXhtbG5zOnhmPSJodHRw Oi8vd3d3LnczLm9yZy8yMDAyL3hmb3JtcyIgDQoJCXhtbG5zOnhzPSJodHRwOi8vd3d3LnczLm9y Zy8yMDAxL1hNTFNjaGVtYSIgDQoJCXhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9Y TUxTY2hlbWEtaW5zdGFuY2UiIA0KCQl4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkv WFNML1RyYW5zZm9ybSIgDQoJCXhtbDpsYW5nPSJlbiIgDQoJCWxhbmc9ImVuIj4NCgk8aGVhZD4N CgkJPHRpdGxlPlhGb3JtcyArIFNjaGVtYXRyb248L3RpdGxlPg0KCQk8bWV0YSBodHRwLWVxdWl2 PSJjb250ZW50LWxhbmd1YWdlIiBjb250ZW50PSJlbiIgLz4NCgkJPG1ldGEgaHR0cC1lcXVpdj0i Y2FjaGUtY29udHJvbCIgY29udGVudD0ibm8tY2FjaGUiIC8+DQoJCTxtZXRhIGh0dHAtZXF1aXY9 IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiAvPg0KCQk8 IS0tPGxpbmsgaHJlZj0iL3Jlc291cmNlL2Nzcy94Zm9ybXMuY3NzIiBtZWRpYT0iYWxsIiByZWw9 InN0eWxlc2hlZXQiLz4tLT4NCg0KCQk8eGY6bW9kZWwgaWQ9ImNvbnRlbnQiPg0KCQkJDQoJCQk8 eGY6aW5zdGFuY2UgaWQ9InNvdXJjZSI+DQoJCQkJPGF0b206ZmVlZCB4bWxuczphdG9tPSJodHRw Oi8vd3d3LnczLm9yZy8yMDA1L0F0b20iPg0KCQkJCQk8YXRvbTp0aXRsZXM+VGVzdCBGZWVkPC9h dG9tOnRpdGxlcz4NCgkJCQkJPGF0b206aWRzPnVybjp0ZXN0OmF0b20tZmVlZDwvYXRvbTppZHM+ DQoJCQkJCTxhdG9tOnVwZGF0ZWRzPjIwMTEtMDUtMDZUMTk6MTA6MDA8L2F0b206dXBkYXRlZHM+ DQoJCQkJPC9hdG9tOmZlZWQ+DQoJCQk8L3hmOmluc3RhbmNlPg0KCQkJDQoJCQk8eGY6YmluZCBp ZD0iZmVlZFRpdGxlIiBub2Rlc2V0PSJhdG9tOnRpdGxlIi8+DQoJCQk8eGY6YmluZCBpZD0iZmVl ZElkIiBub2Rlc2V0PSJhdG9tOmlkIj48L3hmOmJpbmQ+DQoJCQk8eGY6YmluZCBpZD0iZmVlZFVw ZGF0ZWQiIG5vZGVzZXQ9ImF0b206dXBkYXRlZCIvPg0KCQk8L3hmOm1vZGVsPg0KCQkNCgkJPHhm Om1vZGVsIGlkPSJydWxlcyI+DQoJCQkNCgkJCTx4ZjppbnN0YW5jZSBpZD0ic2NoZW1hIj4NCgkJ CQk8aXNvOnNjaGVtYSB4bWxuczppc289Imh0dHA6Ly9wdXJsLm9jbGMub3JnL2RzZGwvc2NoZW1h dHJvbiIvPg0KCQkJPC94ZjppbnN0YW5jZT4NCgkJCQ0KCQkJPHhmOmluc3RhbmNlIGlkPSJkc2Rs SW5jbHVkZSI+DQoJCQkJPGlzbzpzY2hlbWEgeG1sbnM6aXNvPSJodHRwOi8vcHVybC5vY2xjLm9y Zy9kc2RsL3NjaGVtYXRyb24iLz4NCgkJCTwveGY6aW5zdGFuY2U+DQoJCQkNCgkJCTx4ZjppbnN0 YW5jZSBpZD0iYWJzdHJhY3RFeHBhbmQiPg0KCQkJCTxpc286c2NoZW1hIHhtbG5zOmlzbz0iaHR0 cDovL3B1cmwub2NsYy5vcmcvZHNkbC9zY2hlbWF0cm9uIi8+DQoJCQk8L3hmOmluc3RhbmNlPg0K CQkJDQoJCQk8eGY6aW5zdGFuY2UgaWQ9ImNvbXBpbGVkU2NoZW1hIj4NCgkJCQk8eHNsOnRyYW5z Zm9ybSB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1RyYW5zZm9ybSIvPg0K CQkJPC94ZjppbnN0YW5jZT4NCgkJCQ0KCQkJPHhmOmluc3RhbmNlIGlkPSJzdnJsUmVwb3J0Ij4N CgkJCQk8c3ZybDpzY2hlbWF0cm9uLW91dHB1dCB4bWxuczpzdnJsPSJodHRwOi8vcHVybC5vY2xj Lm9yZy9kc2RsL3N2cmwiPiA8L3N2cmw6c2NoZW1hdHJvbi1vdXRwdXQ+DQoJCQk8L3hmOmluc3Rh bmNlPg0KCQk8L3hmOm1vZGVsPg0KCTwvaGVhZD4NCgk8Ym9keT4NCgkJPGRpdiBpZD0idmlldyI+ DQoJCQk8aDE+U291cmNlPC9oMT4NCgkJCTxoMj4NCgkJCQk8eGY6b3V0cHV0IHZhbHVlPSJuYW1l KGluc3RhbmNlKCdzb3VyY2UnKSkiPg0KCQkJCQk8eGY6bGFiZWw+RG9jdW1lbnQgUm9vdDwveGY6 bGFiZWw+DQoJCQkJPC94ZjpvdXRwdXQ+DQoJCQk8L2gyPg0KCQkJDQoJCQk8ZGl2Pg0KCQkJCTx4 ZjpvdXRwdXQgYmluZD0iZmVlZFRpdGxlIj4NCgkJCQkJPHhmOmxhYmVsPlRpdGxlPC94ZjpsYWJl bD4NCgkJCQk8L3hmOm91dHB1dD4NCgkJCTwvZGl2Pg0KCQkJPGRpdj4NCgkJCQk8eGY6b3V0cHV0 IGJpbmQ9ImZlZWRJZCI+DQoJCQkJCTx4ZjpsYWJlbD5JZDwveGY6bGFiZWw+DQoJCQkJPC94Zjpv dXRwdXQ+DQoJCQk8L2Rpdj4NCgkJCTxkaXY+DQoJCQkJPHhmOm91dHB1dCBiaW5kPSJmZWVkVXBk YXRlZCI+DQoJCQkJCTx4ZjpsYWJlbD5VcGRhdGVkPC94ZjpsYWJlbD4NCgkJCQk8L3hmOm91dHB1 dD4NCgkJCTwvZGl2Pg0KCQk8L2Rpdj4NCgkJPGRpdiBpZD0icmVzdWx0cyI+DQoJCQk8ZGl2Pg0K CQkJCTxwcmU+DQoJCQkJCTx4ZjpvdXRwdXQgcmVmPSJpbnN0YW5jZSgnc3ZybFJlcG9ydCcpIi8+ DQoJCQkJPC9wcmU+DQoJCQk8L2Rpdj4NCgkJCTxkaXY+DQoJCQkJPHhmOnRyaWdnZXI+DQoJCQkJ CTx4ZjpsYWJlbD5WYWxpZGF0ZSBSdWxlczwveGY6bGFiZWw+DQoJCQkJCTx4ZjphY3Rpb24gZXY6 ZXZlbnQ9IkRPTUFjdGl2YXRlIj4NCgkJCQkJCTwhLS08eGY6aW5zZXJ0IG9yaWdpbj0idHJhbnNm b3JtKGluc3RhbmNlKCdzb3VyY2UnKSwgJy9yZXNvdXJjZXMvc2NoZW1hcy9zY2hlbWF0cm9uL2F0 b20tZmVlZC54c2wnKSIgcG9zaXRpb249ImFmdGVyIiBub2Rlc2V0PSIuIiBjb250ZXh0PSJpbnN0 YW5jZSgnc3ZybFJlcG9ydCcpIi8+LS0+DQoJCQkJCQk8eGY6c2V0dmFsdWUgcmVmPSJpbnN0YW5j ZSgnc3ZybFJlcG9ydCcpIiANCgkJCQkJCQl2YWx1ZT0ic3Vic3RyaW5nLWFmdGVyKHN1YnN0cmlu Zy1iZWZvcmUoDQoJCQkJCQkJCXRyYW5zZm9ybShpbnN0YW5jZSgnc291cmNlJyksICcvcmVzb3Vy Y2VzL3NjaGVtYXMvc2NoZW1hdHJvbi92YW5pbGxhLWF0b20tZmVlZC54c2wnKSwgDQoJCQkJCQkJ CQknJmx0Oy8nKSwgJyZndDsnKSIvPg0KCQkJCQk8L3hmOmFjdGlvbj4NCgkJCQk8L3hmOnRyaWdn ZXI+DQoJCQk8L2Rpdj4NCgkJPC9kaXY+DQoJPC9ib2R5Pg0KPC9odG1sPg0K --_002_D20C296D14127D4EBD176AD949D8A75A67612F6EEXCHGBEmarklogi_--