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