xml + xslt在IE 9中无法正确呈现

时间:2013-06-23 07:23:53

标签: xml internet-explorer xslt

我刚刚编写了一个xml文件(Order.xml)并希望使用xsl(order.xsl)渲染它。当我尝试在IE 9中启动Order.xml时,它只显示没有任何样式的纯文本。

但是对于从web(用于演示目的)复制(food.xml)的xml文件,可以使用xsl(food1.xsl)文件中指定的正确样式。

Order.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="order.xsl"?>
<PRODUCTDATA>
    <PRODUCT PRODID="001">
        <PRODUCTNAME>Barbie Doll</PRODUCTNAME>
             <DESCRIPTION>This is a toy for children in the age group of                 5-10 years</DESCRIPTION>
        <PRICE>$20.00</PRICE>
        <QUANTITY>12</QUANTITY>
    </PRODUCT>
</PRODUCTDATA>

order.xsl

<?xml version="1.0" encoding="ISO-8859-1"?>
<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="PRODUCTDATA/PRODUCT"">
      <div style="background-color:teal;color:white;padding:4px">
        <span style="font-weight:bold"><xsl:value-of select="PRODUCTNAME"/></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="QUANTITY"/> 
        </span>
      </div>
    </xsl:for-each>
  </body>
</html>

food.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<?xml-stylesheet type="text/xsl" href="food1.xsl"?>
<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>

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

任何帮助将不胜感激。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

order.xsl

中删除此行中的额外双引号
<xsl:for-each select="PRODUCTDATA/PRODUCT"">