Transform XML to HTML only for Browsers

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Mungo Henning

    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
  • rumionfire@gmail.com

    #2
    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:




    e.g.


    In Peace
    Saqib Ali

    Comment

    • rumionfire@gmail.com

      #3
      Re: Transform XML to HTML only for Browsers

      one more interesting site:



      In Peace,
      Saqib Ali

      Comment

      • Johannes Koch

        #4
        Re: Transform XML to HTML only for Browsers

        Mungo Henning wrote:[color=blue]
        > 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.[/color]

        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.)

        Comment

        • Manuel Collado

          #5
          Re: Transform XML to HTML only for Browsers

          Mungo Henning wrote:
          [color=blue]
          > 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?[/color]

          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

          Comment

          • Nick Kew

            #6
            Re: Transform XML to HTML only for Browsers

            In article <de92d65.041020 2057.3b685694@p osting.google.c om>,
            rumionfire@gmai l.com writes:[color=blue]
            > Using XSLTs to transform you XML to HTML will require a server side
            > engine like Cocoon to perform the transformation.[/color]

            No need for anything so heavyweight as cocoon. See for example


            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/

            Comment

            • rumionfire@gmail.com

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

              Comment

              Working...