![]() |
Transform XML to HTML only for Browsers
Hi Folks,
Beg pardon for this simplistic question (I've searched via Google but got lost with all the terminology). An application I have created dumps out some data in XML format to a file. I want the file to remain unchanged so that other applications can open it and read the data contained in there. But, if someone points a browser at the file I want the XML file to be transformed via an XSLT script into HTML so that it looks pretty on the screen instead of collections of angled-bracketed data lumps. So the transform only occurs when some browser looks at the file; any other program looking at the file will see only plain XML. Can this be engineered? Any help appreciated; thanks in advance Mungo Henning |
Re: Transform XML to HTML only for Browsers
Using XSLTs to transform you XML to HTML will require a server side
engine like Cocoon to perform the transformation. You can instead use a CSS to perform the transformation. Here are some links with more information on this: http://www.xml-dev.com/blog/#18 http://www.w3.org/TR/xml-stylesheet/ e.g. http://unadorned.org/waspchump/xml/index.xml In Peace Saqib Ali http://validate.sf.net |
Re: Transform XML to HTML only for Browsers
one more interesting site:
http://www.badgers-in-foil.co.uk/projects/docbook-css/ In Peace, Saqib Ali http://validate.sf.net |
Re: Transform XML to HTML only for Browsers
Mungo Henning wrote:
> An application I have created dumps out some data in XML format to a file. > > I want the file to remain unchanged so that other applications can open > it and read the data contained in there. > > But, if someone points a browser at the file I want the XML file to be > transformed via an XSLT script into HTML so that it looks pretty on the screen > instead of collections of angled-bracketed data lumps. > > So the transform only occurs when some browser looks at the file; any other > program looking at the file will see only plain XML. You may take a look at the HTTP Accept header. If the requesting user agent wants text/html, you perform the transformation, otherwise send the raw XML. And make sure that the 'other applications' don't order text/html in the Accept header. -- Johannes Koch In te domine speravi; non confundar in aeternum. (Te Deum, 4th cent.) |
Re: Transform XML to HTML only for Browsers
Mungo Henning wrote:
> Hi Folks, > Beg pardon for this simplistic question (I've searched via Google but got > lost with all the terminology). > > An application I have created dumps out some data in XML format to a file. > > I want the file to remain unchanged so that other applications can open > it and read the data contained in there. > > But, if someone points a browser at the file I want the XML file to be > transformed via an XSLT script into HTML so that it looks pretty on the screen > instead of collections of angled-bracketed data lumps. > > So the transform only occurs when some browser looks at the file; any other > program looking at the file will see only plain XML. > > Can this be engineered? Recent versions of Internet Explorer and Netccape/Mozilla can render XML contents with CSS or XSL stylesheets. So simply create an adequate stylesheet and put a reference to it in your XML documents. The documents will be nicely displayed in these browsers. -- To reply by e-mail, please remove the extra dot in the given address: m.collado -> mcollado |
Re: Transform XML to HTML only for Browsers
In article <de92d65.0410202057.3b685694@posting.google.com> ,
rumionfire@gmail.com writes: > Using XSLTs to transform you XML to HTML will require a server side > engine like Cocoon to perform the transformation. No need for anything so heavyweight as cocoon. See for example http://www.outoforder.cc/projects/apache/mod_transform/ I offer users choice of format for XML reports. So http://my.server/reports/foobar <=== raw XML http://my.server/reports/foobar.html <=== HTML for browsers http://my.server/reports/foobar.rdf <=== semweb -- Nick Kew Nick's manifesto: http://www.htmlhelp.com/~nick/ |
Re: Transform XML to HTML only for Browsers
> No need for anything so heavyweight as cocoon. See for example
Yea there are many other lightweight solutions like AxKit, and other PHP based apps that can do the trasnformation. But they all require extra server component etc. Using CSS to display the contents in a browser, does not require any serverside add-ons. In Peace, Saqib Ali http://validate.sf.net |
| All times are GMT. The time now is 09:14 PM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.