Subject: Re: [xsl] XML allowing variable XSL application for browsers? From: "M. David Peterson" <m.david.x2x2x@xxxxxxxxx> Date: Thu, 21 Apr 2005 00:48:58 -0600 |
Whoa! Thats a lot of disparate processes to invoke. It seems this should be a lot simpler and in fact, is. Chris Bayes shows you the basics of how to do this and then extends things into as a PowerToy to dynamically swtich the stylesheets. http://www.bayes.co.uk/xml/portal.aspx?page=/xml/index.xml&subpage=/xml/utils /multiple.xml Using embedded PIs to determine the proper styesheet to use is by far the easiest as it doesnt require any extra code in form of client-side Javasript to initialize the transformation. A great way to handle both -- wait, Safari just got client-side XSLT so I guess that means we need to start saying "A great way to handle all three" although I here there's all sorts of Java hell breaking lose after the install of the latest OSX release and as such creating a Monty Python-styled "RUN AWAY" circus... Im sure they will fix that soon if not already so using "all three" should be a safe usage bet. Anyway, a great way to handle the differences between each of the processors (MSXML, TransforMiiX, libxslt) is to use the xsl:vendor function to determine which processor this is. Embedded with a Choose When Otherwise block will then allow you to use a "start" template to store each processors nuisances within an outside XML document that contains the proper data values to be used instead of what would normally be used, etc... By using the mode attribute of xsl:template and xsl:apply-templates you can easily "label" the entry template for each processor without missing a beat in regards to a well designed, template-based transformation process (using a named template would require you to pass "/" as a parameter each time which, depending on the size of the tree, could become quite massive and as such drive permonance of your application down. Named-templates serve a very important set of aspects in the world of XSLT development, but this example isnt one them. Hope this helps! On 4/20/05, Aron Bock <aronbock@xxxxxxxxxxx> wrote: > John, here's one way to approach this: > > 1) send the browser an HTML document, with an embedded XML data island, and > multiple XSL islands, each corresponding to a transform. They need not be > "embedded", but in many cases I prefer this. > > 2) in the body-load event, use client-side [java]script to apply one of the > XSLs to the XML and display > > 3) at server or client build a dropdown of other transforms ("views"); each > corresponds to an XSL island; when selected use script to apply the > corresponding XSL to the XML and redisplay. All this happens without a > server round-trip. > > See this link for starters: http://xmlfiles.com/xsl/xsl_client.asp . Also > look into "Sarissa", which has been mentioned on this NG as a cross-browser > XML-related script library. > > Regards, > > --A > > >From: John <john-xsl-list@xxxxxxxx> > >Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > >To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > >Subject: [xsl] XML allowing variable XSL application for browsers? > >Date: Wed, 20 Apr 2005 14:14:51 -0700 > > > >I have an XML file on a web server which references an XSL with code as > >follows: > > > ><?xml-stylesheet type="text/xsl" href="somefile.xsl"?> > > > >When IE or Firefox requests this XML file, the browser detects the > >stylesheet reference and applies it to the XML to transform it into HTML. > >This works great, but what if I want to let the user choose from multiple > >XSL files which can be applied to the same XML? My first thought was URL > >parameters (which I otherwise generally avoid), but I am not sure if there > >is any URL parameter that can override the stylesheet referenced in the XML > >file. I was then thinking multiple XML files that basically contain the > >XSL reference and an entity reference (keeping the XML in a separate file), > >or using document() in the XSL files to open the content XML, but I would > >prefer to avoid that if possible. > > > >Does anyone have any recommendations, pros and cons of the various > >techniques? > > > >Thanks & regards, > > > > -John > > > > _________________________________________________________________ > Is your PC infected? Get a FREE online computer virus scan from McAfee(r) > Security. http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963 > > -- <M:D/> :: M. David Peterson :: XML & XML Transformations, C#, .NET, and Functional Languages Specialist
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] XML allowing variable XSL, Aron Bock | Thread | Re: [xsl] XML allowing variable XSL, M. David Peterson |
RE: [xsl] How to get the sibling no, Jarno.Elovirta | Date | RE: RE: [xsl] tansforming an XML in, Pierre-Yves |
Month |