2

我在我的 XSL-FO 文件中有一个 xsi:schemaLocation 只是为了知道哪些属性/标签可用。不幸的是,我从变压器中得到了一个例外:

org.apache.fop.fo.ValidationException:在“fo:root”上遇到无效属性:xsi:schemaLocation

在我看到的FopFactory上有一个方法叫ignoreNamespace,但是它不起作用或者我不知道如何正确编写它。我有:

FopFactory fopFactory = FopFactory.newInstance();
fopFactory.ignoreNamespace("xsi:schemaLocation");

怎么做才对?

我的 XSL-FO 的根是这样的:

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            font-family="Arial" 
            xsi:schemaLocation="http://www.w3.org/1999/XSL/Format http://www.xmlblueprint.com/documents/fop.xsd">
4

1 回答 1

2

ignoreNamespace 函数采用命名空间标识符,在本例中为 URL:http ://www.w3.org/2001/XMLSchema-instance 。以下应该为您解决问题:

fopFactory.ignoreNamespace("http://www.w3.org/2001/XMLSchema-instance");
于 2012-10-08T14:24:22.563 回答