0

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

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

订单.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>

订单.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>

食物.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>

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

4

1 回答 1

0

在您的 : 中删除此行上多余的双引号order.xsl

<xsl:for-each select="PRODUCTDATA/PRODUCT"">
于 2013-06-23T08:33:15.893 回答