2011-04-24 100 views
0

可能重複:http://www.w3schools.com/xml/simplexsl.xml故障顯示XML文件

我坐在我的桌面上的兩個文件:
Can chrome be made to perform an xsl transform on a local file?

從這個例子考慮: simple.xslsimplexsl.xml,當我用Opera,FF4,IE9和Safari打開它們時......它們正確地出來了。但是,當我使用Chrome時...我得到一個空白頁。幫幫我!

(如果有人可以複製和粘貼這些開放的,看它是否適用於Chrome 10對他們來說將是巨大的!)

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> 
+2

重複的[可鉻在本地文件上執行xsl轉換?](http://stackoverflow.com/q/3828898/211232) – WReach 2011-04-24 14:56:26

+0

這是一個已知的問題,Webkit不遵循'file:'協議下的樣式表。在'http:'協議(本地服務器)下,它按預期工作。 – 2011-04-25 14:15:48

回答

0

更新

請參閱this answer - 似乎Chrome根本不支持加載XML文件。

並非所有XSLT處理器都支持嵌入式XSLT樣式表

更改您的密碼(這是很容易做到的,因爲它只涉及到增加頂部<xsl:stylesheet>元素和包裝所有的代碼爲<xsl:template match="/">元素)到這個真實的XSLT樣式表:

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

好吧,完成但仍然沒有工作... – stockoverflow 2011-04-25 07:22:14

+0

@stockoverflow:正如我在更新中所說,這似乎是不可能與Chrome - 你需要使用一些JavaScript來啓動XSLT轉換。 – 2011-04-25 12:30:39

+0

謝謝,我可以鏈接到這個Javascript代碼段 – stockoverflow 2011-04-25 13:20:50