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 に答える