1

我想将 html 转换为 xml,执行转换 XSLT,但我看到这个错误:

<message>
Impossible to read XSLT from 'file:/home/antonmm/src/cardMarket/cocoon-cardmarket/src/main/resources/COB-INF/xsl/productCard.xsl', see nested exception
</message>
<stacktrace>
org.apache.cocoon.pipeline.SetupException: Impossible to read XSLT from 'file:/home/antonmm/src/cardMarket/cocoon-cardmarket/src/main/resources/COB-INF/xsl/productCard.xsl', see nested exception at org.apache.cocoon.sax.component.XSLTTransformer.loadXSLT(XSLTTransformer.java:168) at org.apache.cocoon.sax.component.XSLTTransformer.setConfiguration(XSLTTransformer.java:205) at ......

封锁在茧中:

  <map:pipeline>
    <map:match pattern="product">
<!--       <map:generate src="sample/p.xml"/> -->
      <map:generate src="https://productweb.com"/>
      <map:transform src="xsl/product.xsl" />
      <map:serialize type="xml"/>
    </map:match>
  </map:pipeline>

产品.xsl:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
  xmlns:x="http://www.w3.org/1999/xhtml" />
  <xsl:template match="/">
    <img>
      <xsl:apply-templates />
    </img>
  </xsl:template>
  <xsl:template match="x:span[@class='prodImage']/x:img">
    <xxx>
      <value-of select="@src"/>
    </xxx>

  <xsl:template match="text()"/>

</xsl:stylesheet>
4

1 回答 1

1

通常这种错误不会出现在格式错误的 XSLT 文件或语法错误中。

这是因为 XSLT 文件的可用性。确保您已正确指定文件名。尝试从资源管理器或浏览器访问您指定的文件路径(这将验证文件路径和文件名)。文件扩展名也应与您指定的相同。如果您指定 as*.xsl并且实际文件是,*.xslt则它是不可访问的。

于 2013-02-14T07:00:18.793 回答