Altova XMLSpy中的XSL:FO转换



我将Altova XMLSpy映射到Apache FOP以进行XSL:FO转换(Tools->Options->XSL->Selected FOP.bat),然后我编写了一个简单的HelloWorld输出,并试图将XSL:FO转换为PDF输出,但XMLSpy抛出了这个错误"临时文件无法创建!访问被拒绝",有人能告诉我为什么会出现这个错误以及如何解决吗?

        <?xml version="1.0" encoding="utf-8"?>
            <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
              <fo:layout-master-set>
                <fo:simple-page-master master-name="hello"
                page-height="11in"  page-width="8.5in" margin-top="1in" 
                margin-bottom="1in" margin-left="1in" margin-right="1in">
                  <fo:region-body margin-top="1in" margin-bottom=".5in"/>
                </fo:simple-page-master>
              </fo:layout-master-set>
              <fo:page-sequence master-reference="hello">
                <fo:flow flow-name="xsl-region-body">
                  <fo:block font-size="18pt" text-align="center" font-weight="bold">
                    Hello World!
                  </fo:block>
                </fo:flow>
              </fo:page-sequence>
            </fo:root>

Altova网站提到:

这是IE的一个问题。当您直接从电子邮件文件保存在临时文件夹中。XMLSpy®2012可以处理此问题并成功保存,从而显示一个XML文件。IE另一方面,不能成功地做到这一点,并提供"访问拒绝"消息。首先保存文件将使IE显示它正确地

这会是你的问题吗?它肯定与Altova XMLSpy有关,而不是与特定的XML或XSL有关。

我将一些html复制/粘贴到一个新的、未保存的Xmlspy html文档中。然后我从文本视图切换到浏览器视图。Xmlspy显示错误"无法创建临时文件"、"拒绝访问"。当我运行procmon时,发现Xmlspy试图将文件创建为"C:\Program Files(x86)\Altova\XMLSpy2013\tmp000.html"。由于我运行的是Windows 8,"C:\Program Files(x86)"下的所有文件和目录都需要提升的权限才能创建/更新/删除。

这是Xmlspy缺陷。他们需要在正确的位置创建临时文件。我想,如果您真的需要它工作,您可以使用提升的权限运行Xmlspy。我并不那么需要它。

最新更新