Предоставление параметров для программы XSLT с использованием Java API - PullRequest
1 голос
/ 10 мая 2011

Что я хочу сделать, это:

setParameter(String name, String value)

Но API это:

void setParameter(QName name, XdmValue value)

Я не могу найти ни одного примера для правильного создания XdmValue и QName, примеров, которые я обнаружил , все используют разные версии этой функции / api.

1 Ответ

6 голосов
/ 10 мая 2011

Очень часто параметры имеют имена, которые не находятся в пространстве имен, поэтому вы можете создать QName, используя конструктор new QName("p").Если значение параметра является строкой, вы можете создать значение, используя new XdmAtomicValue("value").Таким образом, ваш пример сокращается до

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

. При разработке подобного API, нужно тщательно оценить, как сбалансировать простоту, возникающую от предоставления «быстрых» методов для простых простых случаев, и сложность, которая исходитимея миллионы методов.Поэтому я предоставил new QName(string), но я не предоставил setParameter(string, string).

...