开发者

Trouble displaying XML file styled by XSLT on Chrome browser [duplicate]

开发者 https://www.devze.com 2023-02-28 15:30 出处:网络
This question already has answers here: Closed 11 years ago. Possible Duplicate: Can chrome be made to perform an xsl transform on a local file?
This question already has answers here: Closed 11 years ago.

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"/>

      &开发者_StackOverflow社区lt;/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>


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

精彩评论

暂无评论...
验证码 换一张
取 消