Erik, et. al., Thank you. Yes, this helps. And, I can see that what I am trying to do is very similar to the way the online doc's are handled. However, I don't get the results I want yet. It only works if I put a specific filename in my xforms.
Do I need to parse something out of a request processor? I was expecting either the gob-matcher (which is all I need) or the perl5-matcher to pass some value in my param, but I don't think it does. Here is my controller: <page id="test" path-info="/pre/*.html" matcher="oxf/processor/perl5-matcher" xforms="oxf:/preview.xml" model="oxf:/preview.xpl"> <param ref="/form/path"/> </page> Here is my preview.xpl: <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline"> <p:param name="instance" type="input"/> <p:processor uri="oxf/processor/xslt-2.0"> <p:input name="data" href="#instance"/> <p:input name="config"> <config xsl:version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <url><xsl:value-of select="/form/path"/></url> </config> </p:input> <p:output name="data" id="url-config"/> </p:processor> <!-- Generate page --> <p:processor uri="oxf/processor/url-generator"> <p:input name="config" href="#url-config"/> <p:output name="data" id="file"/> </p:processor> <!-- Transform the html into a stylesheet --> <p:processor uri="oxf/processor/xslt"> <p:input name="config" href="/preview.xsl"/> <p:input name="data" href="#file"/> <p:output name="data" id="xsl"/> </p:processor> ... Perhaps it's worth it to mention what I am trying to accomplish altogether. I want to have a preview area that a web designer using dreamweaver can create the whole information architecture. E.g., http://my.com/pre/ and all the pages there are xhtml pages. To display these, I need to transform them to xsl so that I can merge (transform) with sample data. The publishing phase involves moving the preview pages to their real locations, http://my.com/ , adjusting links (snip 'pre/') and doing the first transform so they are already xsl. The published pages are transformed against real data and have complete controller rules. Thanks greatly for any inputs, Hank ----- Original Message ----- From: "Erik Bruchez" <[EMAIL PROTECTED]> To: "OXF Users" <[EMAIL PROTECTED]> Sent: Thursday, February 05, 2004 12:02 PM Subject: Re: Creating default processing rules > Hi Hank, > > This is actually quite easy. The controller gives you the possibility > to pass groups matched by the regexp matcher into the XForms > instance. There is an example here: > > http://www.orbeon.com/oxf/doc/reference-controller#N10225 > > So you have to create an XForms model, for example: > > <xf:model xmlns:xf="http://www.w3.org/2002/xforms"> > <xf:instance> > <form> > <path/> > </form> > </xf:model> > > Then, pass the instance to your default.xpl: > > <p:param name="instance" type="input"/> > > Then, you can access to the path with /form/path. What you probably > want to do at that point is use the URL generator to create the local > URL, for example: > > <p:processor uri="oxf/processor/url-generator"> > <p:input name="config" href="aggregate('config', > #instance#xpointer(concat('oxf:/', /form/path)))"/> > <p:output name="data" id="file"/> > </p:processor> > > What I am doing here in the input href is creating a configuration > document for the URL generator. You may also do this with XSLT: > > <p:processor uri="oxf/processor/xslt"> > <p:input name="data" href="#instance"/> > <p:input name="config"> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:template match="/"> > <config><xsl:value-of select="/form/path"/></config> > </xsl:template> > </xsl:stylesheet> > </p:input> > <p:output name="data" id="url-config"/> > </p:processor> > > Which is even easier with XSLT 2.0: > > <p:processor uri="oxf/processor/xslt-2.0"> > <p:input name="data" href="#instance"/> > <p:input name="config"> > <config xsl:version="2.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:value-of select="/form/path"/> > </config> > </p:input> > <p:output name="data" id="url-config"/> > </p:processor> > > You can reference the data by referring to href="#file" in a processor > input. > > If the file is actually an HTML file, you will have to specify the > content-type in the generator: > > <p:processor uri="oxf/processor/xslt-2.0"> > <p:input name="data" href="#instance"/> > <p:input name="config"> > <config xsl:version="2.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <url><xsl:value-of select="/form/path"/></url> > <content-type>text/html</content-type> > </config> > </p:input> > <p:output name="data" id="url-config"/> > </p:processor> > > You have to use the URL generator because the input href="..." only > support statically constructed references to either URLs > (e.g. href="oxf:/myfile.html"), or references to processor outputs or > pipeline inputs (e.g. href="#my-output"). > > I hope this helps. > > -Erik > > Hank Ratzesberger wrote: > > > I would like to have a default pipeline get > > applied to all files of the same type. My > > default pipleline converts the html to xsl, then > > runs the xsl with a preferences xml file to get > > site-wide defaults. > > > > All *.html files should have this two-step > > processing, convert to XSL, transform with the > > preferences XML file. > > > > I guess the problem is I don't know how to > > reference the file the controller is looking at, > > that is, what is the local directory for the file? > > I need to pass that url as the data input to > > my first processor statement. > > > > (BTW, is the html serializer necessary?) > > > > Thanks for any tips. > > --Hank > > > > ============================================ > > Replying to a list? I'll get my copy there! > > > > Hank Ratzesberger > > http://crustal.ucsb.edu/ | http://neesgrid.org/ > > Institute for Crustal Studies > > University of California, Santa Barbara > > ============================================ > > > > > > > > > > Snippet from controller.xml: > > > > <page path-info="/(*.html)" > > matcher="oxf/processor/perl5-matcher" > > model="oxf:/default.xpl"> > > </page> > > > > > > default.xpl: > > > > > > <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline"> > > > > <!-- Transform the xhtml into a stylesheet --> > > <!-- This step is only for preview pages --> > > > > <p:processor uri="oxf/processor/xslt"> > > <p:input name="config" href="./index.xsl"/> > > <!-- WHERE IS THIS URL? THE ONE GETTING EVALUATED IN CONTROLLER.XML? --> > > <p:input name="data" href="./index.html"/> > > <p:output name="data" id="xsl"/> > > </p:processor> > > > > > > <!-- Process xml data with stylesheet. All inputs are aggregated under > /root --> > > > > <p:processor uri="oxf/processor/xslt"> > > <p:input name="config" href="#xsl"/> > > <p:input name="data" href="aggregate('root', /site-prefs.xml)"/> > > <p:output name="data" id="data"/> > > </p:processor> > > > > > > <!-- Deliver html --> > > > > <p:processor uri="oxf/processor/html-serializer"> > > <p:input name="config"> > > <config/> > > </p:input> > > <p:input name="data" href="#data"/> > > </p:processor> > > > > </p:config> > > > > > > _______________________________________________ > > oxf-users mailing list > > [EMAIL PROTECTED] > > http://mail.orbeon.com/mailman/listinfo/oxf-users > > > _______________________________________________ > oxf-users mailing list > [EMAIL PROTECTED] > http://mail.orbeon.com/mailman/listinfo/oxf-users _______________________________________________ oxf-users mailing list [EMAIL PROTECTED] http://mail.orbeon.com/mailman/listinfo/oxf-users
