1

私がやりたいことは:

setParameter(String name, String value)

しかし、APIは次のとおりです。

void setParameter(QName name, XdmValue value)

XdmValueとQNameを適切に作成するための例が見つかりません。見つけた例すべて、この関数/APIの異なるバージョンを使用しています。

4

1 に答える 1

6

多くの場合、パラメーターの名前は名前空間にないため、コンストラクターを使用してQNameを作成できますnew QName("p")。パラメータ値が文字列の場合は、を使用して値を作成できますnew XdmAtomicValue("value")。したがって、あなたの例は次のようになります

setParameter(new QName(name), new XdmAtomicValue(value))

このようなAPIを設計する際には、一般的な単純なケースに「ショートカット」メソッドを提供することによる単純さと、無数のメソッドを持つことによる複雑さのバランスをとる方法を慎重に判断する必要があります。だから私は提供new QName(string)しましたが、提供しませんでしたsetParameter(string, string)

于 2011-05-10T09:38:38.313 に答える