0

Possible Duplicate:
Can chrome be made to perform an xsl transform on a local file?

Taking from this example: http://www.w3schools.com/xml/simplexsl.xml

I have two files sitting on my desktop: simple.xsl and simplexsl.xml, when I open them with Opera, FF4, IE9 and Safari... they come out properly and such. When I use Chrome however... I get a blank page. Help!

(if someone can just copy and paste these and open to see if it works on Chrome 10 for them it would be great!)

simple.xsl

<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- Edited by XMLSpy® -->

<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">

  <body style="font-family:Arial;font-size:12pt;background-color:#EEEEEE">

    <xsl:for-each select="breakfast_menu/food">

      <div style="background-color:teal;color:white;padding:4px">

        <span style="font-weight:bold"><xsl:value-of select="name"/></span>

        - <xsl:value-of select="price"/>

      </div>

      <div style="margin-left:20px;margin-bottom:1em;font-size:10pt">

        <xsl:value-of select="description"/>

        <span style="font-style:italic">

          <xsl:value-of select="calories"/> (calories per serving)

        </span>

      </div>

    </xsl:for-each>

  </body>

</html>

simplexsl.xml

<?xml version="1.0" encoding="ISO-8859-1"?>

<?xml-stylesheet type="text/xsl" href="simple.xsl" ?>

<!-- Edited by XMLSpy® -->

<breakfast_menu>

    <food>

        <name>Belgian Waffles</name>

        <price>$5.95</price>

        <description>two of our famous Belgian Waffles with plenty of real maple syrup</description>

        <calories>650</calories>

    </food>

    <food>

        <name>Strawberry Belgian Waffles</name>

        <price>$7.95</price>

        <description>light Belgian waffles covered with strawberries and whipped cream</description>

        <calories>900</calories>

    </food>

    <food>

        <name>Berry-Berry Belgian Waffles</name>

        <price>$8.95</price>

        <description>light Belgian waffles covered with an assortment of fresh berries and whipped cream</description>

        <calories>900</calories>

    </food>

    <food>

        <name>French Toast</name>

        <price>$4.50</price>

        <description>thick slices made from our homemade sourdough bread</description>

        <calories>600</calories>

    </food>

    <food>

        <name>Homestyle Breakfast</name>

        <price>$6.95</price>

        <description>two eggs, bacon or sausage, toast, and our ever-popular hash browns</description>

        <calories>950</calories>

    </food>

</breakfast_menu>
Community
  • 1
  • 1
stockoverflow
  • 1,397
  • 4
  • 17
  • 22
  • 2
    duplicate of [Can chrome be made to perform an xsl transform on a local file?](http://stackoverflow.com/q/3828898/211232) – WReach Apr 24 '11 at 14:56
  • It's a known issue that Webkit doesn't honor stylesheet under `file:` protocol. Under `http:` protocol (local server) it works as expected. –  Apr 25 '11 at 14:15

1 Answers1

0

Update:

See this answer -- seems that Chrome doesn't support loading of XML files at all.

Not all XSLT processors support embedded XSLT stylesheets.

Change your code (this is very easy to do as it only involves adding a top <xsl:stylesheet> element and wrapping all the code into an <xsl:template match="/"> element) to this true XSLT stylesheet:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
 <xsl:template match="/">
 <html>
    <body style="font-family:Arial;font-size:12pt;background-color:#EEEEEE">
        <xsl:for-each select="breakfast_menu/food">
            <div style="background-color:teal;color:white;padding:4px">
                <span style="font-weight:bold">
                    <xsl:value-of select="name"/>
                </span>          - 
                <xsl:value-of select="price"/>
            </div>
            <div style="margin-left:20px;margin-bottom:1em;font-size:10pt">
                <xsl:value-of select="description"/>
                <span style="font-style:italic">
                    <xsl:value-of select="calories"/> (calories per serving)          
                </span>
            </div>
        </xsl:for-each>
    </body>
</html>
</xsl:template>
</xsl:stylesheet>
Community
  • 1
  • 1
Dimitre Novatchev
  • 230,371
  • 26
  • 281
  • 409