Apache FOP和xsi:schemaLocation - 如何忽略?

时间:2012-10-08 13:05:06

标签: java apache-fop

我的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">

1 个答案:

答案 0 :(得分:2)

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

fopFactory.ignoreNamespace("http://www.w3.org/2001/XMLSchema-instance");