我的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">
答案 0 :(得分:2)
ignoreNamespace函数采用名称空间标识符,在本例中为URL:http://www.w3.org/2001/XMLSchema-instance。以下内容应该为您解决问题:
fopFactory.ignoreNamespace("http://www.w3.org/2001/XMLSchema-instance");