FW: XForms' transform function
Philip Fennell <[email protected]> Tue, 10 May 2011 23:00:22 -0700
| Newsgroups | gmane.comp.web.xforms |
|---|---|
| Message-ID | <[email protected]> |
--_000_D20C296D14127D4EBD176AD949D8A75A67743A9DEXCHGBEmarklogi_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable From: Philip Fennell Sent: Wednesday, May 11, 2011 7:00 AM To: 'John Boyer' Subject: RE: XForms' transform function John, > whether you are also considering support for "type library" schematron va= lidation. Mainly I'm thinking of validating against a set of rules that are over-and-= above those defined in an XML Schema. Business rules more than general stru= ctural/grammar validation but I hadn't really considered the notion of 'typ= e libraries'. Although we can do a lot of these kinds of things using XForm= s' MIPs I was looking at how we can bring in and apply external business ru= les. 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 [email protected]<mailto:[email protected]= > web www.marklogic.com<http://www.marklogic.com/> From: John Boyer [mailto:[email protected]] Sent: Tuesday, May 10, 2011 5:41 PM To: Philip Fennell Cc: [email protected] Subject: Re: XForms' transform function Hi Philip, Just curious whether you are considering only "full" schematron validation,= or whether you are also considering support for "type library" schematron = validation. A type library provides datatype definitions that can be applied to instanc= e data nodes via the type MIP (model item property). It's probably no big deal if an implementation already provides an XML sche= ma way of building type libraries, but like I said ... just curious. Cheers, John M. Boyer, Ph.D. Distinguished Engineer, IBM Forms and Smarter Web Applications IBM Canada Software Lab, Victoria E-Mail: [email protected] Blog: http://www.ibm.com/developerworks/blogs/page/JohnBoyer Blog RSS feed: http://www.ibm.com/developerworks/blogs/rss/JohnBoyer?flavor= =3Drssdw From: Philip Fennell <[email protected]> To: "[email protected]" <[email protected]> Date: 05/10/2011 09:07 AM Subject: XForms' transform function Sent by: [email protected] ________________________________ 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 Tel: +44 (0) 203 402 3619 email [email protected] web www.marklogic.com [attachment "schematron.xml" deleted by John Boyer/CanWest/IBM] --_000_D20C296D14127D4EBD176AD949D8A75A67743A9DEXCHGBEmarklogi_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable <html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr= osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" = xmlns:x=3D"urn:schemas-microsoft-com:office:excel" xmlns:p=3D"urn:schemas-m= icrosoft-com:office:powerpoint" xmlns:a=3D"urn:schemas-microsoft-com:office= :access" xmlns:dt=3D"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s=3D"= uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs=3D"urn:schemas-microsof= t-com:rowset" xmlns:z=3D"#RowsetSchema" xmlns:b=3D"urn:schemas-microsoft-co= m:office:publisher" xmlns:ss=3D"urn:schemas-microsoft-com:office:spreadshee= t" xmlns:c=3D"urn:schemas-microsoft-com:office:component:spreadsheet" xmlns= :odc=3D"urn:schemas-microsoft-com:office:odc" xmlns:oa=3D"urn:schemas-micro= soft-com:office:activation" xmlns:html=3D"http://www.w3.org/TR/REC-html40" = xmlns:q=3D"http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc=3D"http://m= icrosoft.com/officenet/conferencing" xmlns:D=3D"DAV:" xmlns:Repl=3D"http://= schemas.microsoft.com/repl/" xmlns:mt=3D"http://schemas.microsoft.com/share= point/soap/meetings/" xmlns:x2=3D"http://schemas.microsoft.com/office/excel= /2003/xml" xmlns:ppda=3D"http://www.passport.com/NameSpace.xsd" xmlns:ois= =3D"http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir=3D"http://= schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds=3D"http://www.w3= .org/2000/09/xmldsig#" xmlns:dsp=3D"http://schemas.microsoft.com/sharepoint= /dsp" xmlns:udc=3D"http://schemas.microsoft.com/data/udc" xmlns:xsd=3D"http= ://www.w3.org/2001/XMLSchema" xmlns:sub=3D"http://schemas.microsoft.com/sha= repoint/soap/2002/1/alerts/" xmlns:ec=3D"http://www.w3.org/2001/04/xmlenc#"= xmlns:sp=3D"http://schemas.microsoft.com/sharepoint/" xmlns:sps=3D"http://= schemas.microsoft.com/sharepoint/soap/" xmlns:xsi=3D"http://www.w3.org/2001= /XMLSchema-instance" xmlns:udcs=3D"http://schemas.microsoft.com/data/udc/so= ap" xmlns:udcxf=3D"http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udc= p2p=3D"http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf=3D"http:/= /schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss=3D"http://sche= mas.microsoft.com/office/2006/digsig-setup" xmlns:dssi=3D"http://schemas.mi= crosoft.com/office/2006/digsig" xmlns:mdssi=3D"http://schemas.openxmlformat= s.org/package/2006/digital-signature" xmlns:mver=3D"http://schemas.openxmlf= ormats.org/markup-compatibility/2006" xmlns:m=3D"http://schemas.microsoft.c= om/office/2004/12/omml" xmlns:mrels=3D"http://schemas.openxmlformats.org/pa= ckage/2006/relationships" xmlns:spwp=3D"http://microsoft.com/sharepoint/web= partpages" xmlns:ex12t=3D"http://schemas.microsoft.com/exchange/services/20= 06/types" xmlns:ex12m=3D"http://schemas.microsoft.com/exchange/services/200= 6/messages" xmlns:pptsl=3D"http://schemas.microsoft.com/sharepoint/soap/Sli= deLibrary/" xmlns:spsl=3D"http://microsoft.com/webservices/SharePointPortal= Server/PublishedLinksService" xmlns:Z=3D"urn:schemas-microsoft-com:" xmlns:= st=3D"" xmlns=3D"http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUI= V=3D"Content-Type" CONTENT=3D"text/html; charset=3Dus-ascii"><meta name=3DG= enerator content=3D"Microsoft Word 12 (filtered medium)"><!--[if !mso]><sty= le>v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style><![endif]--><style><!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} @font-face {font-family:Tahoma; panose-1:2 11 6 4 3 5 4 4 2 4;} @font-face {font-family:Consolas; panose-1:2 11 6 9 2 2 4 3 2 4;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0in; margin-bottom:.0001pt; font-size:12.0pt; font-family:"Times New Roman","serif";} a:link, span.MsoHyperlink {mso-style-priority:99; color:blue; text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed {mso-style-priority:99; color:purple; text-decoration:underline;} tt {mso-style-priority:99; font-family:"Courier New";} span.EmailStyle18 {mso-style-type:personal; font-family:"Calibri","sans-serif"; color:#1F497D;} span.EmailStyle19 {mso-style-type:personal-reply; font-family:"Calibri","sans-serif"; color:#1F497D;} .MsoChpDefault {mso-style-type:export-only; font-size:10.0pt;} @page WordSection1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in;} div.WordSection1 {page:WordSection1;} --></style><!--[if gte mso 9]><xml> <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" /> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext=3D"edit"> <o:idmap v:ext=3D"edit" data=3D"1" /> </o:shapelayout></xml><![endif]--></head><body lang=3DEN-GB link=3Dblue vli= nk=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal><span style=3D'f= ont-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbs= p;</o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;fon= t-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p>= <div><div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt= 0in 0in 0in'><p class=3DMsoNormal><b><span lang=3DEN-US style=3D'font-size= :10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=3DEN-= US style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Philip Fen= nell <br><b>Sent:</b> Wednesday, May 11, 2011 7:00 AM<br><b>To:</b> 'John B= oyer'<br><b>Subject:</b> RE: XForms' transform function<o:p></o:p></span></= p></div></div><p class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNorma= l><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:= #1F497D'>John,<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'fon= t-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> = </o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-= family:"Calibri","sans-serif";color:#1F497D'>> </span><span style=3D'fon= t-size:10.0pt;font-family:"Arial","sans-serif"'>whether you are also consid= ering support for "type library" schematron validation.</span><sp= an style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F49= 7D'><o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.= 0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></sp= an></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Ca= libri","sans-serif";color:#1F497D'>Mainly I’m thinking of validating = against a set of rules that are over-and-above those defined in an XML Sche= ma. Business rules more than general structural/grammar validation but I ha= dn’t really considered the notion of ‘type libraries’. Al= though we can do a lot of these kinds of things using XForms’ MIPs I = was looking at how we can bring in and apply external business rules.<o:p><= /o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-f= amily:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p = class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sa= ns-serif";color:#1F497D'><o:p> </o:p></span></p><p class=3DMsoNormal><= span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F= 497D'>Regards<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US = style=3D'font-size:10.0pt;font-family:Consolas;color:#1F497D'><o:p> </= o:p></span></p><p class=3DMsoNormal style=3D'text-autospace:none'><span lan= g=3DEN-US style=3D'font-size:10.0pt;font-family:Consolas;color:#1F497D'>Phi= lip Fennell<br>Consultant<br></span><span lang=3DEN-US style=3D'font-size:1= 0.0pt;font-family:Consolas;color:#D92231'>MarkLogic Corporation</span><span= lang=3DEN-US style=3D'font-size:10.0pt;font-family:Consolas;color:#1F497D'= ><br><br></span><span style=3D'font-size:10.0pt;font-family:Consolas;color:= #1F497D'>One Kingdom Street<o:p></o:p></span></p><p class=3DMsoNormal style= =3D'text-autospace:none'><span style=3D'font-size:10.0pt;font-family:Consol= as;color:#1F497D'>Paddington Central<o:p></o:p></span></p><p class=3DMsoNor= mal style=3D'text-autospace:none'><span style=3D'font-size:10.0pt;font-fami= ly:Consolas;color:#1F497D'>London W2 6BD<o:p></o:p></span></p><p class=3DMs= oNormal><span style=3D'font-size:10.0pt;font-family:Consolas;color:#1F497D'= >United Kingdom<o:p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-U= S style=3D'font-size:10.0pt;font-family:Consolas;color:#1F497D'><o:p> = </o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-size= :10.0pt;font-family:Consolas;color:#1F497D'>Mobile: +44 (0) 7824 830 866 <o= :p></o:p></span></p><p class=3DMsoNormal><span lang=3DEN-US style=3D'font-s= ize:10.0pt;font-family:Consolas;color:#1F497D'>Tel: </spa= n><span style=3D'font-size:10.0pt;font-family:Consolas;color:#1F497D'>+44 (= 0) 203 402 3619</span><span lang=3DEN-US style=3D'font-size:10.0pt;font-fam= ily:Consolas;color:#1F497D'><o:p></o:p></span></p><p class=3DMsoNormal><spa= n lang=3DEN-US style=3D'font-size:10.0pt;font-family:Consolas;color:#1F497D= '><br></span><span lang=3DEN-US style=3D'font-size:10.0pt;font-family:Conso= las;color:#D92231'>email</span><span lang=3DEN-US style=3D'font-size:10.0pt= ;font-family:Consolas;color:#1F497D'> <a href=3D"mailto:Firstname.Las= [email protected]"><span style=3D'color:#78808B;text-decoration:none'>Phi= [email protected]</span></a><br></span><span lang=3DEN-US style=3D'= font-size:10.0pt;font-family:Consolas;color:#D92231'>web</span><span lang= =3DEN-US style=3D'font-size:10.0pt;font-family:Consolas;color:#1F497D'>&nbs= p; <a href=3D"http://www.marklogic.com/"><span style=3D'color:#= 78808B;text-decoration:none'>www.marklogic.com</span></a><o:p></o:p></span>= </p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;font-family:"Calib= ri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=3DMsoN= ormal><span style=3D'font-size:11.0pt;font-family:"Calibri","sans-serif";co= lor:#1F497D'><o:p> </o:p></span></p><p class=3DMsoNormal><span style= =3D'font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p= > </o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0p= t;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span= ></p><div style=3D'border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt= 0in 0in 0in'><p class=3DMsoNormal><b><span lang=3DEN-US style=3D'font-size= :10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=3DEN-= US style=3D'font-size:10.0pt;font-family:"Tahoma","sans-serif"'> John Boyer= [mailto:[email protected]] <br><b>Sent:</b> Tuesday, May 10, 2011 5:41 PM<= br><b>To:</b> Philip Fennell<br><b>Cc:</b> [email protected]<br><b>Subject:<= /b> Re: XForms' transform function<o:p></o:p></span></p></div><p class=3DMs= oNormal><o:p> </o:p></p><p class=3DMsoNormal><span style=3D'font-size:= 10.0pt;font-family:"Arial","sans-serif"'>Hi Philip,</span> <br><br><span st= yle=3D'font-size:10.0pt;font-family:"Arial","sans-serif"'>Just curious whet= her you are considering only "full" schematron validation, or whe= ther you are also considering support for "type library" schematr= on validation.</span> <br><span style=3D'font-size:10.0pt;font-family:"Aria= l","sans-serif"'>A type library provides datatype definitions that can be a= pplied to instance data nodes via the type MIP (model item property).</span= > <br><span style=3D'font-size:10.0pt;font-family:"Arial","sans-serif"'>It'= s probably no big deal if an implementation already provides an XML schema = way of building type libraries, but like I said ... just curious.</span> <b= r><br><span style=3D'font-size:10.0pt;font-family:"Arial","sans-serif"'>Che= ers,</span> <br><span style=3D'font-size:10.0pt;font-family:"Arial","sans-s= erif"'>John M. Boyer, Ph.D.<br>Distinguished Engineer, IBM Forms and Smarte= r Web Applications<br>IBM Canada Software Lab, Victoria<br>E-Mail: boyerj@c= a.ibm.com <br><br>Blog: </span><a href=3D"http://www.ibm.com/develope= rworks/blogs/page/JohnBoyer"><span style=3D'font-size:10.0pt;font-family:"A= rial","sans-serif"'>http://www.ibm.com/developerworks/blogs/page/JohnBoyer<= /span></a><span style=3D'font-size:10.0pt;font-family:"Arial","sans-serif"'= ><br>Blog RSS feed: </span><a href=3D"http://www.ibm.com/developerworks/blo= gs/rss/JohnBoyer?flavor=3Drssdw"><span style=3D'font-size:10.0pt;font-famil= y:"Arial","sans-serif"'>http://www.ibm.com/developerworks/blogs/rss/JohnBoy= er?flavor=3Drssdw</span></a><span style=3D'font-size:10.0pt;font-family:"Ar= ial","sans-serif"'><br><br></span><br><br><br><br><span style=3D'font-size:= 7.5pt;font-family:"Arial","sans-serif";color:#5F5F5F'>From: &= nbsp; </span><span style=3D'font-size:7.5pt;font-family:"Arial","sans= -serif"'>Philip Fennell <[email protected]></span> <br><sp= an style=3D'font-size:7.5pt;font-family:"Arial","sans-serif";color:#5F5F5F'= >To: </span><span style=3D'font-size:7.5pt;font-= family:"Arial","sans-serif"'>"[email protected]" <www-forms@w3.= org></span> <br><span style=3D'font-size:7.5pt;font-family:"Arial","sans= -serif";color:#5F5F5F'>Date: </span><span style= =3D'font-size:7.5pt;font-family:"Arial","sans-serif"'>05/10/2011 09:07 AM</= span> <br><span style=3D'font-size:7.5pt;font-family:"Arial","sans-serif";c= olor:#5F5F5F'>Subject: </span><span style=3D'fon= t-size:7.5pt;font-family:"Arial","sans-serif"'>XForms' transform function</= span> <br><span style=3D'font-size:7.5pt;font-family:"Arial","sans-serif";c= olor:#5F5F5F'>Sent by: </span><span style=3D'fon= t-size:7.5pt;font-family:"Arial","sans-serif"'>[email protected]</sp= an> <o:p></o:p></p><div class=3DMsoNormal align=3Dcenter style=3D'text-alig= n:center'><hr size=3D3 width=3D"100%" noshade style=3D'color:#A0A0A0' align= =3Dcenter></div><p class=3DMsoNormal><br><br><br><tt><span style=3D'font-si= ze:10.0pt'>I have been experimenting with demonstrating Schematron validati= on within XForms by the use of the proposed transform function. I have been= using XSLTForms beta3 and have a rather limited example which uses the tex= tual result from the XSLT 1.0 skeleton implementation. Seeing as XSLTForms'= transform function returns a string serialization of the result of the tra= nsform I cannot use the SVRL representation of a Schematron report which wo= uld, if available as an XML tree, provide more options for presentation and= logic/behavior than the basic text report. However, it does prove that it = can work all be it that the 'complied' schema can only be accessed via a UR= I.</span></tt><span style=3D'font-size:10.0pt;font-family:"Courier New"'><b= r><br><tt>I am still looking for an implementation that'll firstly let me s= tore the compiled schema in an XForms instance and ultimately allow me to d= aisy-chain the compilation transforms, across an number of instances, so th= at I can create a Schematron rules editor in XForms and have the schema com= piled and applied to a test source document upon DOMSubtreeModified events = dispatched from the schema instance. The nearest option I can currently see= working is to use Orbeon's xxforms:call-xpl() function and implement the S= chematron compilation pipeline externally to XForms but that's not what I'm= after.</tt><br><br><tt>I have attached the fledgling form so that you can = see the string of instances I'll in order to compile the schema. It's all r= ather a hack at the moment but I'm planning on making it look a bit more pr= esentable.</tt><br><br><br><tt>Regards</tt><br><br><tt>Philip Fennell</tt><= br><tt>Consultant</tt><br><tt>MarkLogic Corporation</tt><br><br><tt>One Kin= gdom Street</tt><br><tt>Paddington Central</tt><br><tt>London W2 6BD</tt><b= r><tt>United Kingdom</tt><br><br><tt>Mobile: +44 (0) 7824 830 866 </tt><br>= <tt>Tel: +44 (0) 203 402 3619</tt><br><br><tt>email Phil= [email protected]</tt><br><tt>web </tt></span><a h= ref=3D"www.marklogic.com"><tt><span style=3D'font-size:10.0pt'>www.marklogi= c.com</span></tt></a><span style=3D'font-size:10.0pt;font-family:"Courier N= ew"'><br><br><br><br><br><tt>[attachment "schematron.xml" deleted= by John Boyer/CanWest/IBM] </tt></span><o:p></o:p></p></div></body></html>= --_000_D20C296D14127D4EBD176AD949D8A75A67743A9DEXCHGBEmarklogi_--