2016-03-08 22 views
1

我将这两个文件都放在同一本地文件夹中。 XML文件是1.xml,而xsl文件是1.xsl。当我在Chrome中打开xml时,它显示为空,并为xsl文件提供此消息“此XML文件似乎没有任何与其关联的样式信息,文档树如下所示。和xml树。Chrome不会将我的XSLT样式表应用于本地XML文件

这是我的XML

 <?xml version="1.0"?> 
     <?xml-stylesheet type="text/xsl" href="1.xsl"?> 

     <myBcollection> 
     <businesscard> 
     <organisation>V of S</organisation> 
     <address> 
      <no>42</no> 
      <street>Foster Street</street> 
      <city>Sydney</city> 
      <county>sss</county> 
     </address> 
     <contactdetails> 
      <contactNo type="landline">+94 71232312</contactNo> 
      <fax>313234</fax> 
      <email>[email protected]</email> 
     </contactdetails> 
     <website uri="http://w3.org"/> 
    </businesscard> 

    <businesscard> 
     <organisation>Org 2</organisation> 
     <address> 
      <no>42</no> 
      <street>Foster Street</street> 
      <city>Sydney</city> 
      <county>sss</county> 
     </address> 
     <contactdetails> 
      <contactNo type="landline">1232312</contactNo> 
      <fax>313234</fax> 
      <email>[email protected]</email> 
     </contactdetails> 
     <website uri="http://w3.org"/> 
    </businesscard> 

    <businesscard> 
     <organisation>Org 3</organisation> 
     <address> 
      <no>42</no> 
      <street>Foster Street</street> 
      <city>Sydney</city> 
      <county>sss</county> 
     </address> 
     <contactdetails> 
      <contactNo type="landline">+94 71232312</contactNo> 
      <fax>313234</fax> 
      <email>[email protected]</email> 
     </contactdetails> 
     <website uri="http://w3.org"/> 
    </businesscard> 
</myBcollection> 

,这是我的XSL

<?xml version="1.0" encoding="UTF-8"?> 
    <xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

    <xsl:template match="/"> 
    <html> 
    <body> 

    <table border="1"> 
     <tr> 
     <th>Org nm</th> 
     <th>Adress Street</th> 
     <th>City</th> 
     <th>County</th> 
     <th>Fax</th> 
     </tr> 

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

     <tr> 

     <td><xsl:value-of select="myBcollection/businesscard/organisation"/></td> 
     <td><xsl:value-of select="myBcollection/businesscard/address/street"/></td> 
     <td><xsl:value-of select="myBcollection/businesscard/address/city"/></td> 
     <td><xsl:value-of select="myBcollection/businesscard/address/county"/></td> 
     <td><xsl:value-of select="myBcollection/businesscard/contactdetails/fax"/></td> 
     </tr> 
     </xsl:for-each> 
    </table> 

</body> 
</html> 
</xsl:template> 
</xsl:stylesheet> 
+0

我用'firefox'测试了它,一切正常。可能是客户端XSLT转换带来的“chrome”安全问题。例如,NoScript也会在'firefox'中阻止它。尝试禁用'file:/// ...'的一些安全设置。 – zx485

+0

http://stackoverflow.com/questions/2981524/how-can-i-make-xslt-work-in-chrome –

+1

这是Chrome的安全设置。您不能像这样使用本地XSL样式表;样式表必须位于Web服务器上,而服务器与XML相同。 – Flynn1179

回答

0

你可能无法与镀铬本地使用XSL表,但你可以使用HTML样式元素设计你的xml,你只需要确保你使用了html命名空间。这里是一些样式的xml示例。

<?xml version="1.0" encoding="UTF-8"?> 
<note> 
    <style xmlns="http://www.w3.org/1999/xhtml"> 
     to, from, heading, body {display: block; } 
    </style> 
    <to>Tove</to> 
    <from>Jani</from> 
    <heading>Reminder</heading> 
    <body>Don't forget me this weekend!</body> 
</note> 
相关问题