首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >org.eclipse.wst.xsl.jaxp.debug.invoker.TransformationException

org.eclipse.wst.xsl.jaxp.debug.invoker.TransformationException
EN

Stack Overflow用户
提问于 2013-02-04 15:11:16
回答 2查看 4.6K关注 0票数 1

当我在eclips环境中传输xml文件时,我得到这个错误。

代码语言:javascript
复制
12:29:58,946 FATAL [main] Main  - No embedded stylesheet instruction for file: file:/C:/ANU_DOC/MyWS/xslt/file1/source.xml
org.eclipse.wst.xsl.jaxp.debug.invoker.TransformationException: No embedded stylesheet instruction for file: file:/C:/ANU_DOC/MyWS/xslt/file1/source.xml
    at org.eclipse.wst.xsl.jaxp.debug.invoker.internal.JAXPSAXProcessorInvoker.transform(JAXPSAXProcessorInvoker.java:225)
    at org.eclipse.wst.xsl.jaxp.debug.invoker.internal.JAXPSAXProcessorInvoker.transform(JAXPSAXProcessorInvoker.java:186)
EN

回答 2

Stack Overflow用户

发布于 2013-02-04 16:48:23

如果我没猜错的话,您的代码没有正确引用XSL文件。您需要验证在代码中是否正确引用了XML和XSLT文件。

或者post调用转换的Java代码(可能是5行代码(最多))。如何引用XML和XSL源代码在这里很重要。

我发布了示例代码供您参考:

其中,input.xml和input.xsl是位于bin文件夹中的文件。(或者,如果从Eclipse IDE运行,则位于与.project文件相同的位置)

代码语言:javascript
复制
 TransformerFactory factory = TransformerFactory.newInstance();
 Transformer transformer = factory.newTransformer(new StreamSource(new File("input.xslt")));
 Source text = new StreamSource(new File("input.xml"));
 transformer.transform(text, new StreamResult(new File("output.xml")));

示例代码2:(这里的XSL代码是作为字符串传递的)

代码语言:javascript
复制
TransformerFactory factory = TransformerFactory.newInstance();
String sxslt = "<?xml version=\"1.0\"?><xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">    <xsl:output indent=\"no\" />    <xsl:template match=\"@*|node()\">        <xsl:copy>            <xsl:apply-templates select=\"@*|node()\"/>        </xsl:copy>    </xsl:template></xsl:stylesheet>";
StringReader xslReader = new StringReader(sxslt);
Source xslt = new StreamSource(xslReader);
Transformer transformer = factory.newTransformer(xslt);
Source text = new StreamSource(new File("input.xml"));
transformer.transform(text, new StreamResult(new File("output.xml")));
票数 0
EN

Stack Overflow用户

发布于 2013-02-04 17:08:38

我现在能够做到这一点..这是因为我在那里添加了新的JAXP,我删除了它,现在它工作得很好。如果我在xml文件中调用一个方法,会得到

代码语言:javascript
复制
14:34:01,696 ERROR [main] JAXPSAXProcessorInvoker  - Cannot find class 'java:com.xslt.date.GetDateNow'.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14681927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档